Version: Unity 6.1 Beta (6000.1)
LanguageEnglish
  • C#

AnimatorControllerLayer

class in UnityEditor.Animations

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

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.

Properties

avatarMaskThe AvatarMask that is used to mask the animation on the given layer.
blendingModeThe blending mode used by the layer. It is not taken into account for the first layer.
defaultWeightThe default blending weight that the layers has. It is not taken into account for the first layer.
iKPassWhen active, the layer will have an IK pass when evaluated. It will trigger an OnAnimatorIK callback.
nameThe name of the layer.
stateMachineThe state machine for the layer.
syncedLayerAffectsTimingWhen active, the layer will take control of the duration of the Synced Layer.
syncedLayerIndexSpecifies the index of the Synced Layer.

Public Methods

GetOverrideBehavioursGets the override behaviour list for the state on the given layer.
GetOverrideMotionGets the override motion for the state on the given layer.
SetOverrideBehavioursSets the override behaviour list for the state on the given layer.
SetOverrideMotionSets the override motion for the state on the given layer.