我正在开发一个统一的游戏,我需要一些动画,所以我制作了这个脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Sword : MonoBehaviour
{
Animator m_animator;
void Start()
{
m_animator = GetComponent<Animator>();
}
void Update()
{
if(Input.GetKey(KeyCode.W))
{
m_animator.ResetTrigger("Chop");
m_animator.ResetTrigger("Idle");
m_animator.SetTrigger("Run");
}
else if(Input.GetKey(KeyCode.A))
{
m_animator.ResetTrigger("Chop");
m_animator.ResetTrigger("Idle");
m_animator.SetTrigger("Run");
}
else if(Input.GetKey(KeyCode.S))
{
m_animator.ResetTrigger("Chop");
m_animator.ResetTrigger("Idle");
m_animator.SetTrigger("Run");
}
else if(Input.GetKey(KeyCode.D))
{
m_animator.ResetTrigger("Chop");
m_animator.ResetTrigger("Idle");
m_animator.SetTrigger("Run");
}
else if(Input.GetKey(KeyCode.Space))
{
m_animator.ResetTrigger("Chop");
m_animator.ResetTrigger("Idle");
m_animator.SetTrigger("Run");
}
else if(Input.GetMouseButton(0))
{
m_animator.ResetTrigger("Run");
m_animator.ResetTrigger("Idle");
m_animator.SetTrigger("Chop");
}
else
{
m_animator.ResetTrigger("Run");
m_animator.ResetTrigger("Chop");
m_animator.SetTrigger("Idle");
}
}
}它可以工作,但在剪切、重新启动动画或转到另一个动画之前,它只播放动画的一小部分。如何解决这个问题呢?
发布于 2021-07-06 04:10:46
可能是来自动画过渡的exit time的问题。我建议你进入动画控制器,然后在动画图形中点击你的过渡,取消勾选“有退出时间”。
如果您希望保持退出时间,则必须调整每个过渡时间,以便与动画持续时间配合使用。

请随时通知我结果!
https://stackoverflow.com/questions/68261544
复制相似问题