我只需要播放动画一次。
这样的事情:
public Animation[] animations;
animations[0].play();
我查看了StackOverflow,我找到的只有:
animation["AnimationName"].wrapMode = WrapMode.Once;
animation.Play("AnimationName");
但它没有任何结果。 这种方法实际上适用于Unity3D 5吗? 是否有新的方式来播放动画一次拍摄?
答案 0 :(得分:2)
我有一种方法可以在鼠标按下时播放动画。
对于那个开放的动画师控制器并添加掉落动画,其中一个将是空闲动画(这将具有丢弃的初始阶段)。现在将空闲动画设为默认动画,并添加从空闲到动画的转换。
将参数添加到类型" Trigger"的此转换中。在转换条件中设置此参数。
再添加一个从放下动画到空闲状态的转换。
因此,在完成动画完成后,它将再次处于空闲状态。
现在编写脚本:
int dropHash = Animator.StringtoHash("parameterName");
onmouseDown:
animator.SetTrigger(dropHash);
希望你有所了解。这可能对你有所帮助。感谢。
答案 1 :(得分:0)
您必须使用wrapMode
。在你的情况下,它可能像
foreach(Animation anim in animations) {
anim.wrapMode = WrapMode.Once;
anim.Play();
}