专栏名称: 雷峰网
中国智能硬件第一媒体
目录
相关文章推荐
51好读  ›  专栏  ›  雷峰网

VR“鬼打墙”:如何将超大虚拟地图塞进小VR空间?|SIGGRAPH Aisa 2016

雷峰网  · 公众号  · 科技媒体  · 2016-12-05 22:57

正文

请到「今天看啥」查看全文




如何实现VR“鬼打墙”?


a. 虚拟世界地图;b. 现实空间的地面大小;c. 现实空间的实验室设置;d. 虚拟世界画面;e. 用户头显看到的画面


那么这种“鬼打墙”的技术到底是如何如何实现的呢?魏立一教授进行了详细解答。


为了在一个小空间里实现更大的虚拟世界,就需要引导用户的移动,这在全封闭的VR头显中是可以做到的。关键在于不让用户发觉,保持画面的真实感。


实现的过程包含两个关键步骤:


1、虚拟与现实之间的平面映射( Planar Mapping )


平面映射是一种被用于解决许多问题的方法,在这项应用中,是需要在一个已经设定好的真实场景中,通过定制化的平面映射将不规则的路线映射到真实场景中。



如上图所示,最左边的a是虚拟地图的静态映射,整个空间面积需要200 × 200;b、c、d和e都是平面映射到不同大小的真实场景中,其中d和e是避开障碍物的映射。


平面映射的关键在于保持VR运动的距离和角度,并引导用户不要撞上障碍物或是离开边界。


2、扭曲(warp)渲染方式


第二个关键步骤在于用特定的渲染方式,将正常的用户画面转换成扭曲过的地图上用户看到的画面。



如上图所示,左边a为假设正常渲染的的画面;b为不作扭曲渲染看到的画面,上面有一些“鬼影”;c是手动对b进行扭曲并去掉“鬼影”的画面,仅作参考;d是经过扭曲处理的画面,去遮挡的部分用绿色显示;e是用比较粗暴的方法对去遮挡部分进行填充;f是论文作者所使用的渲染办法,使用到了碎片化深度值(fragment depth values)来弥补去遮挡部分。


经过真人测试,这种方法可以在压缩地图,让用户避开障碍物的同时,不会大幅增加用户的不适感和眩晕。



局限


虽然这种方法效果不错,但也存有一些局限,包括以下几个方面:


1、这种方法可以将高度信息加入渲染当中,比如用户跑、跳或弯腰,但如果是缓缓走上一个斜坡,它可能无法感知到。


2、画面及位移的保真程度与压缩的比例有关,如果虚拟场景大小和真实场景相关较小,保真度就高,反之则低。


3、巨大的开放空间无法被压缩进小空间里,此时可能仍需要用到teleportation。


a. 去遮挡区域,b. 画面失真


4、这种方法无法处理巨大的,且与周边环境深度信息不同的去遮挡画面,会出现画面失真的情况,如上图所示。


视频简介:









请到「今天看啥」查看全文