我有一个角色,它有一个循环的空闲或漫步动画。在另一个图层上,我播放了一个动画片段(使用AddMixingTransform)。我在输入管理器中使用一个事件,它向我的WeaponAnimation脚本发送一个信号,开始播放拍摄动画。这是一个循环动画。当我收到我的停止拍摄信号时,我将WrapMode设置为一次,然后我执行一个Animation.Blend,以拍摄动画的剩余时间来加权0。
当我立即拍摄并释放鼠标时,它会播放动画直到结束,并平滑地混合到我的空闲动画中。但是当我在循环播放后释放鼠标时,动画将捕捉到空闲动画而不进行混合。
我试图在动画结束时使用一个可以调用我的EndAnim函数的AnimationEvent,并检查我的wrapMode是否为ClampForever,然后它混合到权重0并在完成混合后停止动画。这导致了相同的行为。
有人能弄清楚出了什么问题吗?
如果你想要一些代码,请问它是哪一部分。因为我不想发布整个脚本,这将是非常长的;)
答案 0 :(得分:0)
它接缝你正在做大量的手工工作来混合这些动画。
你可以使用Unity内置的交叉渐变。
http://docs.unity3d.com/Documentation/ScriptReference/Animation.CrossFade.html