虚拟现实开发一些建议

本文章由cartzhang编写,转载请注明出处。 所有权利保留。

文章链接: http://blog.csdn.net/cartzhang/article/details/51898067

作者:cartzhang

【本文为原作者对虚拟现实开发的一些建议和理解,写的非常不错。理解的也非常透彻,希望对各位在路上的VR开发者有积极作用。】

下面是我对虚拟现实开发一下建议。我已经把他们分为Vive相关,常规VR和更宽泛意义上的建议。更多建议请关注我的Twitter。

一、Vive 相关

1. 让玩家按下按键来开始游戏。这么做有几个重要的好处:

- 确保带上头盔并准备好了

- 确保玩家至少有一个控制器在他们的手里。

- 你可以在这点设置玩家高度的特殊物体(比如:物体在玩家附近高度相对于玩家的头部)。

- 按下按键将关联到主控制器(无论是左手还是右手)。这个在你控制器功能有很大差别的时候,可以作为主控制器。

2. 某些按钮比其他更好用/易用,很像控制台控制器。尽量使用易用的按键。在游戏或体验中关联按键,建议遵守如下常用优先顺序:

- 扳机

- Track-pad 作为单个按键

- 3D 世界交互(例如:按下控制器的3D按键)

- 菜单按键

- Track-pad 作为四个按键

- 手柄按钮-除非必须绝对不要使用这些。

3.对空间大小体验,大小为2米X1.5米或更小能满足81%用户。

它将让你捕获尽可能多的受众。更多用户细节状态可参考这里。

4.不要鼓励用户把他们的控制器里的彼此离的太近或离头盔太近。

这总有几次会打到某些东西且可能会毁坏设备。

5.当用户与世界交互时使用控制器振动来提高存在感。

一个很好的例子就是Vive的房间大小设定。用户移动设备越快振动越快。

6.很多用户不看他们的控制权,考虑到这一点。对此,有三个主要的解决方案:

- 添加一行按钮,并且文字一直渲染在用户视野。当控制器超出玩家视野时标定视野方向,这样他们必须看向文字中心。这样在他没有看向控制器时,可以随时扩大控制器图标且期望他们使用控制器与场景交互。

- 把文字放到他们面前告诉他们看着控制器。

-当出现一个奇特按键时添加一段音频来告知用户看向控制器。

二、常规虚拟现实

1.帧率是王道。

高帧率比其他因素都更加重要。无论何时添加了影响帧率下降到90帧一下时都要问下这是否很重要。目标是970GTX,它是最低配置,且要确保在最低配置显卡上一直可以跑到90帧。

2.在使用屏幕空间特效时候要非常小心。

我们可以接受在电脑屏幕上的镜头光晕但是在VR中完全不真实。这对于有些开发者有时故意夸大现实(比如:泛光)是个严重的问题。不要在游戏中这么做,使游戏看起来像游戏开发者的标准一样”好看”。

-抗锯齿

- 颜色校正

- 泛光

- SSAO (由于这个花销太大而效果不明显,我通常放弃这个。)

3.根据需要保留UI。

两款消费级的设备的分辨率都能满足在3D中阅读。然而需要让文本额外大。一些用户在虚拟现实中不佩戴头盔,所以要确保文本比“常规用户”需求的要大一些。把UI与控制器相关联是一个很不错的方法,用户可以自己把控制器靠近眼睛来阅读文字。

4.可以的话使用音频。

在VR中相比于UI,声音是一个更好的选择。这样就不关系用户错过了弹出框,用户可以多任务进行,在完成其他动作的同时聆听声音。而不是他们必要要停下来,读文字信息。

5.在转移/传送用户时,渐变为黑色。

我会把整个屏幕全黑下来一小段时间(~0.2秒)来帮助大脑适应过渡。

6.让对象离玩家有一个最小距离,因为离视口太近会引起疑惑和眩晕症。

最好有一个最近的Z平面,防止渲染到不舒服的距离。尊重用户的个人空间(或不要明显的不舒适的体验)。

7.细节很重要。

若用户可以拾起或以其他方式靠近某个对象来观察对象细节。对模型质量来说,纹理细节是其后最重要的。

8.在虚拟现实中,闭上一只眼瞄准物体时真的可以的。

像瞄准器视线和范围(武器和望远镜,显微镜等)有惊人的效果。不要单单只想使用在枪/武器,用奇妙的方法来使用这个。

9.不要把对象相对用户来进行线性插值,锁定他们即可。

我原本想这会让玩家有一个平滑过渡到感觉,然而结果却很糟。锁定旋转且锁定XYZ轴上的位置。

三、虚拟现实哲学

1.虚拟现实游戏会放大游戏/体验中最好的和最坏的部分。

当虚拟现实很棒的时候,真的很棒。一个高水平的项目完成后立即会有人在虚拟现实中买卖。不幸的是,不好的体验也是同样的。低帧率,低画质和其他事情会完全毁掉体验,有时会导致模拟病。能力越大责任越大。

2.绝对优先的事情是存在的。

忽略当前应用中的所有其他规则。

3.我们是先驱者

所以花些时间在每个新问题上,看看是否存在新颖的方法来解决它。不要在基础回顾之前游戏/Apps上构建。

4.尊重用户

尊重他们的私人空间和他们的舒适度。期望非游戏玩家和所有人来玩你的游戏/体验。

5.当前虚拟现实最大的问题是过于炒作和糟糕的体验管理。

根据Steam监测当前最好的销量为10-20k。而消费者非常 棒,知道这是第一代消费设备,故此并不期待所有都完美无暇。

