public class NewBehaviourScript : MonoBehaviour
{
private Animator anim;
// Animator.StringToHash 是一个用于将字符串转换为一个整数哈希值的方法。以一种高效的方式通过这个整数哈希值来标识或引用与 "字符串" 相关的特定属性或参数。
private int speedID = Animator.StringToHash("Speed");
private int IsSpeedUpID = Animator.StringToHash("IsSpeedUp");
private int horizontalID = Animator.StringToHash("Horizontal");
private int speedRotateID = Animator.StringToHash("SpeedRotate");
private int speedZID = Animator.StringToHash("SpeedZ");
private int vaultID = Animator.StringToHash("Vault");
private int sliderID = Animator.StringToHash("Slider");
private int colliderID = Animator.StringToHash("Collider");
private int isHoldLogID = Animator.StringToHash("IsHoldLog");
//通过定义这样一个变量,方便在该类的其他方法中使用这个角色控制器来实现对角色行为的控制和操作
private CharacterController characterController;
// matchTarget 可能用于指定角色或物体在动画中的目标位置,以便实现特定的动画效果,如翻越障碍物时的目标位置。
private Vector3 matchTarget = Vector3.zero; //对matchTarget初始化
public GameObject unitylog = null; //初始化
//组件
public Transform rightHand;
public Transform leftHand;
public PlayableDirector director;
void Start()
{
anim = GetComponent<Animator>();
characterController = GetComponent<CharacterController>();
// unityLog = transform.Find("Unity_Log").gameObject;
}
void Update()
{
anim.SetFloat(speedZID, Input.GetAxis("Vertical") * 4.1f);
//anim (之前获取到的动画组件)的 SetFloat 方法,将一个与垂直方向相关的输入乘以 4.1f 后的值,设置给与特定标识 speedZID。用于控制动画中与垂直方向运动速度相关的属性。
//anim.SetFloat(speedRotateID,Input.GetAxis("Horizontal") * 126);
//anim.SetFloat(horizontalID, Input.GetAxis("Horizontal"));
ProcessVault();
ProcessSlider();
}
Animator
动画状态机
混合树