虚拟现实的头戴式设备的视野(FOV)原理
本文原址https://www.cnblogs.com/zhangmiao14/p/5836664.html。
对于VR,它做得最好的就是它对生活的变化,有一些关键因素需要调整的恰如其分。如果做得正确,开发者可以传送。也就是说,把你带到你现实所在位置以外的能力,并欺骗你的头脑去相信它。

因素包括但不限于,高帧率、高屏幕刷新率、高分辨率、高像素填充密度、低持久性和视野(FOV)。本文将重点研究视野。
视野(FOV)是什么?
视野,或者是在任何给定的时间内观察环境的程度,是虚拟现实的很重要的方面之一。现在更多用户有可能在体验中感受到更广泛的视野。FOV的两种类型(单眼视野和双眼视野)共同构成了人类的视野。
①单眼视野描述我们其中一个眼睛的视野。对于一个健康的眼睛,水平单视野在170°- 175°之间,角度是由瞳孔到鼻子构成,鼻角通常是60°- 65°,并且对于大鼻子的人鼻角比较小,而且从我们的瞳孔向我们头侧的普遍视野是更广泛的,通常是100°- 110°。
有趣的事实是,我们对不同的颜色有不同的视野。
②双眼视野被大多数人认为是两个单视野的组合。当他们结合后给人类提供的可视面积为200°- 220°。在两个单目视野重叠的部分为立体双目视野约114°,在那里我们能够感知东西处于3D。
在每天发生的大部分行为和虚拟现实头戴式设备中,沉浸式和现场式的立体双目视野有一个更广阔的视野是重要的。

深度知觉如何工作?
我们的大脑理解我们周围世界的深度有3个极好的巧妙方法。如果我们对事物的大小有了解,我们可以根据它看上去有多大来了解它有多远。例如,你站在旁边的一辆车会显得比在停车场的一辆车大。此外,在距离我们视网膜的距离更远的东西比那些靠近的东西移动更慢。
如果你看你的车窗,远处的树看起来几乎是静止的,但路标移动却很快,如果你眨眼你将错过它们。最后,我们的眼睛之间距离约64毫米,发送不同的图像到我们的大脑将把它们结合成一个单一的三维图像。二眼发送的图像之间的不一致越大,影响就越大,因此,靠近显示的对象有很多的深度而远离显示的对象可以显示为平面。
头戴制造商的对FOV的考虑
VR 视野(FOV)的限制因素是镜头,不是瞳孔。为了得到一个更好的视野(更大的FOV),你要么移近镜头要么增加镜头的大小。
像Oculus和HTC这样的公司出于人体工程学的原因,希望生产最轻、最小的头戴。
增加FOV的方法一 :移近镜头

A:你可以在你的vr头戴里使用薄镜片,使得头戴变轻,但是这将增加从镜头到vr头戴显示器的距离,从而增加头戴的大小。
B:你可以使用厚点的镜头并且使镜头和显示器的距离变近(厚镜头焦距较短,放大效果更强)。但是这些较厚的镜片增加了新的工程挑战,控制几何畸变和色差。
由于放大效果较强,因此也需要更高分辨率的显示器,以避免或减少纱窗效应(纱窗效应是由于分辨率不足,人眼直接看到显示器的像素点,就好像隔着纱窗看东西)。
C:如果你想让头戴保持固定大小,另一个选择是在VR头戴镜头和用户眼睛之间增加更多距离
D:这减少了视场,也是不可取的,所以我们现在看到的大多是较小的头戴,镜片较厚,离用户的眼睛相当近。

