Skip to main content
VRCHINA
AR论坛
 首页 » 资源教程 » Unity3D教程

SteamVR_PlayArea 作用|Unity SteamVR插件集成

2016年09月03日 17:27:2710380

重要组件

SteamVR_Camera

VR摄像机,主要功能是将Unity摄像机的画面进行变化,形成Vive中的成像画面

使用方法:

l 在任一个摄像机上增加脚本

l 点击Expand按钮

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第1张

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第2张

完成以上操作后,原本的摄像机会变成如下结构

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第3张

l Origin:位置

l Head:头部

l Eye:眼睛

l Ears:耳朵

至此,游戏中Vive中可以看到游戏画面,360度旋转查看游戏世界,在游戏世界中移动等

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第4张

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第5张

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第6张

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第7张

SteamVR_ControllerManager和SteamVR_TrackedObject

控制器,主要用于设置和检测Vive控制器。

Vive控制器由菜单键(ApplicationMenu),触摸板(Touchpad),系统键/电源键(System),扳机键(Trigger),侧柄键(Grip),组成

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第8张

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,设置左右手柄

至此就完成了手柄的集成。

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第9张

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第10张

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第11张

获取手柄状态

通过代码

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

该组件用于渲染手柄的模型,并且跟踪手柄的位置

使用方法

在左右手柄的物体下创建一个子物体,子物体上添加SteamVR_RenderModel脚本,Shader可以根据需求设置,比如设置为Standard

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第12张

至此,游戏中可以看到手柄模型和手柄位置同步

SteamVR_PlayArea

用于显示游玩区域。

使用方法,在Origin物体上添加该脚本即可

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第13张

可以看到游戏场景中多了一个显示区域

SteamVR_PlayArea 作用|Unity SteamVR插件集成 Unity3D教程 第14张

注意事项

制作UI的时候需要使用世界坐标,通过不同相机的Depth复合,目前还不支持(2016/5/23)

注意ControlIndex的值,默认情况下都会自动设置,如果手动设置错误将导致错误的表现。

更多AR教程就在中国AR网(http://www.chinaar.com/)


评论列表暂无评论
发表评论