重要组件ui
VR摄像机,主要功能是将Unity摄像机的画面进行变化,造成Vive中的成像画面spa
使用方法:3d
l 在任一个摄像机上增长脚本blog
l 点击Expand按钮游戏
完成以上操做后,本来的摄像机会变成以下结构ip
l Origin:位置get
l Head:头部同步
l Eye:眼睛it
l Ears:耳朵io
至此,游戏中Vive中能够看到游戏画面,360度旋转查看游戏世界,在游戏世界中移动等
控制器,主要用于设置和检测Vive控制器。
Vive控制器由菜单键(ApplicationMenu),触摸板(Touchpad),系统键/电源键(System),扳机键(Trigger),侧柄键(Grip),组成
1 Menu button(菜单键)
2 Trackpad(触摸板)
3 System button(系统键/电源键)
4 Status light
5 Micro-USB port
6 Tracking sensor
7 Trigger(扳机键)
8 Grip button(侧柄键)
使用方法
在Origin物体上添加2个子物体表明Vive的2个手柄,增长SteamVR_TrackedObject,Index设置为None
在Origin物体上添加SteamVR_ControllerManager,设置左右手柄
至此就完成了手柄的集成。
经过代码
var device = SteamVR_Controller.Input(uint);
device.GetTouchDown(SteamVR_Controller.ButtonMask)
就能够获取到某个按键的状态
或者使用
var system = OpenVR.System;
system.GetControllerState(uint, ref VRControllerState_t))
获取当前全部的按键状态
public void TriggerHapticPulse(ushort durationMicroSec = 500, EVRButtonId buttonId = EVRButtonId.k_EButton_SteamVR_Touchpad)
{
var system = OpenVR.System;
if (system != null)
{
var axisId = (uint)buttonId - (uint)EVRButtonId.k_EButton_Axis0;
system.TriggerHapticPulse(ControllerIndex, axisId, (char)durationMicroSec);
}
}
或者
var device = SteamVR_Controller.Input(uint);
device. TriggerHapticPulse();
该组件用于渲染手柄的模型,而且跟踪手柄的位置
使用方法
在左右手柄的物体下建立一个子物体,子物体上添加SteamVR_RenderModel脚本,Shader能够根据需求设置,好比设置为Standard
至此,游戏中能够看到手柄模型和手柄位置同步
用于显示游玩区域。
使用方法,在Origin物体上添加该脚本便可
能够看到游戏场景中多了一个显示区域
制做UI的时候须要使用世界坐标,经过不一样相机的Depth复合,目前还不支持(2016/5/23)
Unity5.4已经支持多相机复合(2016/8/21)
注意ControlIndex的值,默认状况下都会自动设置,若是手动设置错误将致使错误的表现