target | Objek untuk menentukan apakah itu terkandung animasi. |
propertyPath | Nama animasi untuk mencari. |
Sitemap Apakah pencarian properti ditemukan atau tidak. Meme itbool Whether the property search is found or not.
Periksa apakah properti yang ditentukan dalam mode Animasi dan sedang animasi.
IsPropertyAnimated memeriksa apakah properti sedang animasi. Pemeriksaan ini juga membutuhkan objek di mana properti dapat ditemukan.
color
dicari dalam contoh skrip berikut. Ini adalah bagian dari objek Renderer
. Perhatikan bahwa contoh menggunakan sphere GameObject dan file animasi, warna.anim. Animasi warna dalam warna. anim memiliki warna bervariasi dari kuning ke biru.
// Demo showing how IsPropertyAnimated() can be used to determine if a property // on an object is being animated. In this example the color in a Renderer is // animated.
using UnityEngine; using UnityEditor;
public class ExampleClass : EditorWindow { protected GameObject go; protected AnimationClip animationClip; protected float time = 0.0f; protected bool showColor = false;
[MenuItem("Examples/AnimationMode demo")] public static void DoWindow() { var window = GetWindow<ExampleClass>(); window.Show(); }
void OnGUI() { if (go == null) { EditorGUILayout.HelpBox("Select a GO", MessageType.Info); return; }
EditorGUILayout.LabelField("Color slider");
if (animationClip == null) { AnimationMode.StartAnimationMode(); animationClip = AssetDatabase.LoadAssetAtPath<AnimationClip>("Assets/color.anim"); }
if (animationClip != null) { float startTime = 0.0f; float stopTime = animationClip.length; time = EditorGUILayout.Slider(time, startTime, stopTime); }
if (showColor) { EditorGUILayout.LabelField("Red color being animated"); } }
void Update() { if (go == null) return;
if (animationClip == null) return;
if (AnimationMode.InAnimationMode()) { Renderer rend = go.GetComponent<Renderer>();
if (AnimationMode.IsPropertyAnimated(rend, "material._Color.r")) { showColor = true; } else { showColor = false; }
AnimationMode.BeginSampling(); AnimationMode.SampleAnimationClip(go, animationClip, time); AnimationMode.EndSampling();
SceneView.RepaintAll(); } }
// Has a GameObject been selection? public void OnSelectionChange() { go = Selection.activeGameObject; Repaint(); }
public void OnDestroy() { Debug.Log("Shutting down"); AnimationMode.StopAnimationMode(); } }