2024年3月9日发(作者:巴谊)
HTC VIVE基础开发文档(Unity3d)
一、硬件配置要求
若要使用 Vive,您的电脑必须满足以下最低系统要求。
GPU:NVIDIA® GeForce® GTX 970、AMD Radeon™ R9 290 同等或更高配置
CPU:Intel® Core™ i5-4590/AMD FX™ 8350 同等或更高配置
RAM:4 GB 或以上
视频输出:HDMI 1.4、DisplayPort 1.2 或以上
USB 端口:1x USB 2.0 或以上端口
操作系统:Windows® 7 SP1、Windows® 8.1 或更高版本、Windows® 10
二、开发环境配置
1、SteamVR平台的安装
1、首先下载Steam游戏平台。
2、在Steam主界面中选择“库”。
3、在库中选择工具。
4、查找SteamVR,点击下载。
5、安装完成后,在显示器左下角会显示如图下图所示图片。在该界面可查看HTC VIVE手柄、头盔以及基站的当前状态,当硬件出现故障时还会提示错误信息。
2、房间设置
1、当成功安装SteamVR后,打开Steam游戏平台。
2、运行SteamVR。如下图:
3、选择SteamVR运行房间设置。如下图:
4、之后按照提示操作。
注:房间设置分为“房间规模”、“仅站立”。
房间规模:自由设置可移动范围,可小范围自由移动。
仅站立:不支持自由移动。
3、SteamVR插件导入
SteamVR插件与上文中提到的SteamVR平台是不同的,SteamVR平台主要是为了协助开发者查看修改HTC VIVE状态信息的,而SteamVR插件主要是协助开发者完成软件开发工作的。SteamVR插件是由官方提供的开源的完全免费的一款插件在Unity Asset Store可下载。
操作步骤:
新建一个Unity工程。
打开Asset Store窗口,搜索SteamVR下载即可。
导入Unity后找到”[CameraRig]”拖入场景,运行。
注:
1、 在将插件引入到Unity5.2版本时会报错,此时删除SteamVR文件夹下的Editor文件夹即可。
2、 引入到Unity5.3时,有时会出现画面重影Bug。
3、 暂时认为Unity5.4比较稳定。
三、HTC VIVE手柄
1、按键说明
如图所示:
1、 菜单按钮
2、 触控板
3、 系统按钮
4、 状态指示灯
5、 Micro-USB端口
6、 追踪感应器
7、 扳机
8、 手柄按钮
2、指示灯
绿色:表示HTC Vive手柄目前状态正常,可以正常使用;
蓝色:表示操控手柄已经成功和头戴式设备配对;
闪烁蓝色:表示操控手柄正在和头戴式设备进行配对;
橙色:表示手柄正在充电,当手柄变为绿色时,表示充电完毕;
闪烁红色:手柄低电量,即将没电;
3、手柄开关
1、 开启手柄:按下系统按钮,当听到“滴”的一声时,表示HTC Vive手柄成功开启;
2、 关闭手柄:长按系统按钮,当听到“滴”的一声时,表示HTC Vive手柄已关闭。
四、手柄控制
在讲述手柄控制之前,我们先来看一下”[CameraRig]”这个预置的结构(Unity5.3之后删除了Model,将手柄模型渲染脚本直接添加在了Controller上):
Controller(left):左侧手柄(相当于人的左手)。
Controller(right):右侧手柄(相当于人的右手)。
Camer(head):头盔。
Camer(eye):相当于人的眼睛。
Camer(eye):相当于人的耳朵。
Model:主要是为了再虚拟环境下创建手柄模型。
在现实环境中,我们的两个基站主要负责接收两个手柄与头盔发送的信号以及向它们发送的信号。而左右手的区分,系统会自动识别。
而在SteamVR插件中也对手柄与头盔进行了特殊处理(添加SteamVR_TrackedObj组件标记为跟踪对象)。这样基站就可以检测手柄以及头盔在现实环境下的位置信息。
我们在读取手柄的输出信息时,用到SteamVR_TrackedObj组件。步骤如下:
1. 获取SteamVR_TranckedObj组件下的Index变量。
例:GetCommpent
2. 然后通过SteamVR_Controller类下的Input接口获取实现手柄按键输入类型。
输入类型包括以下几种:
GetPress:长按。
GetPressDown:按下
GetPressUp:抬起
GetTouch:一直触摸
GetTouchDown:触摸
GetTouchUp:触摸抬起
TriggerHapticPulse:震动
3. 获取按键类型通过SteamVR_Mask类获取。ButtonMask上述所说的所有按键。如:扳机键 SteamVR_r。
4. 手柄输入实例:
扳机键按下:int index= (int)GetCommpent
SteamVR_(index).GetPressDown(SteamVR_r);
手柄震动:SteamVR_(index). TriggerHapticPulse(200)。参数标示震动强度。
五、UI设计(UGUI)
UI设计主要是通过UGUI的3DUI或者通过3D模型来实现。
操作步骤:
1. 首先创建一个Canvas。然后将Canvas的Render Model设为WorldSpace。如图:
2. 将Canvas Scaler组件中的 Dynamic pixels Per Unit 适当调的大一点(过大好像会影响性能),原因为这样可以提高该画布的单位动态像素的数量,可以解决UGUI文本模糊的问题。(3D UI中文本非常模糊)。
3. 然后创建UI,调整适当大小以及距离。(若需要将UI更随头盔转动,则需要将Canvas
作为Camera(head)的子节点)。
4. 有时会遇到Text中字体显示不出来的情况,这时可以尝试着调节Text 的scale。
最终效果如下:
六、常见错误代码分析
(113) 路径注册表法写入
无法保存 SteamVR 所需的路径。您的权限设置可能不正确 – 确保您可以写入电脑上的用户目录。
(200) 驱动程序失败
OpenVR 驱动程序失败。您的权限设置可能不正确 – 确保您可以写入电脑上的用户目录。如果您曾经手动添加内容至 SteamVR 驱动程序目录,请删除。
(206) 驱动程序未校准
无法从头戴式设备加载校准文件。请将头戴式设备从电脑上拔下,然后在 SteamVR >“设置”>“重置”下,单击“移除所有 SteamVR USB 设备”。接上头戴式设备,再等待驱动程序安装。如果仍然出现此错误,您的设备可能存在故障。
(207) 驱动程序校准无效
无法从头戴式设备加载校准文件。请将头戴式设备从电脑上拔下,然后在 SteamVR >“设置”>“重置”下,单击“移除所有 SteamVR USB 设备”。接上头戴式设备,再等待驱动程序安装。如果仍然出现此错误,您的设备可能存在故障。
(208) 未找到头戴式设备
确保头戴式设备连接正确。
(301) 连接失败
无法启动或连接到 。可能是该进程已在运行中。请尝试退出 SteamVR,再启动任务管理器。查看是否有 。如果仍在运行,请退出该进程。重新运行
SteamVR。
(302) 初始化失败
Vrserver 遇到启动问题。请尝试重启电脑,再重新打开 SteamVR。
(1101-1112) USB 错误
这些错误都为 USB 故障所致。
1. 从电脑上拔下所有虚拟现实设备(如果头戴式设备和操控手柄已插到电脑上,请将它们拔下)
2. 前往“设置”>“重置”,再单击“移除所有 SteamVR USB 设备”。单击“是”确认。
3. 退出 SteamVR
4. 请使用另一个 USB 端口重新连接头戴式设备。等待驱动程序安装(可能需要 5-10 分钟)
5. 启动 SteamVR
2024年3月9日发(作者:巴谊)
HTC VIVE基础开发文档(Unity3d)
一、硬件配置要求
若要使用 Vive,您的电脑必须满足以下最低系统要求。
GPU:NVIDIA® GeForce® GTX 970、AMD Radeon™ R9 290 同等或更高配置
CPU:Intel® Core™ i5-4590/AMD FX™ 8350 同等或更高配置
RAM:4 GB 或以上
视频输出:HDMI 1.4、DisplayPort 1.2 或以上
USB 端口:1x USB 2.0 或以上端口
操作系统:Windows® 7 SP1、Windows® 8.1 或更高版本、Windows® 10
二、开发环境配置
1、SteamVR平台的安装
1、首先下载Steam游戏平台。
2、在Steam主界面中选择“库”。
3、在库中选择工具。
4、查找SteamVR,点击下载。
5、安装完成后,在显示器左下角会显示如图下图所示图片。在该界面可查看HTC VIVE手柄、头盔以及基站的当前状态,当硬件出现故障时还会提示错误信息。
2、房间设置
1、当成功安装SteamVR后,打开Steam游戏平台。
2、运行SteamVR。如下图:
3、选择SteamVR运行房间设置。如下图:
4、之后按照提示操作。
注:房间设置分为“房间规模”、“仅站立”。
房间规模:自由设置可移动范围,可小范围自由移动。
仅站立:不支持自由移动。
3、SteamVR插件导入
SteamVR插件与上文中提到的SteamVR平台是不同的,SteamVR平台主要是为了协助开发者查看修改HTC VIVE状态信息的,而SteamVR插件主要是协助开发者完成软件开发工作的。SteamVR插件是由官方提供的开源的完全免费的一款插件在Unity Asset Store可下载。
操作步骤:
新建一个Unity工程。
打开Asset Store窗口,搜索SteamVR下载即可。
导入Unity后找到”[CameraRig]”拖入场景,运行。
注:
1、 在将插件引入到Unity5.2版本时会报错,此时删除SteamVR文件夹下的Editor文件夹即可。
2、 引入到Unity5.3时,有时会出现画面重影Bug。
3、 暂时认为Unity5.4比较稳定。
三、HTC VIVE手柄
1、按键说明
如图所示:
1、 菜单按钮
2、 触控板
3、 系统按钮
4、 状态指示灯
5、 Micro-USB端口
6、 追踪感应器
7、 扳机
8、 手柄按钮
2、指示灯
绿色:表示HTC Vive手柄目前状态正常,可以正常使用;
蓝色:表示操控手柄已经成功和头戴式设备配对;
闪烁蓝色:表示操控手柄正在和头戴式设备进行配对;
橙色:表示手柄正在充电,当手柄变为绿色时,表示充电完毕;
闪烁红色:手柄低电量,即将没电;
3、手柄开关
1、 开启手柄:按下系统按钮,当听到“滴”的一声时,表示HTC Vive手柄成功开启;
2、 关闭手柄:长按系统按钮,当听到“滴”的一声时,表示HTC Vive手柄已关闭。
四、手柄控制
在讲述手柄控制之前,我们先来看一下”[CameraRig]”这个预置的结构(Unity5.3之后删除了Model,将手柄模型渲染脚本直接添加在了Controller上):
Controller(left):左侧手柄(相当于人的左手)。
Controller(right):右侧手柄(相当于人的右手)。
Camer(head):头盔。
Camer(eye):相当于人的眼睛。
Camer(eye):相当于人的耳朵。
Model:主要是为了再虚拟环境下创建手柄模型。
在现实环境中,我们的两个基站主要负责接收两个手柄与头盔发送的信号以及向它们发送的信号。而左右手的区分,系统会自动识别。
而在SteamVR插件中也对手柄与头盔进行了特殊处理(添加SteamVR_TrackedObj组件标记为跟踪对象)。这样基站就可以检测手柄以及头盔在现实环境下的位置信息。
我们在读取手柄的输出信息时,用到SteamVR_TrackedObj组件。步骤如下:
1. 获取SteamVR_TranckedObj组件下的Index变量。
例:GetCommpent
2. 然后通过SteamVR_Controller类下的Input接口获取实现手柄按键输入类型。
输入类型包括以下几种:
GetPress:长按。
GetPressDown:按下
GetPressUp:抬起
GetTouch:一直触摸
GetTouchDown:触摸
GetTouchUp:触摸抬起
TriggerHapticPulse:震动
3. 获取按键类型通过SteamVR_Mask类获取。ButtonMask上述所说的所有按键。如:扳机键 SteamVR_r。
4. 手柄输入实例:
扳机键按下:int index= (int)GetCommpent
SteamVR_(index).GetPressDown(SteamVR_r);
手柄震动:SteamVR_(index). TriggerHapticPulse(200)。参数标示震动强度。
五、UI设计(UGUI)
UI设计主要是通过UGUI的3DUI或者通过3D模型来实现。
操作步骤:
1. 首先创建一个Canvas。然后将Canvas的Render Model设为WorldSpace。如图:
2. 将Canvas Scaler组件中的 Dynamic pixels Per Unit 适当调的大一点(过大好像会影响性能),原因为这样可以提高该画布的单位动态像素的数量,可以解决UGUI文本模糊的问题。(3D UI中文本非常模糊)。
3. 然后创建UI,调整适当大小以及距离。(若需要将UI更随头盔转动,则需要将Canvas
作为Camera(head)的子节点)。
4. 有时会遇到Text中字体显示不出来的情况,这时可以尝试着调节Text 的scale。
最终效果如下:
六、常见错误代码分析
(113) 路径注册表法写入
无法保存 SteamVR 所需的路径。您的权限设置可能不正确 – 确保您可以写入电脑上的用户目录。
(200) 驱动程序失败
OpenVR 驱动程序失败。您的权限设置可能不正确 – 确保您可以写入电脑上的用户目录。如果您曾经手动添加内容至 SteamVR 驱动程序目录,请删除。
(206) 驱动程序未校准
无法从头戴式设备加载校准文件。请将头戴式设备从电脑上拔下,然后在 SteamVR >“设置”>“重置”下,单击“移除所有 SteamVR USB 设备”。接上头戴式设备,再等待驱动程序安装。如果仍然出现此错误,您的设备可能存在故障。
(207) 驱动程序校准无效
无法从头戴式设备加载校准文件。请将头戴式设备从电脑上拔下,然后在 SteamVR >“设置”>“重置”下,单击“移除所有 SteamVR USB 设备”。接上头戴式设备,再等待驱动程序安装。如果仍然出现此错误,您的设备可能存在故障。
(208) 未找到头戴式设备
确保头戴式设备连接正确。
(301) 连接失败
无法启动或连接到 。可能是该进程已在运行中。请尝试退出 SteamVR,再启动任务管理器。查看是否有 。如果仍在运行,请退出该进程。重新运行
SteamVR。
(302) 初始化失败
Vrserver 遇到启动问题。请尝试重启电脑,再重新打开 SteamVR。
(1101-1112) USB 错误
这些错误都为 USB 故障所致。
1. 从电脑上拔下所有虚拟现实设备(如果头戴式设备和操控手柄已插到电脑上,请将它们拔下)
2. 前往“设置”>“重置”,再单击“移除所有 SteamVR USB 设备”。单击“是”确认。
3. 退出 SteamVR
4. 请使用另一个 USB 端口重新连接头戴式设备。等待驱动程序安装(可能需要 5-10 分钟)
5. 启动 SteamVR