增加FOV的方法二: 使用直径更长的镜片
①较大的镜片需要中间更厚,这使它们更重,这个问题可以通过使用Fresnel透镜被克服。
②不管使用什么镜头,镜头越大就需要使用越多的光学畸变
当您构建虚拟现实头戴时,您需要考虑所有这些因素,以使FOV最大化,而不会使头戴太大或太重,并为用户保持最佳的视觉体验。
Oculus, HTC and Pimax当前使用的解决方案:
Oculus在很大程度上被认为是VR头戴游戏的领先者,它在开发工具上使用了标准放大镜,它允许大约90度的视场,用大量的图像畸变使得当你移动你的眼睛时眼睛远离中心。
他们已经投入了大量的时间和金钱到自定义混合式的透镜。他们增加了机械的瞳距(IPD),无论他们的眼睛之间的距离,使每个人都得到最清晰的图像成为可能。
这篇文章中写到的HTC尚未展示出他们的头戴式设备的消费者版本,但他们在原来的开发包和更新预开发工具包中也使用了Fresnel透镜。
Fresnel镜片是凸的,它产生光线的方法是从脊反射到屏幕并且在图像上创造了一种光环。在早期的包中有一个方法被称为Mura,使图像看起来被超薄黑色亚麻材料覆盖。
而光线伪影仍然在新的预开发工具包中,HTC已经增加了一些被称为Mura的方法用来修正图像锐化。似乎很有可能他们将带来更多的改进为他们的最终的消费类型包,但时间会说明一切。Vive Pre和合适的最终消费者Vive提供约90度的水平视野。
一家名为Wearality的公司,不从事电脑头戴式设备游戏(至少不是这样写),带来了被誉为一种在透镜技术上有突破的Kickstarter并把镜片放在支持VR设备的紧凑的手机上。他们的突破是弯曲fresnel镜片以增加视野到150度。报告的有效性不同,但大多数是积极的,但声称光线伪影是很明显的。
最后,游戏制作公司Starbreeze.Starbreeze购买了一家名为Infiniteye使用两个屏幕代替一个屏幕的VR头戴式设备的公司。
设置在风景模式下的屏幕上的风景在中心角并且伸展到佩戴者头部的侧面。一些高度定制的镜片可以允许用户的眼睛观察到这些额外的视野。
虽然这给了Starbreeze更多逼真的视野,但它也有一些平衡。更多的屏幕空间意味着达到相同的结果需要更多的渲染力。
鉴于Oculus和HTC需要顶尖的电脑去启动头戴式设备,按理说,实现和Starbreeze头戴式设备相同的质量水平将需要一个更强大的计算机。虽然目前还没有在发布日期提到Starbreeze头戴式设备,但是这只是他们准备把它推向市场的时间问题。
虚拟现实的头戴式设备的视野(FOV)原理的更多相关文章
- [nRF51822] 15、穿戴式设备上电量检测装置的设计及细节技术点(偏专业硬件文章)
穿戴式 设备如智能手环.智能手表一般采用几百毫安时的锂离子电池来供电.因此,与之配套的充电电路.稳压电路和电池电量检测电路便必不可少!本文主要谈谈该类消费类电子内部电池电量检测的一般方法及其优缺点. ...
- NUBWO/狼博旺 NO-3000台式电脑耳机头戴式游戏电竞语音耳麦带话筒
产品名称:NUBWO/狼博旺 NO-3000 套餐类型: 官方标配 颜色分类: 蓝色耳机(发光) 黑蓝7.1声道USB 黑色 黑蓝色(发光) 黑蓝色 黑蓝单插孔 白色(发光) 白色 佩戴方式: 头戴护 ...
- Android Wear之android穿戴式设备应用开发平台
Android Wear于2014年03月19日公布,并有Moto 360和LG watch两款产品. 眼下源代码还没有开放.可是开发人员能够下载它的Image及相应的开发SDK,这样开发人员通过模拟 ...
- paip.自适应网页设计 跟 响应式 设计的区别跟原理and实践总结
paip.自适应网页设计 跟 响应式 设计的区别跟原理and实践总结 响应式Web设计(Responsive Web design)的理念是: 1 #-----------自适应布局VS响应式布局 2 ...
- 用铁电存储器FRAM让穿戴式设备更省电
可穿戴设备应用中的显示屏消耗了大部分电池电力.解决方法之一是直接提高电池容量,但是大容量电池会加大尺寸和重量,对可穿戴设备不合适,尤其是在市场不断追求更小型化的新款产品时更是如此.更具挑战性的是电池技 ...
- Bootstrap响应式栅格系统的设计原理
1.历史背景 Bootstrap是Twitter的工程师Mark Otto和Jacob Thornton开发的一套供内部使用的UI框架,于2011年开源.2012年发布的第二版中新增了12列栅格系统和 ...
- 简谈 JavaScript、Java 中链式方法调用大致实现原理
相信,在 JavaScript .C# 中都见过不少链式方法调用,那么,其中实现该类链式调用原理,大家有没有仔细思考过?其中 JavaScript 类库:jQuery 中就存在大量例子,而在 C# 中 ...
- 列式数据库~clickhouse 底层存储原理
简介:今天介绍列式数据库的一些基本原理 一 数据目录 Data目录 数据存储目录,数据按照part分成多个文件夹,每个文件夹下存储相应数据和对应的元信息文件 Metadata 表定义语句,存储所有表 ...
- Android设备adb授权的原理【转】
本文转载自:http://blog.csdn.net/zahuopuboss/article/details/50831171 http://blog.csdn.net/sowhat_ah/artic ...
随机推荐
- sql server 索引阐述系列四 表的B-Tree组织
一.概述 说到B-tree组织,就是指索引,它可以提供了对数据的快速访问.索引使数据以一种特定的方式组织起来,使查询操作具有最佳性能.当数据表量变得越来越大,索引就变得十分明显,可以利用索引查找快速满 ...
- Python快速学习04:循环 & 函数
前言 系列文章:[传送门] 也就今天认识了 LC ,很开心. 本文目录 循环 for while 中断 函数 函数定义 函数调用 for循环 Python 中的for 循环象shell 脚本里的for ...
- 3.Magicodes.NET框架之路——预览(一)
3.Magicodes.NET框架之路——预览(一) 前言 一眨眼,已经过去两个多月了 ,哥已经火力全开了(业余时间和精力,甚至为此放弃了各种私活),所以大家不要抱怨慢哈.编程犹如逆水行舟,不进则退. ...
- 在eclipse中安装properties插件PropertiesEditor及设置(附图),ASCII码转换成中文
在eclipse中安装properties插件PropertiesEditor及设置(附图),ASCII码转换成中文安装成功后ASCII还是不能转换成中文的,原因是设置里面没有把编码设置为utf8的, ...
- Perl的输出:print、say和printf、sprintf
print.printf和say都可以输出信息.print和say类似,print不自带换行符,say自带换行符,但要使用say,必须写use语句use 5.010;,printf像C语言的print ...
- Spark内存管理机制
Spark内存管理机制 Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色.理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行 ...
- [JavaScript] XMLHttpRequest记录
XMLHttpRequest 使用 XMLHttpRequest 对象可以和服务器进行交互,可以获取到数据,而无需让整个页面进行刷新.这样 web 页面可以做到只更新局部页面,降低了对用户操作的影响. ...
- 跨域 webpack + vue-cil 中 proxyTable 处理跨域
博客地址:https://ainyi.com/27 跨域 了解同源政策:所谓"同源"指的是"三个相同". 协议相同 域名相同 端口相同 解决跨域 jsonp 缺 ...
- 关于EF中出现FOREIGNKEY约束可能会导致循环或多重级联路径的问题
ef中,我们创建外键的时候需要注意,否则会出现标题所示问题. 例:有项目表,项目收藏表,用户表 项目表有如下字段:ProjectId,InputPersonId等 项目收藏表有如下字段:Project ...
- Linq中的Select与Select many
Select与Select Many 之前在项目中查询数据库中的数据,都是通过sql语句来查询的,但是随着时代的发展,微软在.Net Framework 4.5版中推出的一个主要的特性——LINQ. ...