转自:http://blog.csdn.net/cartzhang/article/details/42493843

UE4虚拟现实 实现的注意事项

https://docs.unrealengine.com/latest/INT/Platforms/VR/ContentSetup/index.html

一、概述

 

为使用户有最好的虚拟现实的体验,开发虚拟现实需要一些工作流程。此篇的目的提醒大家在开发虚拟现实工程的过程中,需要注意的一些的事情。

二、世界坐标比例

 

获取合适正确的世界比例,对于交付者使用户在虚拟现实平台上有很好的用户体验,是一个很重要的事情。错误的比例缩放,容易导致感觉怪怪的,甚至会导致“模拟疾病(Simulation sickness)”。

在虚拟现实中,从玩家的镜头0.75~3.5米的范围内,物体的最容易辨认。在UE4中,1UU(Unreal Unit)是代表的1CM。

1UU == 1CM

这意思是在使用VR过程中,Unreal中物体的最佳可视是距离玩家相机距离为75UU~350UU.

在UE4的世界设置中,你可以调整你的世界比例为100。调整世界比例需要慎重,因为错误的比例导致与现实世界差别过大,容易导致“模拟疾病”.

三、模拟疾病

 

模拟疾病是动晕病的一种,就是我们在使用类似oculus头盔这样的HMD设备,在虚拟现实的世界中不适所引起的。模拟疾病很大的影响了用户体验,甚至会摧毁所有VR体验感。为了减弱你的用户坏的VR体验,下面是一些最好实践准则。若不这样做,只会带来不好的用户体验。

1. 开发者用最坏的测试主题,因为他们自己已经习惯了使用VR设备。测试你的游戏,越多越好,确保他们不会产生模拟疾病。

2. 避免剥夺用户的相机控制权利,这是坏的VR体验的罪魁祸首。

3. 不要重写视域函数(FOV),不要导出让用户编辑。这个值是需要匹配头盔的物理几何和镜头,通过设备的SDK来设置的,为内部配置参数。若配置错误,转头的时候,会出现眩晕或恶心。(题外,其他OC代码里面他们把pitch值给直接设置为0了,是固定的,意思是不要没事改这个东西,FOV在头盔里,直接更改参数其实是没有效果的。)

4. 不要像多数第一人称射击游戏,为了镜头效果出现到处走的机器人。因为镜头的上下移动模仿人体会导致玩家模拟疾病,毫无VR体验感。

5. 不要没事抖动镜头。一个催泪弹经过玩家,镜头抖动对于非VR游戏很有感觉,但是对于VR游戏,这就容易引起模拟病。

6. 在你为VR游戏设置游戏关卡时候,灯光或颜色要弱于正常。强光或亮色在游戏中容易让人眩晕。

7. 尽量使用高的帧率。低帧率易引起模拟疾病,所以要优化游戏,保证帧率。对于DK1保证60帧/s,DK2需要75帧/s.

8. 避免使用楼梯,使用电梯来代替。当上楼梯的时候,相机的上下,很容易迷失。

9. 玩家应该以开设就要全速,不要逐渐提高速度,移动速度需要恒定。

10. 不要使用景深和运动模糊处理,它影响到玩家的视觉,更重要的是易引起模拟疾病。

以上是一些主要的原因,但是有更多的也是引起模拟疾病的原因。

四、VR 人物设置

 

1. 人物高和宽

属性

UE4缺省

VR建议

高度

192cm

176cm

宽度

84cm

68cm

2. 移动速度

移动速度很难确定多少是合适的,这个需要根据设计或经验不同来设计。在VR的Demo中,运动速度为原来的1/4.

属性

UE4缺省

VR建议

运动速度

60M/s

24M/s

3. 相机位置

属性

UE4缺省

VR建议

基础眼高

180cm

160cm

五、VR关于内容建议

 

当我们在创建VR场景的时候,谨记用户的可以多不同的角度来看场景的。下面是你可能已经做了,但是要在VR中避免的:

1. 缩放-场景中物体大小缩放最好是跟实际越接近越好。比真实实际的大或小,都会让人疑惑或引起模拟疾病的。

2. 背面剪裁--在标准的游戏中,经常使用去除掉玩家不能看到的三角面,以减少渲染量。然而在VR游戏中,玩家有更多的自由来观看,这个古老的经验有时可能会导致玩家看到了不应该看到的东西,请不要在这样做了。

六、(题外)什么是模拟疾病

 

3D画面立体逼真,令人宛如置身现场,已经成为一股风潮。然而,有专家称iPhone、3D影片和电脑游戏的3D效果造成的不适现象,恐将成为21世纪最严重的“职业病”。

科技专家已分辨出传统动晕症(晕车、晕船、晕机)与这种称作“模拟疾病”(simulation sickness)不适症状的差异,长时间盯着荧幕,与搭乘船只、汽车或飞机产生的不适并不相同。

