Returns all the object reference curve bindings currently stored in the clip.
Answers the question: "Which object reference properties are animated by the clip?".
Unity has two types of animation: Float and object reference. Float curve is a classic curve that animates float property over time. Object reference "curve" is a construct that animates object reference property over time.
This method returns only the object reference bindings. See AnimationUtility.GetCurveBindings for float curves.
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); } } } }