1

我有一个角色,它有一个循环的空闲或行走动画。在不同的图层上,我播放拍摄动画(使用 AddMixingTransform)。我在输入管理器中使用了一个事件,该事件向我的 WeaponAnimation 脚本发送信号以开始播放射击动画。这是一个循环动画。当我收到停止拍摄信号时,我将 WrapMode 设置为一次,然后在拍摄动画的剩余时间执行 Animation.Blend 以将权重设为 0。

当我立即射击并释放鼠标时,它会播放动画,直到与我的空闲动画平滑混合。但是当我在鼠标循环后松开鼠标时,动画会捕捉到没有混合的空闲动画。

我尝试在动画结束时使用 AnimationEvent 来调用我的 EndAnim 函数并检查我的 wrapMode 是否为 ClampForever,然后它混合到权重 0 并在混合完成后停止动画。这导致相同的行为。

谁能弄清楚出了什么问题?

如果你想要一些代码,问它哪一部分。因为我不想发布整个脚本,所以会很长;)

4

1 回答 1

0

看起来你正在做大量的手工工作来混合这些动画。

您可以使用统一的内置交叉淡入淡出。

http://docs.unity3d.com/Documentation/ScriptReference/Animation.CrossFade.html

于 2013-01-09T20:26:22.400 回答