12.2.2 VIU的示例场景
VIU的Examples文件夹中有很多实用的示例场景,展示的功能包括:UI交互、抓取/投掷物体、传送等。Prefabs文件夹里是预制体,包括VR相机、手柄碰撞体、UI射线、贝塞尔曲线等。下面简要介绍其中几个较为具有代表性的案例场景。
1.UGUI场景
此场景中主要展示了Unity中的UI组件在VR中的应用,包括Button(按钮)、Toggle(开关)、Slider(滑动条)、Input Field(输入栏)等组件的示例,运行画面如图12.3所示。
图12.3 UGUI场景运行效果
其中Input Field可以使用虚拟键盘进行文字输入,此功能由脚本“Overlay Keyboard Sample”实现,有兴趣的读者可以自行查阅。
2.3DDrag Drop场景
此场景中展示了在VR场景中的3D对象交互示例,包括3D物体的远/近抓取、投掷等动作。用控制手柄指向3D物体,并按下Trigger键,即可实现远抓取,效果如图12.4所示。
图12.4 3D物体的远抓取
用控制手柄指向3D物体,按下Trigger键的同时按下TouchPad键,即可实现近抓取,效果如图12.5所示。
图12.5 3D物体的近抓取
3.Controller ManagerSample场景
此场景主要展示Vive手柄控制器的基本操作示例,包括:传送(Teleport)、抓取/投掷物体、改变材质等。其中包含三个脚本:ChangeMaterial ToButtonColor、Show MenuOnClick、Spaw.nObjectOn Trigger。例如按下按钮可以显示“Change Box color”UI面板,并且可以通过按下上面的颜色按钮改变立方体的材质颜色,如图12.6所示。
图12.6 Controller ManagerSample场景
4.Tracked Hand UGIInteraction场景
这个场景主要展示使用Vive手柄对3D物体进行直接控制的综合示例,功能包括:传送、触碰改变材质、抓取/投掷物体等,如图12.7所示。
图12.7 Tracked Hand UGIInteraction场景
使用VIU实现VR抓取与投掷