设置MotionBuilder的操作模式
MotionBuilder的T-Pose设置(3d-max的操作模式)
1)显示模型和骨骼
2)将左手和右手的肩甲骨、上臂、前臂、手掌(不包括手指)的Y轴和Z轴都设置为0;
3)确认角色的脚掌是贴着地面的;
4)角色化
选择角色的任一骨骼后,点击Skeleton
选中角色的任一骨骼,然后在右边的骨骼里选择对应的骨骼,对应成功后右边的骨骼会变成绿色,且对应了角色左边骨骼(左手、左脚等)后,右边骨骼会自动对应上;
此处对应UE4骨骼里的spine_01,里面的则是Spine01对应UE4骨骼的spine_02,02对应03
UE4骨骼的neck只有一个,对应最下面一个即可
完成角色化
导入选项里需要打开命名空间选项,并使用一个前缀来处理重名问题,防止因重名导入角色之间的相互覆盖问题;
合并导入需要转换动画的角色
1)隐藏UE4小白人
ctrl+w进入图解视图编辑器,选中小白人(shift为多选)
为小白人创建一个组,并将该组隐藏
2)对合并进来的角色进行T-Pose和角色化操作,完成后可以根据此处查看已完成角色化的角色(注:BIP骨骼可以直接角色化,不需要手动设置骨骼,但需要设置root骨骼的位置,BIP骨骼的root为盆骨,而非盆的投影)
编辑左边也能查看
重命名后
导入UE4小白人的动画
导入动画时,一定不能勾选命名空间选项,而是让动画文件覆盖原来的角色
导入成功后动画滑块的长度就是导入动画原本的帧数,无需再次设置
动画导入后角色模型会变成平躺状态,需要先选角色的根骨骼,再将X轴旋转90度
注:旋转的骨骼如图所示,不是root骨骼;
旋转前为-90度
选择源动画骨骼,完成动画转换
转换后
塌陷骨骼,创建骨骼控制系统
塌陷后,ctrl+a显示骨骼控制系统
AnimationLayers里创建的新层里修改的骨骼,会在每一帧里都生效(此处是逐帧动画);
选择动画图层后,可以对动画进行调整(注:手指调整时需要设置成局部坐标轴,肩胛骨调整时需要设置成世界坐标)
下图中两个选项都不激活时,骨骼的位移和旋转是相互影响的;都激动后,则位移和旋转互不影响;
将模型修改部分复制下来,以便在其它动画里使用,红色显示的骨骼为已选中的骨骼;
下图中M为镜像,选择后可以将左边手指的pose镜像到右边手指;
动画调整完成后,需要K一下帧,记录动画数据,否则滑动动画滑块后,又会变成调整前的动画姿势;
导出动画到UE4
1)将动画塌陷到骨骼
2)在图解视图里选中要导出的动画
默认导出
3)导出成fxb文件
4)导入相同骨骼的不同动画时,只需要将上面已经摆好T-Pose和角色化的文件复制一份,再在复制的文件里合并进新的动画,再调整导出就行;
--------------------------------------------------------
动画重定向
1)导入源动作的T-POST文件(源POST文件导入时需要对骨骼加前缀,以防骨骼名称冲突),再创建动画轨道,最后导入动画文件
2)选择动画的骨骼,将动画轨道的开始拖到0帧处,调整动画的帧率和长度;
3)合并动画转换的骨骼,设置骨骼,再次设置动画长度和帧率
4)Bake并导出
在maya中给模型添加骨骼
F3菜单
调整骨骼的位置
选中骨骼和模型,然后绑定蒙皮
导入人物模型,并通过连接关节,将武器连接到人物模式的手掌上(需要先选择武器模型的根节点,再选择人物模型手掌上的武器骨骼)
调整武器的方向和位置
装备外形切换
1)导入角色系统中有变形的文件,并删除大纲视图中灰色的操作
注:except_pants3.fbx为上衣、手套、护腕、鞋子的变形;legs3.fbx为裤子的变形;
2)导入新装备的静态模型,缩放模型并将其移动到骨骼上对应的地方;
3)先选择静态模型,再选择骨骼上LOD(有先后顺序,不能反过来选择),点击变形里的包裹命令
4)打开形变编辑器,并将形变编辑器里最下面的bodyfat设置为1
5)将变形后的静态模型复制(ctrl+d)一份,并移动到骨骼旁边,再删除包裹操作和骨骼上的LOD
6)先择变形后的胖模型,再选择原本的模型(有先后顺序,不能反过来选择),点击变形菜单中的混合变形选项
7)检查混合变形的效果
8)选择骨骼和导入的静态模型,点击F3菜单中的蒙皮
9)将模型单独导出
变形和蒙皮是默认导出且不能更改的
从maya中将蒙好皮的模型导入UE4
导入时合并到UE4里相同的骨骼上面,且导入和变形和LOD的选项一定要勾选,默认是不勾选的
导入成功后,在UE4
注:实际使用时变形的目标名称要和捏人系统里的一样
捏人系统备注
1)ScalarSlider,滑杆用来控制材质参数,如皮肤的对比度、光滑度等;
2)BoneSlider,滑杆用来控制骨骼的缩放,如手臂的维度(左右上臂、前臂、手掌六节骨骼同进缩放);
BoneSlider控件中直接设置角色下的BoneLengths(该数组为自定义)数组,然后在动画蓝图中的事件图表中更新动画蓝图中定义的BoneLenghts数组,最后在动画蓝图里的动画图表里设置骨骼对应的缩放;
3)MorphGroup,通过变形曲线控制人物蒙皮,如形体(body),曲线内容在主UI里进入设置
Morphs数组备注:Name-曲线名称 DisplayedName-UI上显示的名字 Min-变形的最小值 Max-变形的最大值
样式修改
------------------------------------分隔线喵-----------------------------------------
查看模型骨骼的权重值
选择对应的骨骼后
将模型放入场景中后,可以直接测量模型的实际高度(鼠标中键)
模型的导入和导出(maya)
导入前的小白人骨骼
将小白人的模型导入maya后,骨骼层级会多出一层
如果原封不动的导出UE4,则会在UE4的骨骼层级里也会多出一层
在maya里将root和sk_mannequin_lodGroup移动到多出来的SK_Mannequin骨骼同层级,并删除SK_Mannequin后,再导入UE4就 不会多出一层骨骼
在maya里解除LOD的锁定后,可以移动小白人
创建人物模型的通用LOD规则
骨骼上的插槽里添加预览的静态模型,比如武器
世界位置和本地位置
创建骨骼绑定
在动画序列的最后一帧上可以添加循环帧,用来过渡动画
UE4里的循环帧是根据最后一帧和第一帧做插值产生的;
动画蓝图中可以获取动画序列中曲线的值,用来做一些效果
同一套骨骼的动画序列,某个曲线创建或导入后,在其它动画序列里都可以设置相同的曲线,也可以删除曲线
动画压缩,用来节省动画资源的大小,压缩的原理是根据设置的模式去掉部分关键帧
动画序列和动画蒙太奇
在蓝图中可以直接播放动画序列和动画蒙太奇(蒙太奇需要将本蒙太奇使用的插槽添加到动画蓝图中)
mesh里除了选择动画蓝图外,也可以直接选择某个动画序列或动画蒙太奇
动画蒙太奇相对动画序列,自带了混合
根骨骼动画
播放原地动画时,ForceRootLock需要勾选上,未勾选播放带移位的动画时,会出现角色先进行位移,动画播放完成后,瞬移回原位;
动画Pose
用来做动画叠加,如跑步过程中的点头,眨眼,向左或向右看等(在播放动画的过程中使用曲线控制);
混合空间里的插值选项
该插值用来控制从一个姿势转换到另一个姿势时的时间,用来平滑转换不同的姿势;
上图的中的水平坐标用来控制角色的左右转向,垂直坐标用来控制角色从走路到跑步的过程;
给骨骼或插槽添加跟随骨骼移动的特效
注:该通知特效如果是持续型特效(如一直燃烧的火焰),则播放后,特效会一直存在,不会自动消失;非持续型特效(如爆炸)则会消失;
Attached为跟随移动选项
注:该通知特效如果是持续型特效(如一直燃烧的火焰),则播放后完成后,特效会消失;非持续型特效(如爆炸)则会在通知结束时播放;
选项没试出来有啥用
该通知会在通知期间禁用蒙太奇的RootMotion,位移动画会原地播放,通知结束后的动画位移会正常产生;
动画通知里开关布料模拟的选项
通知类型
下面的数字队列的优先级别,队列里的通知较多时,会有延迟;
BranchingPoint类型的通知不会有延迟,但同一时间有较多通知时,会存在某些通知不执行的情况,不推荐在有需要改变角色状态(如攻击开始、攻击结束)的通知里使用;
混合空间里动画序列通知的权重
动画通知触发权重值
蒙太奇动画通知执行顺序
蒙太奇动画通知被打断后,没播放的动画里,如果有通知,是不会执行的;如果没执行的通知里有维护角色状态的逻辑,则会出BUG;
通知状态类型的通知,算被打断后,如果通知开始已经执行,则通知结束的也一定会执行,但如果被打断时,通知开始没有执行,则整个通知都不会执行;
状态机
状态机条件里,上面的两个为上一个状态的百分比,下面的为上一个动画的百分比,推荐使用上面的那两个,下面的那个跟动画相关的,如果动画补替换掉后不会报错;
状态机通知
下面的通知定义后,可以动动画蓝图里直接调用
敌对角色的攻击被打断的受击动画一般是由播放蒙太奇动画来完成,无打断的受击一般是由动画蓝图里的叠加动画完成;
动画蓝图里的空pose
弹簧控制器
拖尾控制器
拖尾控制器的骨骼需要选择尾巴的最后一节,ChainLength则是需要有拖尾效果的骨骼节数
防御塔LookAt的插值选项
IK(反向动力学-逆向动力学)
正向:通过骨骼的旋转造成位移;
反向:通过骨骼的位移造成旋转;
IK的作用:在3D动画软件里,创建了模型的IK后,可以通过IK骨骼的位移,去生成产生位移的相关的骨骼的旋转,提升K动画的效率;
捏脸系统需要新的GameMode,并将DefaultPawnClass指定为捏脸的角色;