AnimationClip获取关键帧信息
1,关键帧数据都保存在AnimationCurve上,所以首先要获取到这个
public static AnimationCurve GetAnimCurve(AnimationClip clip, string path, string propName) { EditorCurveBinding[] bindings = AnimationUtility.GetCurveBindings(clip); foreach (var b in bindings) { if (b.path == path) { //Debug.Log($"path:{b.path}, propName:{b.propertyName}, discrete:{b.isDiscreteCurve}, pptr:{b.isPPtrCurve}"); if (b.propertyName == propName) { var result = AnimationUtility.GetEditorCurve(clip, b); return result; } } } return null; }
path和propName
2, 关键帧数据
public static void PrintCurve(AnimationCurve curve) { Debug.Log($"preWrap:{curve.preWrapMode}, postWrap:{curve.postWrapMode}, kfCnt:{curve.length}"); for (var i = 0; i < curve.keys.Length; ++i) { var kf = curve.keys[i]; Debug.Log($"keyFrame:{i}, t:{kf.time}, v:{kf.value}, mode:{kf.weightedMode}, in:{kf.inTangent}, inW:{kf.inWeight}, out:{kf.outTangent}, outW:{kf.outWeight}"); } }
分类:
Unity / anim
, Unity
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2023-05-17 循环语法备忘
2023-05-17 table常用工具函数 - 表用法
2023-05-17 table常用工具函数 - list用法