Объявление
public void SetFloat(string name, float value);public void SetFloat(string name, float value, float dampTime, float deltaTime);
public void SetFloat(int id, float value);
public void SetFloat(int id, float value, float dampTime, float deltaTime);
Параметры
name | Имя параметра. |
id | Идентификатор параметра. |
value | Новое значение параметра. |
dampTime | Общее время работы демпфера. |
deltaTime | Дельта времени, чтобы дать демпферу. |
Описание
Отправлять плавающие значения в Animator, чтобы влиять на переходы.
Используйте SetFloat в сценарии для отправки значений с плавающей запятой в Animator для активации переходов. В аниматоре определите, какие значения влияют на переход определенных анимаций. Это полезно в различных ситуациях, особенно в циклах анимации, таких как анимация движения, когда вам может потребоваться, чтобы персонаж шел или бежал в зависимости от применяемого нажатия кнопки.
//The code below shows how to send the horizontal value of the controller or keys to the Animator.
//You must assign the same parameter name in the Animator as you set in SetFloat, in this case “horizontalSpeed”. You must also handle the transition conditions in the Animator, to tell which values should cause each transition.
//For example, the walking animation triggers when the horizontal value is above 0, and the running animation triggers when the horizontal value reaches past 0.5. Assigning animations to states are also done in the Animator.
using UnityEngine;
public class Example : MonoBehaviour
{
Animator m_Animator;
float m_HorizontalMovement;
void Start()
{
//Get the animator, which you attach to the GameObject you are intending to animate.
m_Animator = gameObject.GetComponent<Animator>();
}
void Update()
{
//Translate the left and right button presses or the horizontal joystick movements to a float
m_HorizontalMovement = Input.GetAxis("Horizontal");
//Sends the value from the horizontal axis input to the animator. Change the settings in the
//Animator to define when the character is walking or running
m_Animator.SetFloat("horizontalSpeed", m_HorizontalMovement);
}
}
Above is an example setup of the Animator for accepting floats.