AnimationUtility.GetObjectReferenceCurveBindings

Switch to Manual
public static EditorCurveBinding[] GetObjectReferenceCurveBindings (AnimationClip clip);

Description

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); } } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961