通过代码控制动画状态机切换

public class L27 : MonoBehaviour
{
    private Animator ani;
    // Start is called before the first frame update
    void Start()
    {
        //Animator相关参数
        //Avatar 对应的替身配置信息
        //Apply Root Motion 应用动画位移更新
        //Culling Mode 裁剪剔除模式
        //Always Animate 始终播放动画,即使在屏幕外也不剔除
        //Cull Update Transforms 摄像机没有渲染该物体时停止位置和IK的写入
        //Cull Completely 摄像机没有渲染该物体时,整个动画被完全禁用

        //Animator中的API
        //通过状态机条件切换动画
        ani = GetComponent<Animator>();
        //更改条件(条件名,更改默认值)
        ani.SetFloat("条件名", 1.2f);
        ani.SetInteger("条件名",5);
        ani.SetBool("条件名",true);
        ani.SetTrigger("条件名");

        //得到条件当前的值
        ani.GetFloat("条件名");
        ani.GetInteger("条件名");
        ani.GetBool("条件名");

        //如果在条件选项中开启Has Exit Time就会在动画播放完之后再切换状态
        //如果想快速响应按键就要取消选择该选项

        //直接切换动画,一般不用
        ani.Play("状态名");
    }
}
posted @ 2025-04-01 16:49  cannedmint  阅读(51)  评论(0)    收藏  举报