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

StateMachineBehaviour

класс в UnityEngine / Наследует от: ScriptableObject / Реализовано в: UnityEngine.AnimationModule

Описание

StateMachineBehaviour — это компонент, который можно добавить в состояние конечного автомата. Это базовый класс, от которого наследуется каждый скрипт состояния.

По умолчанию Animator создает новый экземпляр каждого поведения, определенного в контроллере. Атрибут класса SharedBetweenAnimatorsAttribute управляет созданием экземпляров поведения.

StateMachineBehaviour имеет несколько предопределенных сообщений: OnStateEnter, OnStateExit, OnStateIK, OnStateMove, OnStateUpdate.

using UnityEngine; public class AttackBehaviour : StateMachineBehaviour { public GameObject particle; public float radius; public float power; protected GameObject clone; override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { clone = Instantiate(particle, animator.rootPosition, Quaternion.identity) as GameObject; Rigidbody rb = clone.GetComponent<Rigidbody>(); rb.AddExplosionForce(power, animator.rootPosition, radius, 3.0f); }

override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { Destroy(clone); }

override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { Debug.Log("On Attack Update "); }

override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { Debug.Log("On Attack Move "); }

override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { Debug.Log("On Attack IK "); } }

Публичные Методы

OnStateMachineEnter Вызывается в первом кадре обновления при переходе к конечному автомату. Это не вызывается при переходе в подсостояние конечного автомата..
OnStateMachineExit Вызывается в последнем кадре обновления при переходе из конечного автомата. Это не вызывается при переходе в подсостояние конечного автомата.

Сообщения

OnStateEnter Вызывается в первом кадре обновления, когда конечный автомат оценивает это состояние.
OnStateExit Вызывается в последнем кадре обновления, когда конечный автомат оценивает это состояние.
OnStateIK Вызывается сразу после MonoBehaviour.OnAnimatorIK.
OnStateMove Вызывается сразу после MonoBehaviour.OnAnimatorMove.
OnStateUpdate Вызывается в каждом кадре обновления, кроме первого и последнего кадра.

Унаследованные члены

Свойства

hideFlags Должен ли объект быть скрыт, сохранен вместе со сценой или изменен пользователем?
name Название объекта.

Публичные Методы

GetInstanceID Возвращает идентификатор экземпляра объекта.
ToString Возвращает имя объекта.

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

Destroy Удаляет GameObject, компонент или актив.
DestroyImmediate Уничтожает объект obj. Вместо этого вам настоятельно рекомендуется использовать Destroy.
DontDestroyOnLoad Не уничтожает целевой объект при загрузке новой сцены.
FindObjectOfType Возвращает первый активный загруженный объект типа Type.
FindObjectsOfType Получает список всех загруженных объектов
Instantiate Клонирует исходный объект и возвращает клон.
CreateInstance Создает экземпляр объекта скрипта.

Операторы

bool Объект существует?
operator != Сравнивает, ссылаются ли два объекта на другой объект.
operator == Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект.

Сообщения

Awake Эта функция вызывается при запуске сценария ScriptableObject.
OnDestroy Эта функция вызывается, когда объект сценария будет уничтожен.
OnDisable Эта функция вызывается, когда объект сценария выходит за пределы области видимости.
OnEnable Эта функция вызывается при загрузке объекта.
OnValidate Функция только для редактора, которую Unity вызывает при загрузке скрипта или изменении значения в Инспекторе.
Reset Сбросить значения по умолчанию.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3