HTC Vive的定位技术
Lighthouse空间定位,chaperone系统避免实际障碍物
HTC vive所用的Lighthouse技术属于激光定位技术,Oculus Rift以及索尼PlayStation VR所用的定位技术都属于光学定位技术,其中Oculus Rift是红外主动式光学技术,索尼PlayStation VR则是可见光主动式光学技术。
HTC Vive的Lighthouse室内定位技术
特点:低成本,定位消费级VR,有较高精度和较低延时
HTC Vive采用的激光定位技术,具体构成是利用光塔+头显/手柄上的光敏传感器共同完成定位

上图,对角线两个光塔会形成一个3D空间
描述数学模型:瞎猜 htc lighthouse 定位数学模型(一)
精度测试,定位精度可达0.3mm:外国专家告诉你Lighthouse追踪到底有多准确
HTC Vive的chaperone系统
可避免实际环境中家具及障碍物,利用头显上的前置摄像头
简单来说,当使用者连按两次控制器上的菜单键以后,Chaperone 便会启动,并将现实世界中的场景叠加到你眼前的虚拟画面之上。另外,当你走近预设区域的边界时,Chaperone 也会自动开启,以此来引起用户的注意。
预设区域:宽-高(隔离出一个区域)

定位空间:

chaperone view1

chaperone view2:Tron Mode(右侧)

How to use the Chaperone camera on the HTC Vive
如何检测墙和家具?
有人建议像扫地机器人一样,记录和学习用户行动过的轨迹,形成room mapping;或者用SDK手工做:
That kind of user-directed room mapping will be important for when positional tracking takes off in VR experiences. There are many ways to do this--user defined dimensions, Kinect-style room scanning, or positionally tracked boundary markers. I believe that the SteamVR boundary system--which looks very much like a holodeck wall grid, albeit blue--is defined by the user typing in the dimensional space of the room. I would prefer a system where I could use the SteamVR controllers to manually map out my play area, to take into account irregular obstacles like desks, beds, and other furniture. It’s good to hear from developers that the boundary system is part of the SDK--it’s software that will be made available for anyone making a Lighthouse-based game.
#补充:
1. sony VR 的object avoidance system
2. 头显前置摄像头API教程(OpenVR):Vive 前置摄像头浅析1,2,3
限制:
1). 摄像头分辨率太低600X400左右,放大画面后效果无法接受;
2). 打开摄像头后游戏帧率降低,实时调用会带来性能上的额外要求;
3).摄像头刷新率30-60HZ,有明显画面迟滞,调高刷新率会导致定位丢失;
4).无法感知深度信息,比如没法做到接到别人扔给你的水果。
HTC Vive的定位技术的更多相关文章
- Oculus Rift, HTC Vive, SONY PSVR的全面对比
http://blog.csdn.net/xoyojank/article/details/50927572 这次有幸参加了GDC 2016, 终于把三大设备体验了个遍, 也试玩了很多不错的VR游戏. ...
- 如何低成本的打造HTC Vive虚拟演播室直播MR视频?
http://m.toutiao.com/i6298923859378700802/?tt_from=weixin&utm_campaign=client_share&from=gro ...
- Unity 5.4大赞:HTC Vive经典The lab渲染器开源
HTC Vive提供了一个不错的免费VR demo,最近1周仔细体验了一番. 仔细看了其安装文件,竟然是Unity 5.4beta版本(通过查log,知道Valve公司用的是最新的5.4.0b11版本 ...
- HTC VIVE固定头显位置
用此方法可以限制HTC VIVE头显定位(即固定头显位置,但是视角是不固定的). UnityEngine.XR.InputTracking.disablePositionalTracking = fa ...
- HTC Vive 基础入门 基于Unreal Engine 4引擎
主要以讲解介绍HTC Vive设备以及Unreal继承的Steam VR Plugin为主 使用最新的虚幻引擎与Plugin完成VR环境的搭建 然后完成一个基本的VR Games. 任务5: 04-配 ...
- LTE时代的定位技术:OTDOA,LPP,SUPL2.0
LTE时代的定位技术:OTDOA,LPP,SUPL2.0 移动定位技术的发展历程 如今智能手机已经在整个社会普及,数量众多的手机应用成为了人们生活当中不可或缺的一部分.越来越多的手机应用都用到了手机定 ...
- HTC Vive小场地与大场景空间的解决方案
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/52780621 作者:car ...
- HTC VIVE SDK 中的例子 hellovr_opengl 程序流程分析
最近Vive的VR头盔设备很火,恰逢项目需求,所以对 SDK 中的例子 hellovr_opengl 做了比较细致的代码分析,先将流程图绘制如下,便于大家理解. 在ViVe头盔中实现立体效果的技术核心 ...
- 头显HTC Vive北美直降100美元,中国区降价活动今日公布
如果你现在想要购买一台VR头显,591ARVR资讯网www.591arvr.com的小编提醒大家可以等一等,在即将到来的年末促销中各种VR设备都将迎来大力度降价.目前北美市场的HTC Vive已经直降 ...
随机推荐
- MySQL主从数据一致性检验
MySQL主从数据一致性检验 检查主从数据一致性,我们使用pt-table-checksum ,pt-table-checksum是percona-tools一个工具,用来校验主从库数据是不是一致. ...
- 接下来将介绍C#如何设置子窗体在主窗体中居中显示,本文提供详细的操作步骤,需要的朋友可以参考下
接下来将介绍C#如何设置子窗体在主窗体中居中显示,本文提供详细的操作步骤,需要的朋友可以参考下 其实表面上看是很简单的 开始吧,现在有两个窗体Form1主窗体,Form2子窗体 而且我相信大部分人都会 ...
- git的时候 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
更改Ubuntu服务器的时候,提交git出错: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE ...
- grafana设置Alert阈值和邮件报警
首先我们需要在机器上开启smtp/25服务,这里有一个坑,注意,云主机为了防止滥发邮件已经封掉了smtp的所有通信,所以云主机发邮件是有问题的. 安装sendmail,ubuntu用apt,cento ...
- Android AES 加密、解密
AES加密介绍 ASE 加密.解密的关键在于秘钥.只有使用加密时使用的秘钥,才可以解密. 生成秘钥的代码网上一大堆,下面的代码可生成一个秘钥 private SecretKey generateKey ...
- WAJUEJI which home strong!nyoj
WAJUEJI which home strong! 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 在一个山沟里,姐弟俩同时考上了大学.但由于家里拮据,所以这并不是 ...
- TCC(Tiny C Compiler)介绍
TCC是一个超小.超快的标准C语言编译器.她可以从这里(http://bellard.org/tcc/)下载到:注意,要下载http://download.savannah.nongnu.org/re ...
- Java JNDI 学习
一.概念: 1.JNDI(JavaNaming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API ...
- WinForm 窗体间参数传递
http://www.cnblogs.com/xinjian/archive/2011/09/15/2177851.html 本人刚刚接触Winform ,学习之后分享下心得. winform 窗体与 ...
- golang fmt用法举例
下标与参数的对应 例子如下: package main import ( "fmt" ) func main() { num := 10 fmt.Printf("num: ...