随笔分类 - Unity / anim
摘要:下图中Rotation.z的前4个关键帧[0, 3](即15帧, 30帧, 45帧, 60帧),值都没变; (3, 4)Rotation.z变为60(即61帧到90帧); 后3个关键帧[5, 7]一直维持在60没变。 可以分析下:前4个关键帧,[1, 2]删除对动画没影响,后3个关键帧[5, 7]删
阅读全文
摘要:用途:列出动画的第1帧与预制体GameObject当前值不同的,需要同步的可以手动同步 效果图 public struct ValueNotSameItem { public EditorCurveBinding curveBinding; //关联参数 public AnimationCurve
阅读全文
摘要:效果图 用途:界面动效已经由动效同事做完(假设k了100帧),然后UI同事又把一些节点的位置做了10px的调整。此时一帧一帧去手动改,费事费力还可能出错。 这个工具的用途就是:对相关节点的所有关键帧批量做偏移。 public class AnimClipEditWnd : EditorWindow
阅读全文
摘要:public static float TrimFloat(float f) { int i = (int)(f * 1000); float result = i / 1000.0f; return result; } public static AnimationCurve CloneAnimC
阅读全文
摘要:1,关键帧数据都保存在AnimationCurve上,所以首先要获取到这个 public static AnimationCurve GetAnimCurve(AnimationClip clip, string path, string propName) { EditorCurveBinding
阅读全文
摘要:Evaluate函数 float value = curve.Evaluate(_time); a) 参数_time就是x方向的值,结果value就是y方向的值 b) _time=0的时候, value为-3;_time=2的时候, value为2; c) 这边是一根直线,所以_time=1的时候,
阅读全文
摘要:1) 获取AnimationClip public static bool TryGetAnimatorClip(Animator animator, string clipName, out AnimationClip outClip) { var clips = animator.runtime
阅读全文
摘要:方式1:使用多个overrideController文件的方式 1) 创建一个通用的状态机,以及状态动画占位文件 2) 分别为不同的角色创建状态动画文件,并用overrideController进行绑定 a) Role1Override.overrideController,这边用正方形表示Role
阅读全文
摘要:# 实现要点:Unity的动画不管是Animation(legncy)或Animator都没有提供监听动画开始或结束的接口,不过他的AnimationClip可以在某一帧上添加event,event触发时可以调用某个函数, 这边就是利用了这个功能,来实现监听的。监听开始就是第1帧加个事件,监听结束就
阅读全文