Unity + SteamVR + VIVE Pro进行动作捕捉

本文详细介绍如何使用Unity结合SteamVR及VIVE Pro设备进行动作捕捉,包括硬件配置、SteamVR设置、Unity项目搭建、骨骼动画录制及导出FBX等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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中使用

HC-SR04超声波测距模块是一种常用的测距传感器,可以通过发送超声波脉冲并接收回波信号来测量距离。在STM32库函数版中,可以通过以下步骤来使用HC-SR04超声波测距模块: 1. 首先,需要包含"sys.h"头文件,并初始化HC_SR04超声波模块,可以使用HC_SR04_Init()函数进行初始化。\[1\] 2. 在测距之前,需要向Trig控制端输入至少10us的高电平触发信号,可以使用HC_SR04_start()函数发送20us的脉冲触发信号。\[1\] 3. HC-SR04模块内部会发送8个40KHz的方波并检测回波信号,一旦检测到回波信号,Echo接收端会输出高电平回响信号,高电平的持续时间就是超声波从发射到返回的时间。根据公式:距离=高电平时间*声速(340M/S)/2,可以计算出测得的距离。\[2\] 总结来说,使用STM32库函数版的HC-SR04超声波测距模块,需要初始化模块并发送触发信号,然后根据回响信号的高电平时间计算出距离。 #### 引用[.reference_title] - *1* *2* [STM32——库函数版——超声波测距模块](https://blog.csdn.net/qq_45844792/article/details/111215858)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32连接HC-SR04超声波测距(结合STM32CubeMX和HAL库函数)](https://blog.csdn.net/wuwenbin12/article/details/118575989)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值