随笔分类 -  Unity3D

摘要:Lerp更像是线性衰减,而SmoothDamp像是弧形衰减,两者都是由快而慢 其中SmoothDamp多用于相机跟随。 SmoothDamp: transform.position = Vector3.SmoothDamp(transform.position, target.position, r 阅读全文
posted @ 2016-02-11 20:14 HONT 阅读(1754) 评论(0) 推荐(1)
摘要:可见是Collider的Bounds 阅读全文
posted @ 2016-02-11 19:22 HONT 阅读(1016) 评论(0) 推荐(0)
摘要:近期将之前的跑酷游戏demo拿出来重新做了一遍,解决了之前2个遗留bug。 虽然罪魁祸首都是FixedUpdate,但细节又不太一样。这里记录一下 1.点击空格键,角色会跳跃。而有时会跳的比之前高很多(使用Rigidbody.AddForce) 解决: AddForce之前应该清一下速率,因为是射线 阅读全文
posted @ 2016-02-07 19:56 HONT 阅读(4154) 评论(0) 推荐(0)
摘要:出处:http://answers.unity3d.com/questions/578393/clear-console-through-code-in-development-build.html Debug.ClearDeveloperConsole()也可以用,但稍麻烦些。 阅读全文
posted @ 2016-02-07 19:06 HONT 阅读(1904) 评论(0) 推荐(0)
摘要:网上有一个版本,但是调了半天用不了。于是自己动手写了一个 单个预览 批量预览 使用: 下载地址: https://files.cnblogs.com/files/hont/AnimatorClipPreviewer1.1.zip 阅读全文
posted @ 2016-01-10 22:18 HONT 阅读(1118) 评论(0) 推荐(0)
摘要:回到 Animator深入系列总目录 测试Unity版本为5.2.1 人形动画的接口都有标注 本列表不包含所有标注为过时的方法 目前该详解还有不少缺漏,有时间持续更新 2016/8/16更新CrossFadeInFixedTime接口描述 1.Vector3 angularVelocity { ge 阅读全文
posted @ 2016-01-04 22:19 HONT 阅读(25352) 评论(0) 推荐(4)
摘要:回到 Animator深入系列总目录 1.状态 1.1状态简介 简单的不做介绍了,需要特别注意: Paramter勾选后可以指定参数控制具体属性 Write Defaults勾选后表示播放这个状态时,是只运用动画剪辑修改的几个关键字属性(不勾选),还是应用所有属性(勾选)。 举个例子,一个第三人称角 阅读全文
posted @ 2016-01-04 16:02 HONT 阅读(19590) 评论(1) 推荐(3)
摘要:回到 Animator深入系列总目录 Q: 如果想做角色负伤的一套动画,但是又和原有状态机不冲突,只是想换动画剪辑,应该怎么办? A: 新建一个层,设置为同步模式。这时候你不能在同步层添加状态,但你可以替换动画剪辑。 官方的解释是: Sometimes it is useful to be able 阅读全文
posted @ 2016-01-04 09:06 HONT 阅读(2353) 评论(0) 推荐(0)
摘要:花了不少时间完成了这篇Unity Animator学习系列文章,其中大多数内容都来自个人实践,包括API部分很多都是亲测,期望和网上的诸多教程达到互补。 相关参考文档 Unity Animator官方组件文档 Unity Animator官方脚本文档 圣典的部分汉化文档 Unity官方的Animat 阅读全文
posted @ 2016-01-03 22:49 HONT 阅读(6206) 评论(0) 推荐(3)
摘要:回到 Animator深入系列总目录 要让代码控制IK,需要先在Animator中打开IK pass 然后,和IK相关的代码需要放到相应的函数中去: 而如果是StateMachineBehaviour,IK操控的代码是在: 测试脚本: using UnityEngine; using System. 阅读全文
posted @ 2016-01-03 18:03 HONT 阅读(4551) 评论(0) 推荐(0)
摘要:回到Animator深入系列总目录animator.SetTarget(...);可以在播放前预判剪辑播放后的位置,但只限于人形动画参数1是预判的关节,参数2是映射的剪辑时间调用后通过targetPosition,targetRotation来获得坐标和旋转测试代码:void Update(){ ... 阅读全文
posted @ 2016-01-03 14:07 HONT 阅读(2198) 评论(0) 推荐(0)
摘要:回到Animator深入系列总目录一开始会理所当然的觉得,匹配是这样的:但结果却是这样的(右边的Cube是匹配目标):感觉这个接口应该是专门为攀爬之类的动画准备的,属于被动匹配位置,移动整个对象去匹配所以像游戏中的斜面双脚的IK匹配,就和这个接口没关系了:OK,下面附上测试代码:using Unit... 阅读全文
posted @ 2016-01-03 10:58 HONT 阅读(3906) 评论(0) 推荐(0)
摘要:回到Animator深入系列总目录Animator自带了简单的动画录制,回放功能。但可惜的是不支持持久化的数据输出。因而不能作为录像保存不过这种可以作为竞速,格斗类游戏在结束时经常出现的游戏回放,还是比较有用的测试所用脚本using UnityEngine;public class Animator... 阅读全文
posted @ 2016-01-02 20:50 HONT 阅读(7889) 评论(0) 推荐(0)
摘要:无意中翻到这篇问答LINK,发现了Sample的用法 如果想让Animation在编辑器状态下预览,也可以用这个接口 当你想要直接获得动画的运行结果,而不是等帧数执行到这,这时候就得调用Sample: 阅读全文
posted @ 2016-01-01 18:34 HONT 阅读(5125) 评论(0) 推荐(0)
摘要:回到 Animator深入系列总目录 首先这个脚本必须继承自StateMachineBehaviour 然后切到Animator面板,选择状态机里的任意状态,点击Add Behaviour即可挂载 这时运行游戏,当状态机运行至Jump状态时,程序打出Log 注意 1.状态机脚本可以挂载到Layer上 阅读全文
posted @ 2016-01-01 15:07 HONT 阅读(12881) 评论(0) 推荐(0)
摘要:回到 Animator深入系列总目录 官方文档给出的信息非常含糊 测试了一下,首先必须是含有根运动的动画,才会得到DeltaPosition/DeltaRotation的值,这个值是相对于上一帧的根运动位置 并且非人形动画也可以获得该值 对于修改根骨骼位移RootMotion,会用到这两个参数,可以 阅读全文
posted @ 2015-12-29 17:52 HONT 阅读(4840) 评论(0) 推荐(0)
摘要:回到Animator深入系列总目录Animator的SetFloat接口可以设置阻尼,并且4种类型变量只有float是支持阻尼的。public void SetFloat(int id, float value, float dampTime, float deltaTime);当设置阻尼为0.2时... 阅读全文
posted @ 2015-12-29 16:15 HONT 阅读(2469) 评论(0) 推荐(0)
摘要:经过测试,DebuggerHidden只对输出的日志有影响。对编辑器的控制台输入没有影响你可以通过这个特性避免日志log有一堆的堆栈信息并且测试过发现Debug.LogError也不支持该特性,和Debug.Log一样没有堆栈跟踪只有抛出异常才会有堆栈跟踪log输出:Exception: !!! ... 阅读全文
posted @ 2015-12-01 11:00 HONT 阅读(2071) 评论(0) 推荐(0)
摘要:我最初想直接修改.anim文件但通过后来得到的信息,其实根运动状态储存在FBX.meta文件里,转出的.anim文件虽然也有根运动的信息但是算是塌陷过的,无法进行开关操作。这是我针对有根运动.anim文件和无根运动的.anim对比图:后来根据论坛查到的信息,具体参数在meta下的这条属性中:huma... 阅读全文
posted @ 2015-10-21 18:34 HONT 阅读(2764) 评论(0) 推荐(0)
摘要:官方例图 测试: code: 官方论坛扩展阅读LINK 阅读全文
posted @ 2015-04-30 14:18 HONT 阅读(4808) 评论(0) 推荐(0)