一条狗,一只猿猴,一只蜘蛛和一个人携手走进了游戏……然后问题就来了,他们该怎么一起“走”?在《ReCore》项目中涌现了一系列这样有趣的问题。而这些问题直指Unity的动画状态机系统Mecanim。事实上,Unity早已谋划应对之策,我们与Armature和Microsoft Game Studios密切合作一段时间了,尽可能地利用内置工具来解决这个小故事中的问题。

Joule – Layered for State / Joulie - 层级化的状态处理

Joule是一个具有极丰富运动特性的玩家角色。其拥有跳跃、跑动以及利用火箭靴进行冲刺的能力。除此之外,她还能够进行瞄准,从髋部射击,或拿着枪面向她的前方。因而,在动画系统中,她需要非常复杂的状态图。

101535qqehlmiiheinloii.png 巨大的Corebot状态机
您在游戏中将要看到的三个Corebot,它们看起来酷似人类却又不是人类。这时我们可能会想到使用Mecanim Humanoid Rig中内建的重定向技术来实现动画,然而这并不是一个上上之选。尽管Humanoid rig非常强大,但它有着一些很苛刻的设置要求。狗,猿猴,蜘蛛恰恰无法满足这些条件。即便是Joule也没有使用Humanoid rig,因为设置在她脊柱上额外的骨骼并不适用这套系统。

很让人欣慰的是,这些AI变体全都有着近似的特征,它们都要移动、战斗、跟随,然后进入一种非常自然的“空闲”状态。尽管这些动画看起来会截然不同,不过它们基础上建立的逻辑是一样的。这样以来AI就非常适合做运行时重载(Runtime Override Controller)了。该允许您从一个动画剪辑指定到另一个特定Animator的进行重定向。对于《ReCore》的问题,开发团队设置好了狗的动画,然后让猿猴和蜘蛛使用实际应用的动画进行简单地重载。

101535ck11qokzcjka3sia.png

结论

我们与Armature一同研究如何让Joule和她的Corebot伙伴奔跑、战斗和跳跃非常有意义,这是很好的Mecanim案例。通过与这样一个雄心勃勃的团队合作,我们借机提升引擎的质量,同时Armature也能得到他们想要的效果。如要了解更多Armature与我们合作开发的《ReCore》项目,敬请持续关注我们的博客。

相关阅读:
《ReCore》中的全局光照:我们与Microsoft和Armature的合作


原文链接:[url=https://blogs.unity3d.com/2016/10/11/building-for-reuse-mecanim-on-recore/[/url]
原文作者: William Armstrong
感谢Unity官方翻译组成员“E.A.S”对本文翻译所做的贡献。
转载请注明来源:Unity官方中文社区 (forum.china.unity3d.com)。请勿私自更改任何版权说明信息。 Unity, MECANIM, RECORE, 技巧, MECANIM, MECANIM, MECANIM锐亚教育

锐亚教育 锐亚科技 unity unity教程