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