Version: 2017.3
public void SetBool (string name, bool value);
public void SetBool (int id, bool value);

描述

Sets an Animator bool parameter.

通过脚本使用 Animator.SetBool 将布尔值传递给

用于触发动画器状态间的过渡。例如,通过将“alive”布尔值设置为 false 来触发死亡动画。有关设置动画器的更多信息,请参阅动画

注意:可以按名称或 ID 号识别参数,但名称或 ID 号必须与要在动画器中更改的参数相同。

//Set up a new Boolean parameter in the Unity Animator and name it, in this case “Jump”.
//Set up transitions between each state that the animation could follow. For example, the player could be running or idle before they jump, so both would need transitions into the animation.
//If the “Jump” boolean is set to true at any point, the m_Animator plays the animation. However, if it is ever set to false, the animation would return to the appropriate state (“Idle”).
//This script enables and disables this boolean in this case by listening for the press of the space key.

using UnityEngine;

public class AnimationSetBool : MonoBehaviour { //Fetch the Animator Animator m_Animator; // Use this for deciding if the GameObject can jump or not bool m_Jump;

void Start() { //This gets the Animator, which should be attached to the GameObject you are intending to animate. m_Animator = gameObject.GetComponent<Animator>(); // The GameObject cannot jump m_Jump = false; }

void Update() { //If the Space button is pressed, the GameObject can jump if (Input.GetKey(KeyCode.Space)) m_Jump = true;

//Otherwise the GameObject cannot jump. else m_Jump = false;

//If the GameObject is not jumping, send that the Boolean “Jump” is false to the Animator. The jump animation does not play. if (m_Jump == false) m_Animator.SetBool("Jump", false);

//The GameObject is jumping, so send the Boolean as enabled to the Animator. The jump animation plays. if (m_Jump == true) m_Animator.SetBool("Jump", true); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961