转自: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. Gym 101243E Cupcakes

    http://codeforces.com/gym/101243/attachments 题意: 有n个人,桌子上有k的蛋糕,每个人都有一个值val,表示每次轮到他吃蛋糕时,他可以吃1~val的蛋糕量 ...

  2. 51Nod 1509 加长棒(隔板法)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1509 思路: 直接去解可行的方法有点麻烦,所以应该用总的方法去减去不可行 ...

  3. sonar runner的配置

    #Configure here general information about the environment, such as SonarQube DB details for example ...

  4. 学习gulpfile.babel.js随笔

    'use strict' import gulp from 'gulp' //将gulp插件包含进来 import sass from 'gulp-sass' //编译sass文件 import im ...

  5. UVA-10600 ACM Contest and Blackout (次小生成树)

    题目大意:给一张无向图,找出最小生成树和次小生成树. 题目分析:模板题...方法就是枚举所有的比最小生成树中两端点之间的最长边还要长的边,用它替换,再取一个最小的值便是次小生成树了. 代码如下: # ...

  6. ASP.NET Page 指令

    一些重要的Page指令 虽然Page公开了很多属性,让我们可以在运行时调整它的状态与行为,但是,还有些重要的参数却是以“指令”方式提供的,需要在设计时就指定.下面是我整理的一些我认为 比较重要并且经常 ...

  7. asp.net(c#)开发中的文件上传组件uploadify的使用方法(带进度条)

    上文件传很常见,现在就文件上传利用HTML的File控件(uploadify)的,这里为大家介绍一下(uploadify)的一些使用方法.在目前Web开发中用的比较多的,可能uploadify(参考h ...

  8. 彻底弄懂jQuery事件原理一

    jQuery为我们提供了一个非常丰富好用的事件API,相对于浏览器自身的事件接口,jQuery有以下特点: 1. 对浏览器进行了兼容性处理,用户使用不需要考虑浏览器兼容性问题 2. 事件数据是保持在内 ...

  9. POJ 2236:Wireless Network(并查集)

    Wireless Network Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 36363   Accepted: 150 ...

  10. free命令学习 输出理解

    命令 [root@localhost ~]# free -m total used free shared buffers cached Mem: 7869 7651 218 1 191 5081 - ...