今天遇到一个制作动画路径的问题如下:
从题中可以看出物体路径受指定动画操控,我们不能改变控制方式,因此问题的重点在于如何从AnimationClip中获得位置每帧物体XYZ移动的位置信息,有了位置信息,绘制线条也就不是难事了。
查询了官方文档发现通过一个编辑器类可以获取到帧信息AnimationUtility
但是它只能在编辑器模式下使用因此便想到了在编辑器模式下把帧信息序列化,然后在运行时读取便能解决问题
以下为主要代码
public class ClipInfo : EditorWindow
{
private AnimationClip clip;
[MenuItem("Window/Clip Info")]
static void Init()
{
GetWindow(typeof(ClipInfo));
}
public void OnGUI()
{
clip = EditorGUILayout.ObjectField("Clip", clip, typeof(AnimationClip), false) as AnimationClip;
EditorGUILayout.LabelField("Curves:");
if (clip != null)
{
foreach (var binding in AnimationUtility.GetCurveBindings(clip)