【UE4】诺亦腾动捕 注意事项(带hi5手套)
【前言】
动捕建议Orion光捕(红外线定位,Vive手柄),VR开发 动捕两不误。普通的小工作室用Orion就可以了,效果超级棒,除去打包用的开发者账号费用共18600元,很不错了。
诺亦腾的传感器它就是个传感器,而且那个光捕价格综合起来差不多一万八,这个惯性捕捉设备贵而且效果不是特别好,受影响因素较多,操作也比较麻烦。(磁场干扰、充电时间长、放盒子里校准,身上绑带,再把传感器从盒子里掏出来,再安装到带子上...)
【参考价格】
- Neuron Pro——45000
- Neuron Studio——200000
可以买个九轴传感器,通过传感器的位置精确定位位置。一个才40元钱,不知道这样打造简易的动捕设备可不可以。
【手套】
另外这个手套不错。某宝有卖四五百的那种机械臂,感觉原理差不多,只需要将每个关节的舵机数据绑定到虚拟人物骨骼上就能行得通,再加上蓝牙无线连接就可以。
这个1万!
不过效果还不错,每根手指骨骼都能进行相应转动。
视频下午上。 用虚幻官方小白人手指测试。
【吐槽】
穿这个动捕设备好费时间啊,如果可以这样自动穿装备就好了,衣来伸手。
传感器可以一键关机,为什么不能一键开机啊,一个个按好麻烦啊。
感觉官方文档写得有些好麻烦啊,有些是不必要的。
【诺亦腾动捕注意事项】
【诺亦腾+UE4动捕流程】
一、下载安装动捕软件+虚幻插件
【1.1】下载Axis Studio/Pro 收集动捕数据软件
用于捕获多个(17个)传感器的陀螺仪、加速度计、磁力计等数据,通过软件算法整合处理实现惯性动作捕捉。
【1.2】下载 To UE4 Plugin NeuronLiveLink+Perception Neuron(两个)
作用:将动捕数据传输到UE4当中,对虚幻中的自定义角色进行动作捕捉。
链接中下载安装对应的引擎版本插件,4.24/4.25。
将插件放在跟Content同目录下,新创建个plugins文件夹拖进去就好了,不用放在引擎源文件里面。
二、动捕软件连接数据收发器
最后一页啊,用了两个小时知道了防火墙的厉害。。。
防火墙是屏蔽 PC 智能手机 平板电脑 互联网上一些没用的病毒与恶意软件的入侵。
数据通常在人们使用互联网时在网络空间中的计算机与服务器和路由器之间进行交换,防火墙的目的是监视此数据(以数据包的形式发送)并检查是否安全。
防火墙通过确定数据包是否符合已经建立的规则来做到这一点。根据这些规则,数据包被拒绝或接受。
防火墙起的是一个屏蔽作用,插入数据收发器后,可能系统会对此软件启用防火墙,导致数据不能传输。
解决方法:
PC右键属性复制以下链接。
Control Panel\System and Security\Windows Defender Firewall\Allowed apps
确保都允许通过,不受屏蔽。
(或者是直接暂时关闭防火墙,还不管用的话估计是其他杀毒软件啥拦截的吧,全部暂时退出)
三、设置数据收发器的IP地址
连接数据收发器,找到Remote NDIS Compatible Device设备,设置IP地址
(192.168.1.200),最后面的范围在1~240即可,默认设置成200,反正不要跟其他的冲突,可以cmd ping 192.168.1.xxx ,ping不通就可以用这个IP地址
然后设置完后重新插拔 数据收发器的USB数据线。
再进入动捕软件设置Device的IP地址,保持一致。
然后点击连接就可以看到连接好了。
- 可以把Axis 动捕软件比作——大数据可视化处理中心,显示人身上的传感器各种信息等等,并对这些信息进行综合处理。
- 可以把数据收发器比作——人的大脑,接收各种感觉(传感器数据),相当于一个媒介一样。
- 可以把传感器比作——人的眼耳鼻舌身(触)各种感官
绿色代表传感器是开启状态。
人身上各个部位的信号、磁场强弱、电量等。
四、设置 UE4 Livelink,添加动捕设备
我们选择UDP,Port串口默认为7001
官方说Axis 动捕软件可以允许 TCP 和 UDP 两种协议
而Livelink UE4的话只有UDP(不勾选UDP的话,是Offline连接不上的)
我们就都设置为UDP模式呗。(User Datagram Protocol)
- Disable Displacement——忽略动捕骨骼Translation数据,只使用Rotation数据。
- Enable Displacement——如果允许,axis软件中的人物模型要跟UE4中的人物完全吻合。。。
设置本地地址Local Address,cmd ipconfig 找到自己的“本地连接”,IPv4地址,选这个。
确保Live Link插件也开启。(跟面捕一样)
添加动捕设备。
确保Status 为 Running,不是Offline。
【其他扩展】
TCP 和 UDP——
BVH文件(BioVision)——用动捕设备对人体运动进行捕捉后的动捕数据文件类型(也就是骨骼运动数据,可以应用在不同角色上,只要骨骼相对应,不牵扯蒙皮什么问题)。
五、重定向骨骼名称
为了更好的动捕效果,官方建议把骨架名称改成跟它的一模一样。
可以新建动画蓝图,找到NeuronLiveLinkRemapAsset。进行重命名骨骼。
我们把UE4官方骨架的名字变成动捕骨架名字。
- 如果是自定义角色(用虚幻骨骼)的话,Retarget Asset选下面这个。(自己重新写。。。)
- 如果是动捕角色的话创建新动画蓝图,然后选Retarget Asset 为Neuron LiveLinkRemap
Remap_Bone:
- 左边Switch On 的名字是动捕专用骨骼,也就是Mixamo那一套。
- 右边是虚幻自己的骨骼。
诺亦腾官方都不在插件里面写好一套。。。。非得要使用者自己写。
Axis 动捕的骨架其实跟Mixamo的骨架是一样的。
- Hips
- Spine1
- LeftHand
- LeftHandThumb1
- 。。。。
左边Switch On 的名字是动捕专用骨骼,也就是Mixamo那一套。
右边是虚幻自己的骨骼。
诺亦腾官方都不在插件里面写好一套。。。。非得要使用者自己写。
六、使用Auto Rig Pro UE4 骨骼重定向为动捕骨骼
- Auto Rig Pro 有Smart 自动上骨骼(跟Mixamo一样添加标记点),可以把角色骨架导出成跟UE4的官方骨架一样的。(orion 光捕用这套骨骼)
- 还有一个Remap 我还没怎么用过,这里就介绍一下,可以重定向骨骼,类似UE4 Retarget Manager。(诺亦腾惯性捕捉用这套骨骼)
我们需要把UE4的骨骼变成T Pose,才可以Remap,参见下文中的链接,有个T Pose 资源。这里我们就不用这个资源了,我们直接在Blender当中把小白人的骨骼变成T Pose,大家练一下手。
我们从Axis 中导出一个bvh 动捕文件,导入到Blender当中。
【6.1】选源骨骼为动捕骨骼,目标骨骼为小白人UE4骨骼。
【6.2】Auto Scale 让两者骨骼大小一致。(可能因为cm有一百倍的关系)
【6.3】Tab 进入Edit Mode 复制动捕骨骼的T Pose,然后P 分离出来。
【6.4】进入虚幻骨骼 Pose Mode,对单个骨骼添加Constraint约束条件,Copy Rotation,复制骨骼转向数据,转成T Pose 。
- clavicle_l
- upperarm_l
- lowerarm_l
- hand_l
这些。
哦,对了,虚幻Mesh 导出来是会把LOD也导出来的,把除了LOD0的删掉。
【6.5】重新用Auto Rig Pro 绑定虚幻骨骼
T Pose的话进行绑定骨骼效果比较好,尤其是手指部分。
(另:导入进来的UE4骨骼朝向是乱的,所以我们拿Auto Rig Pro重新绑定一下,顺便也当练习)
注意 Spine Limb Options=4,虚幻骨骼有三个Spine。
【6.6】导出角色再导入进来,这样骨骼名字就会跟UE4一样了。
如果勾选Mannequin Axis 的话,骨骼就是跟地面保持水平状态,也就是最初始导入时的骨骼乱乱的样子。
好了,以上只是练习。
旨在学习如何绑定UE4骨骼。
变成T Pose 之后,就可以Retarget了。
可以在外部创建bmap 对应文件,省得在Blender当中一个个枚举选对应了。
这个其实跟Maya Human Ik 还有Motion Builder 对应骨骼传输动捕数据是一样的。
当然还需要调整一下。
调节Pose的时候,想恢复默认Pose 的话,可以Edit->F3->Clear User Transforms.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
到这里就结束了,动画蓝图中角色已经可以驱动了,下面内容可以暂时不看。
一、设置角色相关
设置角色的名字,动捕真人的身高尺寸等,动捕环境(平面/爬坡等)。
二、虚幻设置骨骼对应
添加New Pose Calc
将小白人官方骨架变成跟它这个骨骼一样。
这个跟UE4内置的RetargetAnimation 工具是一样的。只要骨架跟小白人的一致,然后选Humonoid ,骨骼名字就会自动对上。
这个是只要跟它Perception Neuron的官方骨架一样,名字就会自动对应上。
- 左边诺依藤骨骼名称,右边虚幻角色骨骼名称
- 可以UE4蓝图节点手动选一套,自定义角色骨骼就按照虚幻官方的人物角色来(用Auto Rig Pro)
- 也可以用Mixamo Converter插件,稍微更改一下源代码,把虚幻骨骼名称改为诺依藤骨骼名称。
这个怎么说呢?就是诺依藤自己写的另一套插件。NewCalcPose,这个需要配合Perception Neuron Manager(Port:7002)来使用。可以直接将Axis中的BVH文件/实时动捕数据传入UE4当中。
而LiveLinkPose(Perception Axis)是诺依藤根据UE4的LiveLink来写的另一种插件,也是可以实时连接的。
但是两者不能同时使用。
- 创建新蓝图
- 添加骨架模型和Neuron 组件
3.拖拽到场景当中,设置骨架角色和角色动画蓝图。
4.选中Neuron组件,设置角色名称
5.给场景当中添加Perception Neuron Manager 和Spawner两个组件。
- Manager——创建网络通信环境、处理传输进UE4的动捕数据
- Spawner——类型、角色初始位置等
- Spawner 信息内设置要生成的角色,还有角色的名称,Actor Binding这些。
- Manager的Remote IP不需要手动键入设置,插件会自动获取并填充的,如果啥都没有,那就是还没有连接到设备。
串口跟Axis 中的一致,可以到Livelink中查询,7001,7002的。