現在クリップに格納されているすべての object reference curve のプロパティーが定義されたバインディングを返します。
以下は「どのオブジェクト参照プロパティーがクリップによってアニメーションしますか?」に対する答えです。
Unity には Float と Object Reference(オブジェクト参照)の2種類のアニメーションの種類があります。Float Curve は、float プロパティー値を時間経過とともにアニメーションする典型的なカーブです。一方、Object Reference の "カーブ" は、オブジェクト参照値を時間経過とともにアニメーションして生成します。
この方法は、オブジェクト参照のバインディングのみ返します。float 型のカーブについては AnimationUtility.GetCurveBindings を参照してください。
using UnityEditor; using UnityEngine;
// Editor window for listing all object reference curves in an animation clip 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("Object reference curves:"); if (clip != null) { foreach (var binding in AnimationUtility.GetObjectReferenceCurveBindings(clip)) { ObjectReferenceKeyframe[] keyframes = AnimationUtility.GetObjectReferenceCurve(clip, binding); EditorGUILayout.LabelField(binding.path + "/" + binding.propertyName + ", Keys: " + keyframes.Length); } } } }