您好,欢迎来到画鸵萌宠网。
搜索
您的当前位置:首页SteamVR开发文档

SteamVR开发文档

来源:画鸵萌宠网


SteamVR

1插件下载

1:首先要下载Steam VR插件,在assert store上面就可以直接搜索SteamVR后直接导入就行。

2:根据企业的要求下载对应的版本进行开发。

2文件分布

Steam VR插件使用起来也非常简单,直接将项目的camera替换成prefabs中的CameraRig就可以了

Plugins

/*这个文件夹存放一些Steam VR的信息*/

——penvr_api.bundle

——Contents

/*Steam VR底层的c++文件*/

——x86

/*SteamVR C#调用底层c++的接口*/

openvr_api.cs

SteamVR

/*这个目录下的脚本都是用来定制SteamVR插件中某些脚本在Unity中的Inspector界面及功能的*/

——Editor

/*定制SteamVR_Camera.cs这个脚本在Inspector中的显示效果*/

SteamVR_Editor.cs

/*定制SteamVR_RenderModel.cs脚本在Inspector中的功能*/

SteamVR_RenderModelEditor.cs

/*上面提到的弹出的SteamVR_Settings对话框里面的选项就在这儿定制*/

SteamVR_Settings.cs

/*定制SteamVR_SkyBox.cs在Inspector中显示的属性*/

SteamVR_SkyboxEditor.cs

/*用来检查插件的更新*/

SteamVR_Update.cs

/*这个文件夹下面放着一些工具脚本*/

——Extras

/*这个脚本用来检测物体是否被用户所凝视*/

SteamVR_GazeTracker.cs

/*通过手柄指向来产生一条激光束*/

SteamVR_LeaserPointer.cs

/*用来瞬移的脚本*/

SteamVR_Teleporter.cs

/*示例场景中扔物体的脚本*/

SteamVR_TestThrow.cs

/*示例场景中跟踪相机的脚本*/

SteamVR_TestTrackedCamera.cs

/*控制器(手柄)集成脚本*/

SteamVR_trackedController.cs

/*存放示例demo的材质体*/

——Materials

/*存放SteamVR预制体*/

——Prefabs

/*相机预制体*/

[CameraRig]

/*状态相关的overlay显示预制体*/

[Status]

/*SteamVR_Render预制体*/

[SteamVR]

/*一些自带的shader*/

——Resources

——Scenes

/*SteamVR核心脚本*/

——Scripts

/*SteamVR的封装类*/

SteamVR.cs

/*SteamVR的核心相机类*/

SteamVR_Camera.cs

/*SteamVR相机翻转*/

SteamVR_CameraFlip.cs

/*SteamVR相机网格隐藏*/

SteamVR_CameraMask.cs

/*控制器封装类*/

SteamVR_Controller.cs

/*控制器管理类*/

SteamVR_ControllerManager.cs

/*声音控制类*/

SteamVR_Ears.cs

/*外部相机*/

SteamVR_ExternalCamera.cs

/*场景进行渐显或者渐隐的类*/

SteamVR_Fade.cs

/*跟踪设备的扫描范围*/

SteamVR_Frustum.cs

/*绘制pc上的伴随窗口*/

SteamVR_GameView.cs

/*关节反身运动*/

SteamVR_IK.cs

/*场景切换类*/

SteamVR_LoadLevel.cs

/*菜单类*/

SteamVR_Menu.cs

/*overly封装类*/

SteamVR_Overlay.cs

/*运动区域*/

SteamVR_PlayArea.cs

/*Vive渲染流程控制的核心类*/

SteamVR_Render.cs

/*设置天空盒*/

SteamVR_Skybox.cs

/*做球形投影的类*/

SteamVR_SphericalProjection.cs

/*通过overlay显示统计信息*/

SteamVR_Stats.cs

/*根据不同状态渐变显示不同的信息*/

SteamVR_Status.cs

/*根据不同状态渐变显示不同文本信息*/

SteamVR_StatusText.cs

