VR系列——Oculus最佳实践:五、运动

  1. 最舒适的虚拟现实体验是能够使得用户不需要做任何额外的动作,只要做动动头部或身体,就能环顾周围的环境。
  2. 当不得不做些运动时,较慢的速度(慢走/慢跑的速度)对于新用户来说是最舒服的。
  3. 尽可能的保证任何形式的加速是少而短的。
  4. 人和相机的移动必须是同步的,不能解耦。
  5. 不要将头部摆动动作用在第一人称视角游戏中。
  6. 尽可能地减少向后和侧面移动,这样设计出的体验是最舒服的。
  7. 注意一些会给视觉带来强烈冲击的运动,比如上下楼梯或是视线需要在屏幕上大幅度地来回移动

运动速度和加速度

这里的“运动”是特指在虚拟环境中的运动,而不是用户在真实世界中的运动映射到虚拟现实中的结果。运动和加速通常来自于用户在虚拟环境中的移动(通过运动或骑行车辆),而用户本身是静止的。这些情况可能令人觉得不舒服,因为用户的视觉告诉他们正在穿越空间,但是肉体感官(前庭感觉和本体感觉)却并非如此。这种通过单独视觉导致自运动错觉被称作相对运动错觉,也是虚拟幻境头晕[1]的一个主要根源。

研究发现,虚拟幻境头晕的发作速度和通过一个虚拟环境的速度是成正比的,而与后续的强度和提升的速度[2]并没有必然的联系。我们建议尽可能的将典型的人体运动速度(约1.4米/秒的步行运动速度,3米/秒的连续慢跑速度)作为一个用户可配置的选项或者默认选项。

对于虚拟现实的内容,视觉上感知到加速度是导致不适的主要原因。因为人的前庭系统响应加速度而不是恒定的速度,视觉上感受到加速度,而头部和身体却没有,就会导致不适。(详见虚拟幻境头晕章节)

需要注意的是,加速度指的是虚拟世界中用户的速度随时间在任意方向上的变化。虽然我们通常认为加速度是“增加前进的速度”,但是实际上加速度也可以指降低速度、暂停、旋转、让静止或运动的物体倾斜、让运动或静止中的物体横向或纵向运动。

瞬时加速度比平缓地加速度更舒适,因为一段时间的加速度就构成了一段时间的感官冲击,不适感会随着加速度的频率、大小和持续时间变化而变化。我们建议您尽可能的减少加速度的持续时间和频率。

控制度

和司机比其他乘客更不容易晕车一样,让用户自己来控制运动可以预防虚拟幻境头晕。让用户自己动而不是带他兜风,当用户被击中或者射中时,避免猛烈的晃动镜头,这在屏幕中效果很好,但是在虚拟现实中却是令人作呕的。同样的,不要突然冻结显示画面,那样它就不能正常响应用户的头部运动,因为这样会造成令人不舒服的运动错觉。一般情况下,避免用户和相机的移动因为任何原因而解除关联。

研究表明,通过为用户提供一个化身,预测他们即将经历的运动视觉,可以让他们有心理准备,从而减少不适。这是从第三人称游戏中偶然获得结论,如果玩家的化身的行动(比如一辆车要开始转弯,一个角色要开始往某个方向跑)能够可靠的预测镜头将要做什么,就可以通过虚拟环境为用户准备即将到来的运动,从而制造一个更加舒适的体验。

摆动头部

一些第一人称游戏应用轻微的上下摆动镜头来模拟行走的效果,这在计算机或者电视屏幕上是可以有效的描绘出人的运动特征,但是对于许多头戴虚拟现实设备的人来说却是一个问题,每一次画面的上下浮动,都会造成用户视觉上的加速度,正如我们之前说过的,这会导致不适。不要通过任何摆动头部或者改变摄像机位置或方向来发起运动,这些不是真实世界中用户头部发起的。

向前和横向移动

在现实世界中,我们经常站立不动或向前移动,很少向后退,几乎没有横向移动。因此,当必须运动时,向前运动是最舒服的。向左或者向右的横向运动是比较麻烦的,因为我们通常不会这么做,这让用户体验到一种不常见的视觉模式。

一般而言,你应该遵守人类的运动学,在现实世界中,人们可以如何移动,这是有限制的,在做设计时,应该考虑到这些限制。

上下楼梯(或者斜坡)让人觉得不舒服,在朝着同一个方向行走时,除了体验到垂直方向上加速度的不寻常感,在水平方向上又看到所有的台阶边沿都在往一个方向移动。强烈的视觉冲击导致了强烈的错觉。用户通常不会看到像这样的图像,除非特殊的情况,比如沿着一个粗糙的墙体行走时,同时又盯着它看。我们建议开发人员保守地使用斜坡和楼梯。这个忠告同样适用于其他易引起强烈错觉的场景,如坐在一个上升的电梯中,附近的条纹(光或纹理)又在向下移动。

