Version: 2017.3
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);

描述

将浮点值发送到动画器以影响过渡。

在脚本中使用 SetFloat 将浮点值发送到动画器以激活过渡。在动画器中,定义哪些值如何影响某些动画的过渡方式。这在很多情况下都很有用,尤其是在动画循环中,例如在移动动画中可需要根据所施加的按钮压力来决定走或跑。

//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); } }



以上是接受浮点值的动画器的示例设置。