创建个脚本实现简单的角色状态动画根据鼠标点击进行切换,挂到角色上去即可
public class Test : MonoBehaviour
{
Animator m_Animator;
bool b;
// Start is called before the first frame update
void Start()
{
m_Animator = GetComponent<Animator>();
b = true;
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0))
{
if (b)
{
m_Animator.SetFloat(&#34;test&#34;, 2);
}
else
{
m_Animator.SetFloat(&#34;test&#34;, 0);
}
b = !b;
}
}
}有个明显的问题,前面的动作播放完才会触发条件播放后续的动作,而实际上动作切换不会等那么久。
blendtree
创建 Animator-Create State-From New Blend Tree
编辑 双击创建的BlendTree
Inspector-Motion添加Idle以及Run动画,分别设置Threshold为0和2
右键Entry-Set StateMachine Default State连接到刚创建的Blend Tree
直接用之前创建的脚本,可以实现动作的无缝切换。Animation窗口可以直接选择各种动画。