此文章转载自-曲径通幽-附上地址http://blog.csdn.net/zzmkljd/article/details/53022185
先分析各个脚本的功能,以便后面学习时使用。
SteamVR/Scripts/
- SteamVR.cs 单例管理类,管理SteamVR程序的运行和终止。
- SteamVR_Camera.cs 给场景添加一个最基本可运行的SteamVR组。
- SteamVR_CameraFlip.cs 使用Shader将屏幕图像反转得到最终图像。
- SteamVR_CameraMask.cs 将头盔中看不到的屏幕像素遮盖。
- SteamVR_Controller.cs 管理类,管理所有设备的输入控制
- SteamVR_ControllerManager.cs 管理类,管理场景中的设备活动
- SteamVR_Ears.cs 控制Audio Listener的方向
- SteamVR_ExternalCamera.cs 用于渲染外部摄像机
- SteamVR_Fade.cs 屏幕渐变功能
- SteamVR_Frustum.cs 生成用于渲染的面片
- SteamVR_GameView.cs 处理除眼图像之外的渲染
- SteamVR_IK.cs 手柄IK的控制
- SteamVR_LoadLevel.cs 用于场景之间的平滑切换
- SteamVR_Menu.cs 给出一个范例菜单
- SteamVR_Overlay.cs 提供和控制2D图像的绘制
- SteamVR_PlayArea.cs 对移动空间的设置
- SteamVR_Render.cs 控制眼图像的渲染
- SteamVR_RenderModel.cs 渲染手柄模型
- SteamVR_Skybox.cs 设置天空盒
- SteamVR_SphericalProjection.cs 应该是应用畸变投影矩阵
- SteamVR_Stats.cs 通过GUI Text显示头盔状态
- SteamVR_Status.cs 由事件控制的渐变效果的基类
- SteamVR_StatusText.cs 继承22的文字渐变
- SteamVR_TestController.cs 测试手柄每个按钮的输入
- SteamVR_TrackedCamera.cs 提供记录相机的位置的功能
- SteamVR_TrackedObject.cs 使场景中的物体和控制器的Pose保持一致
- SteamVR_UpdatePose.cs 当使用OpenVR接口时用此更新Pose
- SteamVR_Utils.cs 一些公共方法和数据结构
SteamVR/Extras/
- SteamVR_GazeTracker.cs 提供凝视时的事件
- SteamVR_LaserPointer.cs 应该是镭射光线
- SteamVR_Teleporter.cs 传送功能
- SteamVR_TestThrow.cs 投掷东西
- SteamVR_TestTrackedCamera.cs 跟踪相机测试
- SteamVR_TrackedController.cs 手柄按钮事件的接口
将会使用到的功能:
关于头盔:
得到头部Pose:直接得到头部GameObject的tran和rot
凝视事件:设置SteamVR_GazeTracker并注册事件
关于手柄
方式一:继承SteamVR_TrackedController或注册该类的事件
方式二:
- 1
- 2
- 1
- 2
传送:通过SteamVR_Teleporter设置传送