AnimatorControllerLayer
класс в UnityEditor.Animations
Описание
Содержит машину состояний, управляющую анимацией модели или её частей.
AnimatorController использует AnimatorControllerLayers для управления и объединения нескольких состояний анимации. Вы можете добавить слой к AnimatorController в окне Animator или через скрипт с помощью AnimatorController.AddLayer. AnimatorController.layers содержит список слоев AnimatorController.
using UnityEditor; using UnityEditor.Animations; // This example demonstrates how to create an AnimatorController that contains an injured layer and a fatigued layer // by default. public class AnimatorControllerLayerExample { [MenuItem("Example/AnimatorController with Default Layers")] public static void CreateAnimatorControllerWithDefaultLayers() { // Create an AnimatorController var controller = AnimatorController.CreateAnimatorControllerAtPath("Assets/NewControllerWithLayers.controller"); // Create a new injured layer var injuredLayer = new AnimatorControllerLayer { name = "Injured", stateMachine = new AnimatorStateMachine() }; // Add the layer to the controller controller.AddLayer(injuredLayer); // Create a new fatigued layer var fatiguedLayer = new AnimatorControllerLayer { name = "Fatigued", stateMachine = new AnimatorStateMachine() }; // Add the layer to the controller controller.AddLayer(fatiguedLayer); // Save the controller AssetDatabase.SaveAssetIfDirty(controller); } }
Дополнительные ресурсы: AnimationLayers руководство. AnimatorController.RemoveLayer для удаления слоев.
Свойства
| Свойство | Описание |
|---|---|
| avatarMask | AvatarMask, который используется для маскировки анимации на данном слое. |
| blendingMode | Режим смешивания, используемый слоем. Для первого слоя он не принимается во внимание. |
| defaultWeight | По умолчанию имеется толщина смешивания слоев. Она не учитывается для первого слоя. |
| iKPass | При активном состоянии слой будет иметь проход IK при оценке. Он запустит обратный вызов OnAnimatorIK. |
| name | Имя слоя. |
| stateMachine | Машина состояний для слоя. |
| syncedLayerAffectsTiming | Когда слой активен, он будет контролировать длительность синхронизированного слоя. |
| syncedLayerIndex | Указывает индекс Синхронизированного слоя. |
Открытые методы
| Метод | Описание |
|---|---|
| GetOverrideBehaviours | Возвращает список переопределяющих поведений для состояния на указанном слое. |
| GetOverrideMotion | Возвращает переопределяющее движение для состояния на указанном слое. |
| SetOverrideBehaviours | Задаёт список переопределяющих поведений для состояния на указанном слое. |
| SetOverrideMotion | Задаёт переопределяющее движение для состояния на указанном слое. |