6.事情会快速变化,所以要做好准备。

最好从小产品发布来开始,构建你自己的名字,获取真正的虚拟现实内容发布的经验。

7.观察首次使用VR观众(游戏玩家和非游戏玩家)。

尽可能早的让他们玩你游戏原型。虚拟现实会放大你软件的优点和缺点,赤裸裸的。

8.在原型Demo过程中,不要过多的经验玩法。

大多数人很乐意尝试,但是太多了,就会关闭它。

9.构建一致性。

当前游戏中受批评最多的一点(也许过于多)就是当前不同游戏的一致性。与其他虚拟现实开发者一起建立常用词汇和我们工作要遵循的标准。我们应该建立一个包容性的社区,更多的应该是相互帮助而不是竞争。(译者:说的多好啊)

这篇是真心的,有好几点真是说的非常非常好。事情会快速变化,只要有心想要进入VR里来的人,准备好吧!!!

原帖地址:

http://www.gamasutra.com/blogs/AlistairDoulin/20160614/274884/Virtual_Reality_Development_Tips.php

作者:Alistair Doulin



若有问题,请随时联系!!

非常感谢!!

路漫漫其修远

时间: 2024-10-30 08:36:47

虚拟现实开发一些建议的相关文章

50条大牛C++编程开发学习建议

每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路.下面列出这50条建议: 1.把C++当成一门新的语言学习(和C没啥关系!).2.看<Thinking In C++>,不要看<C++编程思想>.3.看<The C++ Programming Language>和

Cardboard虚拟现实开发初步(二)

Google Cardboard 虚拟现实眼镜开发初步(二) Cardboard SDK for Unity的使用 上一篇文章作为系列的开篇,主要是讲了一些虚拟现实的技术和原理,本篇就会带领大家去看一看谷歌的Cardboard SDK for Unity,虽然目前资料和文档较少,但是这个package用起来还是非常方便的,只要大家稍微接触过Unity就可以轻松的使用,我会以面对Unity初学者的方式进行讲解. 为了方便大家阅读,我会把步骤尽量写的细致一些,相关的谷歌官网上的英文资料和我自己翻译的

开发人员建议阅读:Spring Boot 架构中的国际化支持实践

pring Boot 主要通过 Maven 或 Gradle 这样的构建系统以继承方式添加依赖,同时继承了 Spring 框架中的优秀元素,减少了 Spring MVC 架构中的复杂配置,内置 Tomcat,Jetty 容器,使用 Java application 运行程序,而不是传统地把 WAR 包置于 Tomcat 等容器中运行,从而简化加速开发流程.此外,Spring Boot 学习简单.轻量级.容易扩展.基于这些优秀的特点,Spring Boot 成为了蓬勃发展的快速应用开发领域的领导者

iOS开发编码建议(Objective-C)(持续更新中)

在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码.那么,有一个良好的编码习惯将会非常重要.下面将会罗列使用Objective-C来开发iOS的编码建议. [1] 任意函数长度不得超过50行.(其实很容易就超过50行,这就要考虑代码抽取了.) [2] 任意行代码不能超过80字符.(其实也很容易超过80字符,可以考虑多行显示,比如有多个参数时,可以每个参数放一行.)可以在Xcode中设置超过80个字符的提醒,选中"Page guide at column".设置完之后就会在代

&lt;转&gt;学习iOS开发的建议:如何从菜鸟到专家

本文转自:http://www.cnblogs.com/YouXianMing/p/3631577.html 文章原地址:http://mobile.tutsplus.com/tutorials/iphone/ios-quick-tip-from-novice-to-expert/ iOS Quick Tip: From Novice to Expert Bart Jacobs on Jul 29th 2013 with 5 comments Even though it's possible

Android开发优化建议

1.找一些与你想开发的功能类似的代码 2.调整它,尝试让它变成你想要的 3.回顾开发中遇到的问题 4.使用StackOverflow来解决遇到的问题 对每个你想实现的东西重复上述过程.采用这种方法能够激励你,因为你在保持不断迭代更新,在这个过程里面你会学到很多.当然,当你发布应用的时候你还要去做一些更深入的东西. 从一些能够正常编译的代码到成为一个应用程序,这是一个质的飞跃,比起iOS,Android则表现的更加明显.当iOS应用发布的时候,实际上只是在一种设备之间跳跃,对iOS很多机型而言都很

30条大牛C++编程开发学习建议

每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了扣丁学堂www.codingke.com对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路.下面列出这50条建议: 1.把C++当成一门新的语言学习(和C没啥关系!). 2.看<Thinking In C++>,不要看<C++编程思想>. 3.看<The C++ Programm

【转】50条大牛C++编程开发学习建议

每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路.下面列出这50条建议: 1.把C++当成一门新的语言学习(和C没啥关系!). 2.看<Thinking In C++>,不要看<C++编程思想>. 3.看<The C++ Programming Language>

Cardboard虚拟现实开发初步(一)

Google Cardboard 虚拟现实眼镜开发初步(一) 虚拟现实技术简介 不得不说这几年虚拟现实技术逐渐火热,伴随着虚拟现实设备的价格迅速平民化,越来越多的虚拟现实设备来到了我们眼前,也因此虚拟现实方面的开发离我们也越来越近. 这几年迅速崛起的Oculus,其成功就在于拉近了虚拟现实与群众的距离,把原本价格高不可攀的虚拟现实设备放到了我们可以触手可及的位置,Oculus的技术开辟了全新的体验和可能性,不仅仅在游戏领域,还在生活.教育.医疗等诸多领域拥有广阔的想象空间,Facebook在20