1)第三百二十九章 解决方案_电脑附身
字体:      护眼 关灯
上一章 目录 下一章
  简单来说就是画面太逼真了,让你有身临其境的感觉,身体认为你正在做剧烈的运动,或者处于画面中的状态,但是实际上你是坐在座位上并没有运动。

  这是一种自我保护的本能,大多数人可以通过锻炼减轻晕眩,但是不可能让人真正去移动一段距离。

  另一方面,vr硬件的延迟造成时间上的不同步,当人转动视角或是移动的时候,画面呈现的速度跟不上,在vr这样全视角的屏幕中,这样的延迟是造成晕眩问题。

  目前世界上最先进的虚拟现实设备,画面延迟都在以上,而想要真正解决眩晕的问题,至少要将延迟降低到10ms以内。

  这里面涉及到的硬件技术问题,即使虚拟现实技术的领跑者,大名鼎鼎的oculus公司(已被facebook收购)也解决不了。

  原理很简单。

  比如一台全息显示设备,首先从头部转动到传感器读到数据大概需要1ms的时间。

  然后数据需要经由单片机,传输到电脑。

  因为它们的接口是不同的,就好像空调的电源插头不能插到小台灯的插座里,需要一些转换工作,单片机就负责了这样的转换。

  数据从传感器到单片机大概需要1ms。

  因为前面数据的产生需要1ms,于是如果不在1ms内将这些数据传送到单片机,那么后来的数据就会被丢弃。

  接下来是单片机经由usb线将数据传输到pc。

  usb线具有极高的传输速率,但是完全由host端(也就是pc端)控制传输的。

  也就是说,如果host端不接收单片机发来的数据,那么数据就会被丢弃。

  采用hid方式的情况下,host端会经常检查是否有数据传输上来,然后将数据存放到内存,所以这个时间在1ms之内。

  至此,数据已经到达pc的内存了,走完了全部的硬件过程。由于数据带宽、通信协议等限制,会占用3ms到4ms之间的时间,很难再减少了。

  在硬件上传输完成后,就是软件算法处理的过程了。

  由于模拟信号本身的噪声和漂移,转换成数字信号后,数据中存在大量的噪声和漂移。

  于是需要复杂的数字信号处理方法将这些噪声和漂移过滤掉。

  这样,传感器传来的9轴数据就成为了渲染游戏所需的头部旋转的四元数旋转数据。

  处理这个数据一般在1ms以内。

  渲染时只要将这个旋转的四元数乘以摄像机的坐标,就得出了观察方向,可以用于渲染场景。

  通过特殊的算法(例如time-arp,目前最快的算法),根据先前的数据处理得到的图像,完成真正被显示的画面。

  幸亏有了time-arp算法,我们可以基本忽略渲染场景的延迟。

  当场景渲染完之后还需要

  请收藏:https://m.bqgvv.cc

(温馨提示:请关闭畅读或阅读模式,否则内容无法正常显示)

上一章 目录 下一章