接着,各个成员在各自的博客中落实了三区VR场景漫游项目的规划——
项目时长:4月1日 至 5月31日
团队分工:
常雨晴 手势识别模块
叶子扬 语音识别模块
冯金虎 项目展示模块
肖绍天 虚拟实验室模块,协助项目展示模块
交互设计,美术建模场景设计等工作,具体工作再具体安排。
项目流程:各模块分别进行规划,规划场景规模;加入交互设计,创建场景,编写交互脚本代码;
导入HTC设备进行虚拟体验;整体模块整合,调试;项目最终调试。
实现目标:
再虚拟现实层面的创新实践交互等功能
虚拟软件园三区整体规划展示用平台
接着,各个成员学习并自行搭建了基于unity平台的VR环境——
1.
2.
3.
详细脚本解析:
SteamVR_GazeTracker.cs脚本解析
这个脚本的作用是判断当前物体是否被用户(头显)所注视,进入注视和离开注视都会有回调。处于注视状态的物体与实际注视点的距离范围定义为小于0.15米,而离开注视状态的距离范围为大于0.4米。之所以有一个大概的范围,并且使用了一个平面来相交,是因为注视这个动作是比较粗略的,玩家比较难能精确注视。
Gaze回调的事件结构体,只有一个参数,即距离,表示凝视点与物体(中心)的距离
- public struct GazeEventArgs
- {
- public float distance;
- }
- public delegate void GazeEventHandler(object sender, GazeEventArgs e);
- public class SteamVR_GazeTracker : MonoBehaviour
- {
- //当前是否处于gaze状态
- public bool isInGaze = false;
- //入gaze状态回调,使用者可以通过代码添加自己的事件处理方法(在Inspector 中不会出现)
- public event GazeEventHandler GazeOn;
- //离开gaze状态回调
- public event GazeEventHandler GazeOff;
- //定义的进入gaze与离开gaze的距离范围
- public float gazeInCutoff = 0.15f;