Import Animation

蛮早的一片文章,发表在魔型志Sculptup上,欢迎大家关注公众号,最近又接触了一些动画团队的动画师,聊起了关于如何规范的将动画标准的导入到UE4中。

下面聊一下制作ue4动画的时候遇到一些流程上的问题,我这边简单整理了一下有关ue4外部导入角色类动画方面的经验,会有很多不足的地方 希望各路动画大神多多提点,后续我这边会更新关于-碰撞的制作,骨骼类动画命名,Matinee(这里要现在换成Sequence)等方面的配套文章,以下仅阐述了部分导入方面的注意事项。

强调下,做动画的朋友注意下,动画信息一定要分两步导入

1.Setup文件(不包含任何控制器约束关系的,只包含,骨骼、模型以及蒙皮信息的文件)

2.动画数据文件(保证文件结构统一于Setup的文件),包含动画信息(且导入时不勾选模型信息) [HR][/HR]
关于动作流程

  1. 拿到模型绑定文件后 检查 /修正/导出工作。

A 确保绑定文件组别关系

1.“大”组 确认名称正确

2.骨骼 确认名称正确

3.Mesh 确认名称正确

· 确保骨骼以及模型 务必在导出时保持在一个组别当中

原因:UE4 在对于绑定类模型进行识别的时候 非成组文件 会出现识别类错误(老文章,4.13以后对于同组这个说法已经不存在了,之前的版本会出现错误,不过个人建议依然以保持组,这样存在一个可逆的问题

· 确保所有组/骨骼/模型 都不出现重名的现象

原因:UE4导入FBX时会出现报错,造成模型无法被识别

· 确保每个模型均有权重信息

原因:即使是组中模型,没有全重信息的模型 也将不会被导入引擎

· 骨骼务必仅有一个根骨骼,即所有骨骼务必被一根骨骼总体控制

原因:如出现多骨骼独立存在 将不会被引擎识别

错误

正确
B 关于导出注意事项

· 确保骨骼动画 逐帧动画

原因:传统三维软件 会对骨骼动画进行曲线自动过度处理,而引擎不会,它只识别动画信息而 不能进行曲线的过度。

传统曲线

逐帧动画曲线
· 关于烘焙: 以maya2016为例(max也有类似操作)

确认模型动作完毕后 执行 烘焙模型动画(选择全部骨骼 执行下面的命令)

· 导出选项

1 文件命名

导入引擎的动画文件一般会有如下方式命名

SK_AAA_XXX.fbx

SK : 含骨骼动画类模型

AAA:动画名称(如Run/Walk/Clamp/JumpStart/RunToWalk)

XXX:角色名称

例如:以角色Scrap 为例 它包含以下命名

SK_SetUp_Scrap.fbx

SK_Idle01_Scrap.fbx

SK_Run01_Scrap.fbx

SK_WalkToRun_Scrap.fbx

2 文件导出选项

勾选Smoothing Groups选项

原因:确保模型导出法线平滑组不会变更造成模型软硬边错误

确保动画类fbx文件导入时 勾选动画 以及蒙皮信息选项

原因 :不勾选动画/蒙皮信息,文件将丢失动画/蒙皮信息(默认不勾选,导出时务必确认)

ps:关于constraints的勾选问题

这里所包含的maya本身的约束关系信息,它可以被motionbuilder识别,但不会被引擎识别,请根据情况进行勾选。

导出fbx版本 推荐使用2013版本

**原因:**2014版本fbx,由于Autodesk在14年时出现人员大幅度变动造成版本不完善

2015/2016版本fbx , UnrealEngine4 出现的时间早于2015 所以稳定性未得到保证

2013版本相对比较稳定(老说法了,现在都19了,15 16 17都不是什么问题了)

3.关于MotionBuilder对于动作的处理帮助

Motion Builder 动画信息转移/烘焙/制作 方面很权威的动画软件

·关于我们需要使用它那些方面

· 动画烘焙(非同骨骼之间的动画烘焙)

完美识别动作库资源,如常规动作库资源bvh(网络上拥有大量动作库文件可调用-请尊重版权)

导入流程(具体motionbuilder操作流程请参照后续发布相关文章,此处仅提供步骤不做具体说明)

1.拖入bvh文件

2.确保所有骨骼rotation属性全部归零

3.确保根骨骼除Y轴方向位移以外数据全部归零

4.对修正后的骨骼进行角色化处理(存储)

5.导入事先准备好的角色setup文件,进行角色化处理

6.使用之前处理好的bvh文件 对使用的角色进行驱动

7.烘焙动画

ps:请注意fbx文件导入 motion builder 时约束关系是可以被识别的,这里请确保导入文件含有约束信息再进行动画的烘焙

· 动画修正与制作

1.修正由于骨骼的长度不同造成的穿帮以及滑步等Bug(曲线修正/控制器修正)

2.使用motion builder工具 对角色动画进行再编辑

· 动画输出

1.输出Setup文件

这边需要强调一下,可能有的朋友要问 先前使用三维软件已经输出了一次Setup文件 为什么这边再次进行输出

原因: 我们需要使用motion builder进行骨骼动画的烘焙,烘焙时软件会对角色的信息进行修改,会出现控制器信息(ctrl rig),这就造成我们导出的animation文件会与Setup文件之间存在差异,这样引擎就无法识别动画信息,因此在进行动画烘焙的时候 请先将Setup(角色化后到)文件进行一次motionbuilder的输出 确保 后续输出的动画文件均由Setup文件衍生出来,确保统一性。

2.输出Animation文件

确保骨骼动画烘焙完毕,非ctrl rig状态

确保fbx模型骨骼数量命名与Setup文件一致

确保文件命名正确

3.导入引擎注意事项

· 导入选项明细

A 非骨骼类fbx导入界面

注意事项:

1.一般情况下单体导入文件状态 不建议勾选Material下的选项

勾选后会生成外部软件所产生的材质球以及贴图文件(容易出现bug

建议仅勾选Textures选项

2.除简单几何造型外,不建议勾选Auto Generate Collision选项

勾选后会自动生成碰撞区域,部分需要精度碰撞体模型需事先制作好碰撞区域

建议外部进行手动制作非简单造型的碰撞区域,以减少服务器压力(关于碰撞制作请见后续碰撞体制作相关文章

B骨骼类模型导入界面

注意事项:

1.Mesh选项

导入Setup文件

请务必勾选

Import as Skeletal 作为骨骼模型导入

Import Mesh 导入模型

当出现表情动画骨骼文件Setup导入时 请勾选

Import Morph Targets 导入BlenderShape 信息

当出现物理方面骨骼文件Setup导入时 请勾选

Create Physics asset 创建物理信息

Physics Asset 识别物理信息

这里要说明下,物理信息是独立导入ue4的Phyx 信息

导入Animation文件时 请务必不要勾选

Import Mesh 导入模型

Skeleton 查找对应导入的Setup文件