这一波作弊行为大约是在半个月前进行的。
当时在各地听到一些传闻,比如【gltf是3D的jpg】、【blender的FBX导出不完整】等等。 另外,我在Unity 2019.3版本中导入FBX时,确实遇到了无法导入多个动画的bug,所以我就想是不是用gltf导入会比较好。 于是我花了半天时间测试了一下。
结论是:FBX仍然是最稳定的
我们先来看看gltf的表现。
导入静物或许还可以,但是导入动画的人物肯定不能满足需求。
Unity本身不提供gltf导入。 在Github上可以找到的三个星星相对较高的导入插件包括GLTFUtility、UnityGLTF和UniGLTF。 最新版本的 UniGLTF 已集成到 UniVRM 中。 测试结果如图所示。 虽然我没有根据文档尝试过它们的所有功能,但是可以肯定的是,它们绝对没有FBX那么好用。
于是就去YouTube参考了别人的FBX导入教程(),终于找到了导入角色动画的正确姿势。
准备
在blender中,首先使用rigfy插件生成的人形骨架(metarig)来绑定角色游戏开发素材,然后点击Generate Rig3dmax动画导入unity,用控制器生成对应的骨架(rig)。
事实上,正常流程中应该先生成装备骨架,然后直接绑定模型即可。 但钻机骨架的层次结构相对复杂。 如果能自己做动画就好了,但是把其他动画资源重定向到它自己就麻烦了。 因此,我选择直接将其绑定到相对简单的metrig上,然后使用我编写的动画重定向插件将rig骨架的运动映射到metrig上。 因为rig是基于metarg的结构生成的,所以通过简单的重定向就可以达到100%的一致性,这样rigfy控制器就可以用来制作k帧动画。
k完成动作后,进入Metarig的姿势模式,使用烘焙动作功能清除所有约束并将其烘焙为关键帧。
另外,如果你仔细看的话3dmax动画导入unity,你会发现这个按钮已经被放到了插件面板的右下角。
烘焙时需要开启【视觉插入框】,烘焙数据选择【姿势】,其他选项视情况而定。 一般来说,没有必要明确约束。 该插件刚刚更新了一个打开和关闭所有约束的功能。 如果关闭约束,则可以直接查看烘焙的动画。 无需清除所有限制。
烘焙动作后,打开动画摄影表-动作编辑器,为动作命名并激活[Pseudo User],即盾牌。 在下拉框中,你会发现动作前面有一个F,保证动作不会丢失。 。 之后,您可以点击右侧的[×]开始下一步操作。
除了以这种方式保存单个动作剪辑之外,NLA 轨道也是组织动作的一种方式。 如果您有兴趣,还可以查看相关教程。
出口
保存所有动作2d游戏素材,关闭骨架上的所有约束,然后导出。 首先选择需要导出的骨架和网格,在导出设置中勾选【选定的对象】。 确保不要使用多余的钻机骨架。 也一起出口。
事实上,blender项目文件也可以直接拖入Unity中,但这也会导入所有多余的对象,例如灯光和相机控制器,所以如果你想保持整洁,你仍然需要使用FBX传输
对于其他导出设置,只需将其复制到此处即可。
更重要的属性是[Apply Scaling]。 在下拉框中的4个选项中,选择第二个或第四个将确保导入过程中所有骨骼的缩放比例保持为1。 第一个或第三个根骨骼将由于单位转换而缩放为 100。 虽然看起来是一样的,但是无意义的缩放总会带来麻烦,应该尽量避免。
进口
打开Unity,将FBX文件拖进去,可以看到所有的动作都是单独存储的。 您不再需要花时间削减动作等。
其他设置是Unity的基本操作,例如在Rig面板中选择Generic骨架以及从当前模型创建Avatar。
如果你想使用根动画,我将 RootNode 设置为第一个脊柱。 因为我的插件纯粹依靠骨骼来进行位移。
最后如上图,这段时间我的动画重定向插件更新了一些细节,大家可以clone新版本。 但如果你想让它变得更加Pro,那么使用release页面进行分发不是更好吗? 。
如果大家有什么新的建议,可以继续在评论区交流或者来我的更新提醒群。 每多一条评论,我在为老师辩护的时候就多了一分虚张声势_(:」∠)_