VR开发实例:Oculus Sample Framework示例讲解

007 2018-01-16 16:04:55

此前,Oculus官方面向VR开发者和设计师推出了一款实验性质的学习示例沙盒工具Oculus Sample Framework,支持Unity 5。其中包括了一系列典型VR问题解决方案的示例场景,比如第一人称运动机制,基于凝视的用户界面等等。每个示例都提供了应用内控制面板,使用户能够改变诸如传送中渐隐到黑色的时间长度、UI元素延迟、准星的z-depth等参数。而这个控制面板本身也是VR应用内控制的展示,可以帮助开发者在自己的应用里创造相似的控制。

在这个项目里,每个场景都探索了VR相关的一个概念。Oculus官方为整个框架提供了一个Unity 5项目,一个Windows操作环境下的执行程序,以及可以通过Gear VR Concepts商店里免费下载的应用。每个场景也提供了VR内浏览的说明文件,对开发者而言十分方便。这些示例可以在Oculus的下载中心获得。

下载地址:https://developer.oculus.com/downloads/

如果你想做一些实验性的测试,大幅修改参数,可以在Unity中构建项目。

Oculus官方在此提醒开发者,这些示例主要是用来作为探索VR设计点子的工具,不应该作为推荐使用。每个示例都有一些需要测试的机制,它们可能造成一些不舒服的体验。Oculus希望通过这样的方式让开发者去实验哪些是可行的,哪些做法不可行。

在Unity 5开发者文档中,官方提供了详细的下载、安装、使用须知等细节。

开发者文档:https://developer.oculus.com/documentation/game-engines/latest/concepts/book-unity/

sa1

示例场景简要介绍

The Sample Framework包含十几种不同的场景。最好的学习方法是一个个加载然后自己去试试。以下是几个例子,让我们一起来看看。

准星(Crosshair)

这个场景展示了基于凝视的准星、或划分线,以及探讨了必须要考虑到的相关因素。在一个非VR游戏中,在视野中心绘制一个准星是很常见的做法,但是对于VR开发者来说,必须要考虑准星放置的深度,因为层次感的缘故。如果准星离用户太近,会带来不适感。如果准星放置太远,会造成冲突的景深。

VR开发

要解决这个问题,有个方法是顺着玩家的视线方向投射一条线,把准星放在这条线的首个对象的深度位置。这就会使准星具备较好的舒适感,并且不会造成冲突。在这个示例场景中也提供了一些其它的模型,并且开发者可以实时地控制准星的景深。

这个场景同样关照了其它的一些概念,比如子弹如何从可视的武器中发射出来。如果武器对玩家来说处在一个固定的位置上,那么使用准星时需要作出选择,究竟要让子弹发射出来后沿着准线到达准星?还是从玩家视线中心延伸到准星?后面一种方法通常更加直观,也跟非VR游戏中的传统做法类似。在这个示例中,你可以对其中的区别有更好的理解。

运动(Locomotion)

在这个示例场景中,你可以对第一人称运动进行实时的实验,以获得对相关的设计思路更好的理解。在开发第一人称控制系统时要尤其谨慎,因为它更容易造成体验的不适感。

VR开发

该场景允许开发者测试的变量如下:

1. 移动速度
2. 旋转速率
3. 运动的方向是否由凝视的方向来控制
4. 旋转的“幅度”(是否为持续性的旋转?或者是基于特定的幅度?)
5. 在执行幅度旋转时的动画速度(非瞬时)

传送(Teleportation)

传送在VR中是常用的运动方式,主要是因为它避免了在第一人称控制下不适感的问题。在该示例场景中,展示了传送机制是如何实现的。

VR开发

在该示例中一个微妙的考虑是传送后的朝向问题,这是值得开发者探索的。在其中一个模式中,玩家传送后的面朝防线是被玩家自己控制的。如上图所示——一个发光的小人出现在传送的终点,说明最终的朝向是可以被玩家控制的。在传送后,玩家面对的方向就是这个小人面对的方向。

这听上去很直观,但玩家需要转动头部,看着传送目的地。那么玩家是否会发现自己还在转头时角色已经完成传送并盯着某个方向看?或者说新的方向应该和玩家转回头后的正面方向一致?

哪种方法更加直观取决于不同的因素。这则示例可以帮助开发者理解不同的模式,从而作出自己的取舍。

用户界面(User Interface)

在“Pointers”和“Pointers- Gaze Click”两个场景中探索了如何在用户界面中使用pointer。两个示例场景都探索了基于“凝视”的交互机制,以及如何和物理对象及平面的UI。

VR开发

这些场景很相似,但“Pointers – Gaze Click”不需要手柄按键或Gear VR触摸板支持。在该场景下,凝视UI元素会在凝视准星附近触发圆形进度条。当进度条满格时,就会执行交互动作。

其它示例场景(Other Sample Scenes)

Oculus Sample Framework还包括很多实例场景让开发者去探索和学习,并且都提供了应用内说明文档。其它一些示例场景包括:

1. 键盘(Keyboard):如何在VR中应用键盘。
2. 镜像(Mirror):展示了如何控制角色的头部一边反应玩家的运动,从而造成一种镜像的感觉。
3. 阶梯(Stairs):探索在第一人称视角下走楼梯的体验。
4. 表面细节(Surface Detail):探索为呈现表面细节所需的shading技术,从而更好理解其在VR中的效果。
5. Tracking Volume:探索了几种显示用户靠近视锥体的方式

结语

这些示例为开发者提供了帮助其理解VR开发和设计的起点。虽然都是VR开发中一些基本的问题。但开发者可以通过示例的学习,去尝试一些不同的做法,从而形成自己的设计和开发思路。

99VR视界二维码
热门推荐
Hot Recommended
在线客服