【UE4】1 调节 2 制作 3 过渡 4 使用动捕BVH5 AR 人物角色动画
【杂谈】
前阵子累死累活搞动捕,动捕有时候真实人物角色和虚拟角色 身体动作是对不上的,比如手臂正常下垂的话,虚拟角色的手就穿插到衣服里面去了。因为啥,因为诺依藤呗。所以我们需要通过动画蓝图进行适当调节(再多次AST Pose 校准/调节传感器穿戴位置都是借口,连运动鞋弹性是否影响动作我们也考虑了,直接拖鞋动捕!)
还有在定序器Sequencer当中通过Slot插槽混合面部表情和身体动作(指定部位动作)。
诺依藤连正常的走路都烂得很,我们试了好长时间哪,就连软件内置的bvh动捕文件走路都一晃一晃的,根本用不成,data process优化那跟没优化一样。
废话不多说。
【导图】
一、调节骨骼动画
【1.1】Transform Bone 蓝图节点调节
- Bone to Modify 选中要更改的骨骼
- Mode 选择,Add 添加(常用)/Replace 替换/Ignore无影响
【缺点:】
- 如果角色使用此动画蓝图,这将对所有动画序列执行骨骼偏移旋转操作。(比如下图中通过Transform 调节手后,当手臂arm向上向下运动时,手指会出现非常难看的弯曲效果,因为是add嘛,不是replace,下面的第二种pose插槽动画方法就是replace方法)
- 每要调节一个骨骼,就要添加一个Transform蓝图节点,非常麻烦,比如下方调节手的pose,而且还需要提升变量。
【小贴士:】
- 如果不提升为变量的话,直接在左边窗口中,WER 移动旋转骨骼即可,省得提升变量了,提升变量每回编译速度比较慢。
调整人物骨骼不推荐使用此种办法。
【1.2】Pose Anim Slot插槽调节
这是自认为特方便的做法。
1.首先动画蓝图中录制一个角色基础Pose 动画(就是Skeletal Mesh的站立姿态)
2.创建当前Pose的动画序列(0帧)
3.shift加选骨骼键入值对多个骨骼 移动/旋转
4.添加关键帧 apply
5.添加完后可以在track 上看到骨骼关键帧,我们可以通过曲线编辑器来调节
curve针对表情动画/ track 针对骨骼动画(位移旋转这些)
- 小箭头下 移除对单个骨骼的历史操作
- asset下移除所以对所有骨骼的历史操作
6.添加slot 对动画进行分组,就跟vertex group 对顶点进行分组一样。
7.layer blend per bone ,对指定骨骼进行blend,如righthand,就是我们上面调好的右手姿势,slot选择hand。
8.定序器中指定slot name,跟动画蓝图中对应上,这样就可以对所有动画进行叠加单个右手姿势了呢。
其他身体部位也一样。(手势相关的可以直接通过骨骼操作然后转为pose asset,就跟blendshape差不多可以随意切换了,也就是vr hands那样抓放)
还有其他anim modifier 调节,看都是添加脚步marker的,没多大用,modifier 就直接这样 slot上了。
二、Control Rig 制作人物动画
感觉这个就是虚幻把自家这个maya制作UE4角色动画的插件ART v1直接放在了ue4当中。
商城搜索control rig 下载项目即可。
【2.1】control rig 蓝图
大概看一下也就这些:
- 【bone】ctrl bind 绑定骨骼空间变换(ctrl 即上面的各种颜色的控制器)
- 左右 手/脚 创建ik,ik可以简单理解为挪动前端骨骼位置location,后面的骨骼跟随运动。(自己可以比划一下出拳抬腿、胳膊肘往外拐等动作)这个涉及矩阵知识特别多,尤其是机械臂开发经常用到。 fk 就是旋转单个骨骼。
【2.2】创建动画编辑环境
- 拖拽controlrig蓝图至世界场景当中
- 创建新的level sequence
- 添加角色
- 添加角色contro rig
我特别喜欢UE的这种界面,UI / 特效Niagara/过场动画 都统一了。
【2.3】编辑角色动画
注意要对所有控制器在第一帧的时候添加关键帧,否则肯定是没有动画的,基础参照嘛。
可以使用曲线编辑器来调节过渡方式。
S / Enter 添加关键帧
不是专业动画师,就简单挪一下做个演示。以后再做个走路动画(真是的,拿诺依藤动捕个走路动画都费劲! 不是腿瘸了就是脚飞了,角色一抖一抖的,根本不能用)
三、过渡角色动画
使用定序器混合,我们不用那些aim offset 、montage、blendspace。
如果要混合特定部位动画的话,就用上面那种slot方式。
【3.1】直接将动画放在一块调曲线出入点及曲线过渡方式
【3.2】分开调节动画权重
四、UE4中 使用BVH 动捕动画
其实那个 ikinema 的Orion 也是可以 Stream到UE4当中的。这里主要讲解诺依藤的。
传统的动作重定向一般都是在Maya、MotionBuilder、Blender(Auto Rig Pro Remap)中进行的。
这里是直接将BVH数据发送到UE4当中,不至于将很多动作库导入到UE4单个项目当中,占用很多不必要的空间。
还有的就是骨骼直接统一了,而且共享动画只用bvh就行了,有些重定向各种困扰的蒙皮权重问题就出来了,这个对于bvh来说不存在。
诺依藤的动捕骨骼和从Mixamo网站下载的骨骼是一模一样的,动捕硬件设备太烂我们不用,软件还凑合。
可以用notepad打开,也就是只要是这种大写的Hips LeftupLeg Leftshoulder这种骨架 ,这样是mixamo骨架名称的bvh文件我们就可以直接使用,使用其他骨架的bvh文件的话,ue4会直接崩掉的。
【4.1】下载软件和插件
看第一节就够了。Livelink就不用了,那个需要设备才可以。
【4.2】axis 导出 BVH动作
注意是yxz旋转模式。
导出BVH文件,诺依藤自带动作是MBX文件。
【4.3】设置角色动画蓝图
NewPose Calc 用于角色重定向。
另外我试过虚幻角色,这样直接重定向是不行的,还得必须是诺依藤(mixamo)骨骼名称才有。
所以我们需要上传虚幻小白人到mixamo 中转化一下。而且毕竟大家自动加骨骼上权重都用这个网站嘛,或者是auto rig pro 也行。
【4.4】转化虚幻官方角色骨骼为动捕专用骨骼
1.可以直接导出角色,一个个骨骼重命名。
2.也可以稍微研究一下这个mixamo convert 插件,将mixamo 骨骼名称变成虚幻骨骼名称。源代码里修改一下就行了。
3.或者是将角色上传至mixamo ,重新绑定一下。
如果感觉权重有问题的话,可以用data transfer modifier,按拓扑传输权重(顶点组)。
【4.5】设置角色蓝图
- skeletal mesh +动画蓝图
- 添加新的perception neuron 组件
- 确保名称和axis 中的名称一致
- bvh asset 可以直接赋予我们【4.2】当中导出的bvh文件
- 也可以不赋予,这样axis中的动作就会实时传输到ue4当中
【4.6】实现结果
第一种:自定义角色胳膊肘可能有些问题,那就是因为T Pose的缘故,恢复为默认pose 就好了。
第二种:这个官方角色的话,因为不是跟动捕骨骼一样是T Pose ,所以手臂是弯曲的,从mixamo下载的时候下载t pose animation。导入的时候勾选 Use To As Ref Pose,将T Pose作为Mesh 的Pose。
综合考量、绑定骨骼之前的模型 pose 还有 T Pose 都可以测试一下。
五、AR 增强现实 角色动画
就是mixamo 这个send to aero。
不过需要翻墙登录美版 apple id 下载个 Adobe Aero。
一个重要的问题,就是上传至mixamo后角色就都变成了白模了。
我也搜了好多
- 有些说fuse cc的可以直接带贴图上传上去,那是因为整个身体的贴图都在一张图上。
- 还有说是fbx格式问题,mixamo 网站上的fbx 版本都很旧的。我用fbx 2013 converter 转了一下还是不行。
- 还有说要把贴图和模型 压缩为一个zip 压缩包再上传上去。
最终都无济于事。
本篇就水到这了。
又累又穷又好心 ing ~~~