/*控制器测试脚本*/

SteamVR_TestController.cs

/*头盔上的前置相机*/

SteamVR_TrackedCamera.cs

/*跟踪设备管理类*/

SteamVR_TrackedObject.cs

/*5.x版本以前更新设备位置的脚本*/

SteamVR_UpdatePoses.cs

/*工具类,包括事件系统,Transform等等*/

SteamVR_Utils.cs

/*常用的纹理*/

——Textures

3制作VR Camrea

常见的两种方式:

第一种:默认预制体

1. 也就是Prefabs里面的CameraRig。将这个相机拖入场景,此时如果我们运行场景,VR头显就可以用了。

[CameraRig]挂有两个脚本,分别为SteamVR_ControllerManager和SteamVR_PlayArea两个脚本。

SteamVR_ControllerManager:追踪两个手柄进行功能反馈的,此脚本会收集左右两个控制器的位置,按键反馈,以及手柄内置参数。因此两者之间是关联状态。

Objects:如果你额外有控制器在此处添加即可

AssignAllBeforeIdentified:如果你想要在他们的角色(左对右)之前被任意分配给控制器的对象,就设置为true

SteamVR_PlayArea:当前脚本是限定区域范围的,会模拟类似“墙”的效果

borderThickness:区域的边直径

wireframeHeight:可活动的高度显示

drawWireframeWhenSelectedOnly:绘制线条,主要是游玩区周围的白色框

drawInGame:主要是地下的蓝色线条,可以自己修改颜色,一般要勾选上,不然在游戏中看不到游玩区的。

[CameraRig]下有三个子级,分别为头盔和两个控制器

Controller (left):左手控制器 此游戏物体有个追踪脚本。获取手柄的位置。

SteamVR_TrackedObject:脚本定位,追踪效果

Index:追踪的对象,这里需要注意的是,如果是手动添加的话,默认会追踪头盔,我们需要手动修改为空。

这里一般来说只识别手柄和头盔。如果在开始之前设定Index中Device1-15中的定值,会根据设定的值决定是多少,否则将会随机分配。

Origin:如果没有设置,相对于当前物体所在的位置。

isValid:不同版本决定是否显示。实际上检测当前手柄状态是否移动。

Model:手柄的模型显示

当运行的时候在Game面板中显示一个手柄的模型,在这里需要注意的一点是,如果我们想将模型绑定到当前的手柄上,必须在运行状态下,设置起角度以及位置。因为它是在程序运行之后动态获取的。(鼠标悬停在变量上)

SteamVR_RenderModel :渲染模型所需要的脚本

Index:获取追踪脚本的索引类型(相对于父级)

modelOverride:修改当前模型的名称

shader:模型的着色器

verbose:检测是否在载入渲染模型时启用打印输出。

createComponents:如果可用,则分解为单独的组件,否则作为单个网格加载。

updateDynamically:在运行时更新组件的转换,以反映用户操作(类似同步操作)

Camera (head):头盔的显示效果

SteamVR_TrackedObject:脚本定位,追踪效果

当前脚本和手柄一样,只不过默认追踪为Hmd选择项即可。

第二种:修改默认摄像机

我们要了解原理是怎么样构成的,熟悉每个脚本的运作哦方式。一般会在面试中问到SteamVR的组成部分有哪些。

步骤:将摄像机重置位置,添加一个SteamVR_Camera脚本在摄像机上并点击扩展。

为手柄添加一个追踪脚本既:SteamVR_TrackedObject脚本,然后追踪默认选择为空

在手柄子级添加一个空物体,然后添加一个SteamVR_RenderModel,然后在Shader属性中添加一个标准模型(Standard)。

在父级上添加

一个Steam VR_Controller Manager脚本,并且将两个控制器分别添加到对应的选项里面

如果要设置区域,添加一个Steam VR_Play Area脚本,并且将MsehRenderer,的材质修改成Sprites/Default,最后,把Size设置一下就可以了.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo8.com 版权所有 湘ICP备2023022238号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务