UE4官方商城里面有很多比较好的动作包,我们可以将这些动作包转化成BIP进行输出,在别的角色里进行调用。
UE4动作转BIP一共有4个大步骤:
◆ 1.UE4骨骼Tpose设置
◆ 2.3Dmax骨骼Tpose设置
◆ 3.MotionBuilder动作烘焙和导出
◆ 4.3Dmax BIP导出
1. UE4骨骼Tpose设置
动作预览 这里我下了个免费的素材给大家举例子。添加项目工程后,找到关卡【Overview】并打开,点击【播放】,即可预览当前的动作。
查看所有动作 找到【Animation】文件夹,该文件夹内放的都是动作。随意双击一个动作打开面板,在该面板的右下角【资源管理器】中,包含了所有的动作文件。
寻找静态网格(模型)我们选一个动作,然后找到这个动作的模型,点击【网格体】——【搜索】。通过网格体窗口可以看到这个模型还不是Tpose(Tpose应该是两手伸直的状态),我们还需要将模型进行处理。
导出模型 【右键】——【资源操作】——【导出】——【选择要导出的文件夹】——【取消勾选Collision(碰撞体)】
接下来我们需要用到 MotionBuilder 这个软件,如果没有安装,可在本公众号内查找该软件进行下载安装。
更改MotionBuider操作模式【Settings】——【Interaction Mode(交互模式)】——可以更改成我们熟悉的maya,3Dmax等——【OK】
因为个人比较习惯用3Dmax的操作方式,所以这边选择了3Dmax。
注意:MotionBuider的文件路径必须是英文路径,尽量不要用中文路径,不然在保存文件的时候可能保存不出去。
打开导出的UE4模型文件 【File】——【Open】——【选择文件SK_Mannequin.FBX】——【打开】——保持默认【Open】。
隐藏模型只显示骨骼 【选中模型】——【右键】——创建组【Create Group From Selected Item(s)】——找到右下角下面的【Group】——【取消勾选第一栏】。
尽量养成边做边保存的好习惯,我们可以将模型另存为SK_Mannequin01.FBX。
将模型改成Tpose状态 (如果不改为Tpose状态,重新指定骨骼时可能会指定不上,或者会出错)
1.【选中胳膊】——更改为旋转模式【E】键——【Y轴和Z轴更改为0】,将余下的胳膊和手掌骨骼都做这样的更改——【保存】。
2.创建骨架 点击【Skeleton】——【Define】。
完成上一步操作后,可以看到右边面板出现一个小人的标志,下面英文的意思是缺少必需的骨骼,我们必须把对应的骨骼重新指定到右边的面板中。
【选中头部】——在右边的面板中【右键】——【Assign Selected Bone】,这时候小人面板中头部会变成绿色,就说明我们已经将头部的骨骼指定上去了。
要注意查看选中骨骼时的骨骼名称,不要指定错了。
接下来点击【脖子neck】——【脖子位置的小三角箭头】会看到右边面板有多个骨节,脖子可能会有多段,可以由下到上指定上去,当前的脖子只有一段,我们只需要指定最下方那个就可以了。
在右边的面板中【右键】——【Assign Selected Bone】。
余下的骨骼都按上述操作给它指定,注意锁骨是从左往右指定。最后指定完成后右边面板都是绿色,并且右上角有个√,说明就指定好了。
如果是有出现黄色的骨骼,则说明指定出错,这时候需要对该骨骼的XYZ轴再进行调整,重新指定。
对骨骼进行锁定 【点击右边面板中的小锁图标】——【Biped(两足)】——【保存文件】。
2 .3Dmax骨骼Tpose设置
该部分在3Dmax和MotionBuilder中操作,该操作只需要制作一次就行,以后都可以拿这个文件再套用。
创建Biped 【Biped】——【拖动位置】——【设置链接数】——【高度改为180】——吸附【S键】——【点击中心位】——【保存文件】。
改为Tpose状态 可以在3Dmax中做,也可以放到MotionBuild里处理,操作是一样的。
导出FBX格式 在3Dmax中做完Tpose后,或是放到MotionBuild中处理前,都要导出fbx格式的文件。
【文件】——【导出】——【命名】——【保存】——取消勾选【动画】,其余保持默认。
这里我放到MotionBuild中处理,打开刚刚保存出去的3dmax.fbx文件,和之前在UE4中导出的fbx文件操作一样,将该骨骼设置成Tpose状态并保存。
区别在于指定时3dmax.fbx不仅可以选择用【Skeleton】的方式操作,也还可以用脚本生成。
脚本指定骨骼 找到面板下方【Asset Browser(资源浏览器)】——【Tasks】——【3dsMaxBipedTemplate.py】——【点击任意一个骨接】——【直接将该脚本拖到该骨节中】——【Execute(执行)】——【保存】。
完成以上操作后就可以传递动画了。
3 .动作烘焙和导出
UE4导出动画 我们重新回到UE4中,导出我们需要的动作。
合并Tpose 在MotionBuilder中,合并指定好的UE4文件(SK_Mannequin01.FBX)和3D文件(3Dmax.FBX),【File】——【Merge(合并)】——【选择文件打开】——保持默认【Merge】。
合并后可以看到两个骨骼是重合在一起的,身高比例也几乎一致。如果身高比例不一致也没关系,动作也可以传递过去。但是尽可能的保持一致,以避免出错。
动作导入 找到左下方【Story故事面板】——【右键】——【Insert(插入)】——【Character Animation Track(角色动画轨道)】——在轨道空白处【右键】——【Insert Animation File】
将该文件【时间拖到0帧】——【时间轴更改为120】,现在拖动时间轴,骨骼是没有变化的,我还需要将该文件赋予骨骼,进行动作传递。
动作传递 左下角处选择【Character】(Bip001是max文件的骨骼,Character是UE4的)——右上角面板的【Source改为Character】,这样两个骨骼之间就完成了动作传递,可以进行相同的动作了。
烘焙导出
烘焙:【点击右上角蓝色图标】——【Bake(Plot)】——【Bake(Plot)To Skeleton】
导出:【File】——【Motion File Export】——【命名】——只勾选【Unreal Take(UE4轨道)】
导出后就可以在3Dmax里使用了。(注意:2014版的max可能会出错用不了,2016以上大概率是没问题的)
4 .3Dmax BIP导出
FBX文件导入 在打开3dmax.max文件的状态下【文件】——【导入】——文件内容改为【更新动画】——【确定】,动画就传递过去了。
【Ctrl+Alt+鼠标右键】根据动画调整时间轴结束时间后,就可以把当前的动作保存出去了。
【保存】——【命名】——勾选【在当前位置和旋转上保存分段】——取消勾选【每帧一个关键帧】【保存max对象】【保存列表控制器】——【保存】
到这里UE4转BIP就完成啦!