在blender做好模型放入unity时,很多人不注重物体的朝向问题,做完模型就往项目里面拖,然后发现项目资源里面模型的方向与blender不一致,如图所示:
有人说了,害,有什么大不了的,我把它放到空物体做成子物体,然后把父物体坐标系调正不就得了!然后后面就会发现,在涉及动画,尤其是在方向上的动画时,模型在unity中的动画方向和blender中不一致了,而且无法通过父子关系调整了。只能在blender中重新调整导出。比如开始我做了这个模型的简单受击动画,模型受到攻击后向后倾,由于没注意坐标的问题,blender中的后倾动画,到unity中变成了前倾动画:
出现这种问题的原因是,blender使用的是右手坐标系,而unity是左手坐标系。
因此一定要在建模时注意模型的坐标朝向,这一点在纯blender建模课程中一般不会讲到。
在建模时,我们以blender的x轴正方向为物体的正面朝向,注意下图,全局坐标系下的红箭头与右上角坐标提示的x轴正方向吻合。
建模完成后,切换到局部坐标系,选择仅影响原点,然后r x 90,把x轴旋转90度。
然后取消仅影响原点,切换到全局坐标系,按照-y轴为正面旋转模型,依次为基础做各种方向上的动画。如下图物体的正面朝向为blender中的y轴负方向(不要再在局部坐标系下动模型了!否则后续动画得把所有关键帧重做一遍!)
验证方法2:按 ~ 选择前视图,前视图为物体正面。
另外在做好所有动画后,往动画最后一帧后一帧在插入一个相同状态的关键帧。比如这个动画有125帧,那么在126帧的位置保持模型在125的状态再插入一个关键帧。因为unity中莫名奇妙会吞掉最后一帧,即125帧的动画导进来unity只剩了124帧,在循环播放动画时,物体就随着循环次数的增加而导致模型与初始状态越跑越远。
导出FBX设置:
导入到unity后,取消勾选这个东东:
我这个不是人体模型,选择generic。给这个模型创建一个Avater,否则无法使用动画。
进入animation界面,模型正面与红色箭头指向一致,说明动画没有问题。