转自: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. SPOJ—VLATTICE Visible Lattice Points(莫比乌斯反演)

    http://www.spoj.com/problems/VLATTICE/en/ 题意: 给一个长度为N的正方形,从(0,0,0)能看到多少个点. 思路:这道题其实和能量采集是差不多的,只不过从二维 ...

  2. Java回顾之序列化

    在这篇文章里,我们关注对象序列化. 首先,我们来讨论一下什么是序列化以及序列化的原理:然后给出一个简单的示例来演示序列化和反序列化:有时有些信息是不应该被序列化的,我们应该如何控制:我们如何去自定义序 ...

  3. 【Python】实现将Excel编写的用例上传到testlink指定用例集

    背景 百科上说TestLink 是基于web的测试用例管理系统,主要功能是测试用例的创建.管理和执行,并且还提供了一些简单的统计功能.其他的信息可以参照他们的官网http://www.testlink ...

  4. 一定要用Windows自带的记事本编辑 applicationHost.config

    访问IIS时,发生了一个 HipIISEngineStub.dll不能读取的问题.(Windows Event可以确认). 很容易在网上找到了对策, http://chrisfleischhacker ...

  5. Gitea docker-compose.yaml

    docker-compose.yaml version: "2" networks: gitea: external: false services: server: image: ...

  6. restframework api(基础3CBV)

    一 CBV源码流程 urls.py from django.conf.urls import url from django.contrib import admin from app01 impor ...

  7. checkbox选中的问题(Ajax.BeginForm)

    判断checkbox选中的方法方法一:if ($("#checkbox-id")get(0).checked) { // do something} 方法二:if($('#chec ...

  8. Struts2基本使用(二)--配置文件简述

    配置文件简述 引入Struts2框架之后项目中多了一个struts.xml,以及web.xml也多了一些代码 web.xml只要的功能就是拦截用户的请求其多出的代码如下: <filter> ...

  9. 201621123006 《Java程序设计》第14周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 2. 使用数据库技术改造你的系统 2.1 简述如何使用数据库技术改造你的系统.要建立什么表?截图你的表设计. 2 ...

  10. SQL优化:使用explain

    前文说了EXPLAIN的输出的含义,本文实战一下. Database Schema DROP DATABASE dbTest; CREATE DATABASE dbTest; USE dbTest; ...