科学家预期,3D显示器和模拟现实装置,模仿真实世界的能力只会愈来愈强。

这意味着我们的大脑可能更容易受骗,出现模拟疾病的不适将变得加频繁。

UE4关于Oculus Rift (VR)开发忠告的更多相关文章

  1. OCulus Rift 游戏开发六原则

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/46685477 作者:car ...

  2. Unity正式发布首个“实验性”VR编辑器,支持HTC Vive和Oculus Rift

    Unity今天正式推出"实验性"VR编辑器.据悉,EditorVR是Unity游戏引擎中的一个组件,可让开发者在虚拟现实环境中开发游戏.为何要称之为"实验性"? ...

  3. 三星Gear VR与Oculus Rift DK2全方位比拼

    网易数码1月6日消息,Oculus Rift DK2并不是面向消费者的产品,而三星Gear VR则进入了大众市场.虽然二者有点不同,但还是值得对比一番,看看Gear VR相比当下虚拟现实领域佼佼者Oc ...

  4. oculus rift 开发(一)

    我使用的是oculus rift DK2,也就是开发人员版.在開始使用前.要确保几件事: 一.准备工作 1.pc配置.配置越好执行越流畅.反之会使帧率低.伴随的体验就是眩晕恶心,甚至无法执行. 官方推 ...

  5. 使用Unity5.1进行VR开发的配置(最新的未必是最好的!!!)

    随着Unity5.1的发布,之前的Oculus Rift和Gear VR 开发流程发生了巨大的变化,这也算是小白鼠们必须付出的代价了~ 那么Unity5.1和Oculus的整合究竟发生了哪些变化,对开 ...

  6. VR开发中性能问题—OculusWaitForGPU

    http://blog.csdn.net/cartzhang/article/details/50788894 VR开发中性能问题-OculusWaitForGPU 本文章由cartzhang编写,转 ...

  7. 屏蔽OCulus Rift的官方警告的方法实测

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/45870243 作者:car ...

  8. 优分享VR开源啦,优分享VR是基于Google VR开发的一款手机VR视频资源的聚合软件

    欢迎来到优分享VR开源项目 优分享VR 开源中国Git地址: http://git.oschina.net/xumingwang/youkes_vr 优分享VR是 优分享安卓APP VR视频播放开源部 ...

  9. 关于VR开发中的穿墙问题随想

    在VR开发中,用户将以第一人称的视角进入虚拟世界,即用户同时身处两个坐标系:1. 现实世界坐标系(如房间的坐标系),用户的身体处于这个坐标系 2. VR世界坐标系,用户的感官处于这个坐标系,即用户觉得 ...

随机推荐

  1. HDU 3572 Task Schedule(最大流判断满流)

    https://vjudge.net/problem/HDU-3572 题意: 有N个作业和M台机器,每个作业都有一个持续时间P,工作的日期为S~E.作业可以断断续续的在不同机器上做,每台机器每次只可 ...

  2. java 中 Cannot make a static reference to the non-static 解决方法

    今天敲代码的时候遇到了这个问题,大体这个问题可以简化成这样: public class Test1 { public String get() { return "123"; } ...

  3. 使用ARouter遇到的坑

    跨模块跳转不能跳转 需要被跳转的模块或者说使用了ARouter注解的模块都要加上这个 dependencies{    annotationProcessor rootProject.ext.arou ...

  4. uva10944 状态压缩bfs or DP

    又是一道状压搜索,题解有的是状压DP做的目前不会日后补 写好了以后一直蜜汁WA,看别人代码把判断再次回到原点的语句写在了Q.pop()之后而不是for里,对我也是一种启发吧这样写确实有好处比如起点就是 ...

  5. Unsupported major.minor version 51.0解决办法(转)

    我使用的是Eclipse-jee-indigo + JDK 1.6.23环境,结果使用时出现Unsupported major.minor version 51.0错误提示,下面我来介绍Unsuppo ...

  6. HTML 代码常用技巧

    IE Javascript快捷键操作 . oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table bo ...

  7. angular学习笔记系列一

    首先我们要明确一点,angular在web应用的角色,在传统的多页面web应用程序中,服务器根据输出数据和html模板渲染好页面所需的html输出到页面(所谓的服务器装配程序),随着单页面应用程序和a ...

  8. JS中的phototype详解

    作者:轩脉刃 1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展.我们称B的原型为A. 2 ...

  9. react中父组件调用子组件的方法

    1.直接使用ref进行获取 import React, {Component} from 'react'; export default class Parent extends Component ...

  10. BZOJ3033: 太鼓达人(欧拉回路)

    Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 524  Solved: 400[Submit][Status][Discuss] Description ...