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

AnimationMode

класс в UnityEditor

Описание

AnimationMode используется AnimationWindow для хранения свойств, измененных AnimationClip воспроизведение.

При выходе из AnimationMode все свойства возвращаются к состоянию по умолчанию. Анимированные свойства также выделяются инспектором. Используйте StartAnimationMode, чтобы войти в режим анимации. В режиме анимации редактор окрашен, чтобы показать, что он анимируется. Свойства можно анимировать с помощью SampleAnimationClip.

В следующем примере скрипта показано, как можно анимировать GameObject. AnimationMode имеет функции, поддерживающие это. Демонстрацию можно запустить из меню «Примеры/AnimationMode demo». После запуска этой демонстрации требуется выбрать GameObject в окне Scene. (Для этого примера требуется, чтобы игра не была запущена в представлении Game.) После выбора GameObject окно примера изменится. Выберите созданный анимационный клип для выбранного GameObject. После загрузки анимационного клипа анимацию можно применить к игровому объекту. При нажатии кнопки «Анимация» в окно добавляется ползунок. С помощью ползунка анимация будет применена к выбранному игровому объекту. Кнопка блокировки предотвращает применение анимации к другому игровому объекту.

using UnityEngine; using UnityEditor;

public class ExampleClass : EditorWindow { protected GameObject go; protected AnimationClip animationClip; protected float time = 0.0f; protected bool lockSelection = false; protected bool animationMode = false;

[MenuItem("Examples/AnimationMode demo", false, 2000)] public static void DoWindow() { var window = GetWindowWithRect(new Rect(0, 0, 300, 80)); window.Show(); }

// Has a GameObject been selection? public void OnSelectionChange() { if (!lockSelection) { go = Selection.activeGameObject; Repaint(); } }

// Main editor window public void OnGUI() { // Wait for user to select a GameObject if (go == null) { EditorGUILayout.HelpBox("Please select a GameObject", MessageType.Info); return; }

// Animate and Lock buttons. Check if Animate has changed GUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); GUILayout.Toggle(AnimationMode.InAnimationMode(), "Animate"); if (EditorGUI.EndChangeCheck()) ToggleAnimationMode();

GUILayout.FlexibleSpace(); lockSelection = GUILayout.Toggle(lockSelection, "Lock"); GUILayout.EndHorizontal();

// Slider to use when Animate has been ticked EditorGUILayout.BeginVertical(); animationClip = EditorGUILayout.ObjectField(animationClip, typeof(AnimationClip), false) as AnimationClip; if (animationClip != null) { float startTime = 0.0f; float stopTime = animationClip.length; time = EditorGUILayout.Slider(time, startTime, stopTime); } else if (AnimationMode.InAnimationMode()) AnimationMode.StopAnimationMode(); EditorGUILayout.EndVertical(); }

void Update() { if (go == null) return;

if (animationClip == null) return;

// Animate the GameObject if (!EditorApplication.isPlaying && AnimationMode.InAnimationMode()) { AnimationMode.BeginSampling(); AnimationMode.SampleAnimationClip(go, animationClip, time); AnimationMode.EndSampling();

SceneView.RepaintAll(); } }

void ToggleAnimationMode() { if (AnimationMode.InAnimationMode()) AnimationMode.StopAnimationMode(); else AnimationMode.StartAnimationMode(); } }

Статические Свойства

animatedPropertyColor Цвет, используемый для обозначения того, что свойство в данный момент анимируется.
candidatePropertyColor Цвет, используемый для обозначения того, что анимированное свойство было изменено.
recordedPropertyColor Цвет, используемый для обозначения того, что анимированное свойство автоматически записывает изменения в анимационном клипе.

Статические Методы

AddEditorCurveBinding Помечает свойство, определенное EditorCurveBinding, как анимируемое в данный момент.
AddPropertyModification Отмечает свойство как анимируемое в данный момент.
BeginSampling Инициализировать начало выборки анимационного клипа.
EndSampling Завершите выборку анимационного клипа.
InAnimationMode Проверяет, находится ли редактор в режиме анимации.
IsPropertyAnimated Проверяет, находится ли указанное свойство в режиме анимации и анимируется ли оно.
SampleAnimationClip Сэмплирует AnimationClip для GameObject, а также записывает измененные свойства в режиме анимации.
SamplePlayableGraph Сэмплирует указанный выходной индекс PlayableGraph, а также записывает измененные свойства в режиме анимации.
StartAnimationMode Запускает режим анимации.
StopAnimationMode Остановка режима анимации и восстановление всех свойств, которые были анимированы в режиме анимации.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3