动画师需要了解的unity常识 美术位移
原文首发于微信公众号 拉撒路的万事屋 扫码关注大家好我是拉撒路 断更半年啦主要是因为我最近沉迷学代码无法自拔(其实是特么学不会啊喂)最近终于有点阶段性的成果了(大概就是能看懂这种表情包的水平)刚好今天被催更那就写点东西吧本文源于今天群里的一个问题 我把问答环节截图在推文末尾对unity比较熟悉的老伙计直接翻到最下面看一下就知道咋回事了对于不熟悉unity的大胸弟 我们逐个问题详细解释下问题1首先Apply Root Motion这个东西在哪呢?这个是选中场景内的角色对象,在检视面板查看它的属性,看到的Animator脚本下有这样一个属性。他的作用是是否读取美术位移,勾选复选框就会读取美术位移,不勾就不读。给各位资深小白上个图问题1延伸阅读美术位移特指做动画的时候,对根骨骼做的旋转和位移,通常是指质心的旋转位移,有时候是质心的父级dummy或者bone的旋转位移。问题2一般来说游戏内的角色移动是程序控制的,我们的走跑都是做的原地循环没有位移的,但是如果在大屏幕或者其他对动画细节要求比较高的设备上,就不能这么作,因为会出现滑步的问题。又或者,比如一个突进技能,或者一个轻功技能,这种一段动画内,角色位移有很复杂的快慢变化的,就不适合用程序来控制位移,因为程序位移通常都是匀速直线的。你用脚趾头想一下,想要表现非常精细的画面感受,肯定要美术出马啊,所以在这几种情况下,程序就需要读取美术位移了。读取美术位移会提升画面表现,但代价是什么?代价就是性能开销、程序比较难控制角色位置、读美术位移对于程序来说工作量更大。问题3恩,这个是否读取美术位移的开关呢,是挂在角色身上的,也就是说一个角色所有的动画,只能统一的选择是读取美术位移,还是不读取美术位移。那对于那些只有部分动画需要读美术位移的,一般有两种方案。第一种是上古时期的做法,就是不需要位移的动画就完全清除掉旋转和位移动画,当然现在这个年月还跟你提出这个要求的程序,你就……以和为贵!第二种方案呢,就是烘焙,unity提供了这个烘焙的功能,就在这嘎达:
勾了这个烘焙的动画片段,就可以无视美术位移了,就像是把角色封印在了盒子里,无论角色怎么蹦跶,都不会改变盒子的逻辑位置。问题4有时候我们动画做了首尾帧归零的处理,但是动画导进引擎,还是出现偏移。程序说我没控制角色偏移,绝壁是你动画搞的鬼,你打开max给他看俩小时原地循环跑步,“怎么样老子让他跑了俩小时也没偏转吧,根本不是我的锅”。好吧,不怪你们,只怪我这个帖子写的太晚了。虽然动画的首尾帧归零了,但是中间的过程还是有偏转的,而程序控制角色跑步的时候,不会每次都把动画播完整的,玩家撒手了,不管你跑步动画播到了第几帧,都要停下来。这时候就发生了偏移。这是逻辑上说得清的,还有逻辑上说不清的,就是你明明把每一帧的位移都删除了,角色还是有偏移。这个呢,就是unity对角色逻辑位置计算的结果,恩对,就是unity在算计你,至于具体逻辑是咋回事,这里挖个坑吧,找个月黑风高的夜晚来填坑。总之这都不重要,勾选Bake Into Pose万事大吉!
附上群内问答截图,六亲不认拉撒路就是本人了……最后的最后,不贴加群链接的话一定会有要,贴了加群链接又会被人说是硬广,所以群名叫unity美术万事屋 你们记几解决吧!!!
收藏了,不错,值得学习。 路爷牛鼻(超大声!!!) 忍不住~~~真香~~ 哈哈哈哈哈哈 666 感谢楼主分享,太棒了! 666 1 强,受益匪浅