Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

AnimationMode.IsPropertyAnimated

Объявление

public static bool IsPropertyAnimated(Object target, string propertyPath);

Параметры

target Объект, чтобы определить, содержит ли он анимацию.
propertyPath Имя анимации для поиска.

Возвращает

bool Найден ли поиск недвижимости или нет.

Описание

Проверяет, находится ли указанное свойство в режиме анимации и анимируется ли оно.

IsPropertyAnimated проверяет, анимируется ли свойство. Для этой проверки также требуется объект, в котором можно найти свойство.

color ищется в следующем примере скрипта. Он является частью объекта Renderer. Обратите внимание, что в примере используется сфера GameObject и файл анимации color.anim. Цветовая анимация в color.anim имеет цвет от желтого до синего.

// Демонстрация, показывающая, как можно использовать IsPropertyAnimated() для определения того, является ли свойство // на объекте, который анимируется. В этом примере цвет в Renderer // анимированный. 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(); 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(); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3