强烈建议开发人员考虑下这些指导方针之间是如何相互影响的,例如,消除横向和向后移动的控制方案在理论上似乎是一个合理的构想,但是如果这样做会迫使用户要做更多的运动(即转向,向前,再转向)来完成相同的位置变化。这相比于简单的向后退需要用户更多的自身运动因而有更多的相对运动错觉。环境和体验应被设计成尽量减少被这些问题影响。

也要考虑简化复杂的运动,减少用户可能体验到的相对运动错觉。比如,自动化或简化一个复杂的障碍式航行。一个研究是这样的:让玩家飞行一个虚拟的障碍航线,有两个可选的控制方案。一个方案是在运动中让他们控制3个自由度,而另一个给了6个自由度。虽然3个自由度的控制方案看起来似乎让用户有更少的控制权(也会因此导致更多的虚拟幻境头晕),而在实际上造成的虚拟幻境头晕却是更少的,因为它使得用户避免体验无关的视觉运动。

这只是一个案例,并非在不同的情况下都适用。仔细考虑、用户测试和迭代设计是优化用户体验和提高舒适度的关键。


原文如下


  • The most comfortable VR experiences involve no self-motion for the user besides head and body
    movements to look around the environment.
  • When self-motion is required, slower movement speeds (walking/jogging pace) are most comfortable for new users.
  • Keep any form of acceleration as short and infrequent as possible.
  • User and camera movements should never be decoupled.
  • Don’t use head bobbing in first-person games.
  • Experiences designed to minimize the need for moving backwards or sideways are most comfortable.
  • Beware situations that visually induce strong feelings of motion, such as stairs or repeating patterns that move across large sections of the screen.

Speed of Movement and Acceleration

“Movement” here refers specifically to any motion through the virtual environment that is not the result of mapping the user’s real world movements into VR. Movement and acceleration most commonly come from the user’s avatar moving through the virtual environment (by locomotion or riding a vehicle) while the user’s real-world body is stationary. These situations can be discomforting because the user’s vision tells them they are moving through space, but their bodily senses (vestibular sense and proprioception) say the opposite. This illusory perception of self-motion from vision alone has been termed vection, and is a major underlying cause of simulator sickness.[1]

Speed of movement through a virtual environment has been found to be proportional to the speed of onset for simulator sickness, but not necessarily the subsequent intensity or rate of increase.[2] Whenever possible, we recommend implementing movement speeds near typical human locomotion speeds (about 1.4 m/s walking, 3 m/s for a continuous jogging pace) as a user-configurable—if not default—option.

For VR content, the visual perception of acceleration is a primary culprit for discomfort. This is because the human vestibular system responds to acceleration but not constant velocity. Perceiving acceleration visually without actually applying acceleration to your head or body can lead to discomfort. (See our section on simulator sickness for a more detailed discussion.)

Keep in mind that “acceleration” can refer to any change over time in the velocity of the user in the virtual world in any direction. Although we normally think of acceleration as “increasing the speed of forward movement,” acceleration can also refer to decreasing the speed of movement or stopping; rotating, turning, or tilting while stationary or moving; and moving (or ceasing to move) sideways or vertically.

Instantaneous accelerations are more comfortable than gradual accelerations. Because any period of acceleration constitutes a period of conflict between the senses, discomfort will increase as a function of the frequency, size, and duration of acceleration. We generally recommend you minimize the duration and frequency of accelerations as much as possible.

Degree of Control

Similar to how drivers are much less likely to experience motion sickness in a car than their passengers, giving the user control over the motion they see can prevent simulator sickness. Let users move themselves around instead of taking them for a ride, and avoid jerking the camera around, such as when the user is hit or shot. This can be very effective on a monitor but is sickening in VR. Similarly, do not freeze the display so that it does not respond to the user’s head movements, as this can create discomforting misperceptions of illusory motion. In general, avoid decoupling the user’s and camera’s movements for any reason.

Research suggests that providing users with an avatar that anticipates and foreshadows the visual motion they are about to experience allows them to prepare for it in a way that reduces discomfort. This can be a serendipitous benefit in 3rd-person games; if the player avatar’s actions (e.g., a car begins turning, a character starts running in a certain direction) reliably predict what the camera is about to do, this may prepare the user for the impending movement through the virtual environment and make for a more comfortable experience.

Head Bobbing

Some first-person games apply a mild up-and-down movement to the camera to simulate the effects of walking. This can be effective to portray humanoid movement on a computer or television screen, but it can be a problem for many people in immersive head-mounted VR. Every bob up and down is another bit of acceleration applied to the user’s view, which—as we already said above—can lead to discomfort. Do not use any head-bob or changes in orientation or position of the camera that were not initiated by the real-world motion of the user’s head.

