我正在尝试使人物在按R按钮时播放特定的动画。我希望他播放整个动画,然后在运行一个周期后停止播放。
现在的问题是,当我按“ R”时,动画只播放一帧,而根本没有动画播放。
我从下面的这一句话开始。
void Update ()
{
if (Input.GetKeyDown(KeyCode.R))
{
anim.Play("Ready");
}
}
然后我读到,如果布尔值为true,则最好创建一个bool->播放Animation。
public bool ready;
void Update ()
{
if (Input.GetKeyDown(KeyCode.R))
{
ready = !ready;
}
if (ready == true)
{
anim.Play("Ready");
}
}
当布尔准备就绪为true时,动画播放一帧,然后角色变为静态。如果布尔值再次错误,角色将返回其空闲动画。
我最近进行此工作的尝试是通过构建如下代码:
if (Input.GetKeyDown(KeyCode.R))
{
ready = !ready;
if(ready == true)
{
anim.Play("Ready");
}
}
但是,这只会导致动画播放很少的帧,直到返回到空闲动画为止。即使一切准备就绪。
我不是在使用“ Animator组件”,而是在使用“ Animation组件”。这是它的设置:Animation Component
是否是导致问题的无效Update()? 另外,是否有办法确保动画只播放一个周期然后停止?
答案 0 :(得分:0)
您的方法看起来有效。是否有可能不是您导入的动画? 您应该按照建议使用Animator:
myAnimator.SetBool("ready", true);
使用Animator有很多好处: 使用“类人动物”装备(在模型导入设置中)处理许多动画剪辑,自动过渡,预览以及更多功能...