Unity + SteamVR + VIVE Pro进行动作捕捉
软件信息
VIVE Pro
硬件信息
vive pro 只可以使用2个基站,并且只能使用vive tracker 2.0一下的追踪器
建议使用 vive pro 2 加 2.0基站*4 加 vive tracker 3.0 *3
一下都已 vive pro 加 1.0基站*2 加 vive tracker 2.0 *3 举例(升级硬件后可以修改此文档实例)
硬件介绍
VR头盔
VR手柄
VR追踪器
VR基站
接线盒
追踪器接收器
硬件安装
从左到右分别是 usb 迷你DP 电源线
usb接入pc usb 迷你DP另一头DP线接入pc
接入头盔线
基站放在斜对角高于人身体高度
启动steamVR
按照提示进行空间定位
将追踪接收器插入pc端usb
SteamVR
主要提供VR体验的解决方法, 在steam上加载steamVR,配置VR头盔,VR手柄,追踪器
配置追踪器
打开管理VIVE追踪器
追踪器选择 左脚 右脚 腰部
在unity中导入steamVR插件
window->steamVR Input 生成配置
打开捆绑配置
启动unity项目 在捆绑UI中选择启动的unity项目
修改控制器信息
可以看到刚才配置的左右脚和腰部
配置每一个追踪器
调整为post
场景配置
导入需要操作的骨骼
骨骼动画类型为Humanoid
导入FinalIK 在场景骨骼上挂载Animator及其骨骼,然后在挂载VR IK
新建脚本实现以下代码封装为一个定位方法
VRIKCalibrator.Settings settings = new VRIKCalibrator.Settings();
VRIKCalibrator.Calibrate(Player.GetComponent<VRIK>(), settings, HeadController.transform,BodyController.transform,LeftHandController.transform,RightHandController.transform,LeftFootController.transform, RigthFootController.transform);
Player为控制的骨骼
HeadController等为VR控制器 包括 头 腰 左手 右手 左脚 右脚
将 CameraRig预制体导入场景
除了保留原有的三个对象外 在新建 腰 左脚 右脚
配置当中 SteamVR_Behaviour_Pose, Input Source 中 Waist对应腰部追踪器 ,LeftFoot对用左脚控制器 RightFoot对应右脚控制器
场景启动开始追踪
运行unity场景,让动捕人员佩戴好装备,摆出T字,为了定位精准,运行两遍定位方法,至此,就可以实现动作捕捉
Unity
EasyMotionRecorder
骨骼动画录制软件,导入此软件后可以录制骨骼运动的动作
场景中导入EasyMotionRecorder预制体
将要录制的骨骼放入指定位置 R为开始录制 X为停止录制
在Resources文件夹下会生成你录制的动作数据
在指定位置右键可以算着对应的动画,录制时骨骼为Humanoid动画,所以生成的时候应该为Humanoid动画
软件扩展
Unity
FBX Exporter+Timeline+Unity Recorder配合可以将录制的动画导出为正好有动画的FBX文件
在要和骨骼一起导出的骨骼对象上绑定Timeline动画
将需要导出的动画拖入帧轨,导入对应animator
打开Window->General->Recorder->Recorder Window
添加Animation Clip 并将对应的场景骨骼拖入GameObject
点击START RECORDING 并开始播放TimeLine动画
录完之后别忘记点击STOP RECORDING
之后会在Recordings中生成对应的动画
在场景骨骼中新建Animator Controller
将生成的动画放入动画控制机
右键场景骨骼
选择 Export To FBX
修改名字然后点击Export
在生成目录下就可以找到拥有动画的骨骼FBX
此FBX可以直接导入到3DMax中使用