Version: 5.3 (switch to 5.4b)
State Machine Basics
State Machine Transitions

Параметры анимации

Animation Parameters are variables that are defined within an Animator Controller that can be accessed and assigned values from scripts. This is how a script can control or affect the flow of the state machine.

Параметры анимации - это переменные, которые определены в анимационной системе, но также могут быть доступны и изменены из скриптов. Например, значение параметра может быть изменено с помощью анимационной кривой, а затем получено из скрипта, чтобы, например, изменить высоту звукового эффекта, как если бы он был частью анимации. Аналогично, скрипт может устанавливать значения параметров для подхвата системой Mecanim. Например, скрипт может выставить параметр для контроля дерева смешивания.

Значения по умолчанию параметров могут быть установлены в виджете Parameters в левом нижнем углу окна Animator. Они могут быт четырех основных типов:

  • Int - целое число
  • Float - число с плавающей запятой
  • Bool - логическое значение правда / ложь
  • Trigger - логический параметр, который сбрасывается контроллером при потреблении переходом.

Параметрам могут быть назначены значения из скрипта функциями в классе Animator: SetFloat, SetInt, и SetBool.

Ниже приведен пример скрипта, который модифицирует параметры основываясь на вводе пользователя.

using UnityEngine;
using System.Collections;

public class SimplePlayer : MonoBehaviour {
    
    Animator animator;
    
    // Use this for initialization
    void Start () {
        animator = GetComponent<Animator>();
    }
    
    // Update is called once per frame
    void Update () {
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");
        bool fire = Input.GetButtonDown("Fire1");

        animator.SetFloat("Forward",v);
        animator.SetFloat("Strafe",h);
        animator.SetBool("Fire", fire);
    }

    void OnCollisionEnter(Collision col) {
        if (col.gameObject.CompareTag("Enemy"))
        {
            animator.SetTrigger("Die");
        }
    }
}


State Machine Basics
State Machine Transitions