Version: 5.4

AnimationUtility.GetObjectReferenceCurveBindings

マニュアルに切り替える
public static EditorCurveBinding[] GetObjectReferenceCurveBindings (AnimationClip clip);

説明

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