Contains a state machine that controls animations of a model or parts of it.
An AnimatorController uses AnimatorControllerLayers to manage and blend multiple animation states. You can add a layer to an AnimatorController in the Animator window or through scripting using AnimatorController.AddLayer. AnimatorController.layers contains the list of layers of an 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); } }
Additional resources: AnimationLayers manual. AnimatorController.RemoveLayer for removing layers.
avatarMask | The AvatarMask that is used to mask the animation on the given layer. |
blendingMode | The blending mode used by the layer. It is not taken into account for the first layer. |
defaultWeight | The default blending weight that the layers has. It is not taken into account for the first layer. |
iKPass | When active, the layer will have an IK pass when evaluated. It will trigger an OnAnimatorIK callback. |
name | The name of the layer. |
stateMachine | The state machine for the layer. |
syncedLayerAffectsTiming | When active, the layer will take control of the duration of the Synced Layer. |
syncedLayerIndex | Specifies the index of the Synced Layer. |
GetOverrideBehaviours | Gets the override behaviour list for the state on the given layer. |
GetOverrideMotion | Gets the override motion for the state on the given layer. |
SetOverrideBehaviours | Sets the override behaviour list for the state on the given layer. |
SetOverrideMotion | Sets the override motion for the state on the given layer. |