Forward and lateral movement

In the real world, we most often stand still or move forward. We rarely back up, and we almost never strafe (move side to side). Therefore, when movement is a must, forward user movement is most comfortable. Left or right lateral movement is more problematic because we don’t normally walk sideways and it presents an unusual optic flow pattern to the user.

In general, you should respect the dynamics of human motion. There are limits to how people can move in the real world, and you should take this into account in your designs.

Moving up or down stairs (or steep slopes) can be discomforting for people. In addition to the unusual sensation of vertical acceleration, the pronounced horizontal edges of the steps fill the visual field of the display while all moving in the same direction. This creates an intense visual that drives a strong sense of vection. Users do not typically see imagery like this except for rare situations like looking directly at a textured wall or floor while walking alongside it. We recommend that developers use slopes and stairs sparingly. This warning applies to other images that strongly induce vection, as well, such as moving up an elevator shaft where stripes (of light or texture) are streaming downwards around the user.

Developers are strongly advised to consider how these guidelines can impact one another in implementation. For example, eliminating lateral and backwards movement from your control scheme might seem like a reasonable idea in theory, but doing so forces users to engage in relatively more motions (i.e., turning, moving forward, and turning again) to accomplish the same changes in position. This exposes the user to more visual self-motion—and consequently more vection—than they would have seen if they simply stepped backwards or to the side. Environments and experiences should be designed to minimize the impact of these issues.

Consider also simplifying complex actions to minimize the amount of vection the user will experience, such as automating or streamlining a complex maneuver for navigating obstacles. One study had players navigate a virtual obstacle course with one of two control schemes: one that gave them control over 3 degrees of freedom in motion, or another that gave them control over 6. Although the 3-degrees-of-freedom control scheme initially seems to give the user less control (and therefore lead to more simulator sickness), it actually led to less simulator sickness because it saved them from having to experience extraneous visual motion.

[1]This is one of those cases where a sweeping recommendation cannot be made across different types of content and situations. Careful consideration, user testing, and iterative design are critical to optimizing user experience and comfort.
[2]Stanney, K.M. & Hash, P. (1998). Locus of user-initiated control in virtual environments: Influences on cybersickness. Presence, 7(5), 447-459.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Unity中使用Oculus进行交互,你需要首先安装Oculus Integration插件。接下来,你可以使用Oculus提供的手柄或触摸控制器来实现交互。具体步骤如下: 1. 添加Oculus Integration插件:在Unity Asset Store中搜索“Oculus Integration”,下载并导入该插件。 2. 配置场景:将OVRPlayerController预制件拖拽到场景中,该预制件包含了Oculus手柄或触摸控制器的交互脚本。 3. 添加交互脚本:在需要进行交互的物体上添加OVRGrabbable脚本或OVRInput脚本,来实现物体的抓取或触发事件。 4. 设置交互动作:通过OVRInput脚本设置手柄或触摸控制器的按键和手势来触发相应的交互动作。 5. 调试和优化:在测试时,可以使用Oculus提供的Oculus Debug Tool来调整控制器的灵敏度和其他设置,来优化交互体验。 希望这些步骤能够帮助你实现在Unity中使用Oculus进行交互。 ### 回答2: Unity和Oculus交互是指使用Unity引擎开发虚拟现实(VR)应用程序,并与Oculus头戴式显示器(HMD)进行交互。Unity是一款业界广泛使用的游戏引擎,它提供了强大的功能和易于使用的界面,可用于开发各种类型的应用程序。 首先,要实现Unity和Oculus的交互,我们需要安装Oculus Integration插件,该插件为Unity提供了与Oculus设备通信的API和工具。 其次,我们可以使用Unity的编程语言(如C#)编写代码,利用Oculus Integration中提供的功能来处理Oculus设备的输入和输出。例如,我们可以使用Oculus Integration的API来获取头部或手部的位置和旋转信息,以及触摸控制器的输入。通过这些信息,我们可以实现虚拟现实环境中的交互操作,如触摸、抓取和移动物体等。 此外,Unity还提供了一些内置的VR交互组件,如VR交互手柄和VR交互器,可以方便地进行VR交互的开发。这些组件可用于创建可视化的用户界面元素,例如按钮和菜单,使用户能够通过触摸控制器进行操作。 最后,在开发过程中,我们可以通过在Unity编辑器中进行预览来测试和调试交互效果,以及优化用户体验。通过Unity的开发工具和Oculus Integration插件的支持,我们可以快速实现Unity和Oculus交互,并创建出富有交互性和沉浸感的虚拟现实应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值