谷歌纸盒---基于智能手机的廉价VR眼镜

    如果用汽车来做类比,Oculus Rift和GearVR就是特斯拉和兰博基尼,它们物美但是价不廉。要是主机性能不好,那么几百美元的Oculus眼镜就是一个鸡肋。GearVR的体验效果非常出色,但是同样价格很贵,只有那些狂热粉和前期开发者才会购买。希望以后这种高端VR设备价格降低,这样才能推向大众市场。

    同时,除了高端设备,还有谷歌的纸盒VR眼镜,它非常简陋、廉价,它能简单的将你的智能手机变成VR设备。2014年谷歌推出了这款纸盒眼镜,可以轻松地将你手机变成VR设备而不需要其他任何硬件。谷歌纸盒仅仅需要一个纸盒和两个凸透镜片,总价也就2美元的样子,里面放上你的手机就可以了。

    谷歌纸盒最早是在2014年五月的I/O大会上面亮相的,下面图2-5是它的照片。
 
图2-5

    要体验谷歌纸盒,只需要下载安装谷歌纸盒支持的应用程序,然后将手机放在纸盒里运行程序就可以了。这时,你可以沉浸式地体验VR场景,你可以通过转动你的头部四周环视,效果不是很好但是还不错,毕竟只花了2个子儿。

    谷歌并没有把这个纸盒作为产品销售,它只是一个规格,你也可以根据这个规格自己DIY一个VR眼镜,下面是谷歌纸盒的规格说明书地址:https://www.google.com/get/cardboard/manufacturers.html。

    如果你没空没闲心自己做一个纸盒,你也可以任何一家厂家购买已经集成好的产品,厂家包括:DODOcase、I Am Cardboard、Knox Labs、Unofficial Cardboard。这些厂家不仅出售纸盒,而且还提供相应的手机APP,你可以在Google Play和iTunes store上面下载它们。

    据谷歌统计,2015第一季度谷歌纸盒使用人数达到了100万,而Oculus Rift和GearVR的销量就显形见拙了许多。谷歌纸盒是一股强大的力量,目前,基于谷歌纸盒的应用达到了几百个,包括:游戏、全景视频、仿真教育等。谷歌纸盒现在如日中天,尽管它的体验效果不如Oculus Rift,但是对于许多人来说,他们第一体验VR都是用的谷歌纸盒。

谷歌纸盒的立体渲染和头动追踪技术

    谷歌纸盒的立体渲染做得比Oculus的简单多了,它支持90度的FOV。它的SDK可以将场景渲染成左右眼两个视口,下面图2-6是Dive制作的城市过山车游戏截图。
 
图2-6
    谷歌纸盒的头动追踪就更简单了,它直接使用的是手机内置的陀螺仪。

谷歌纸盒的输入

    对于输入方式,谷歌纸盒在这方面还有许多要提升的,因为使用时手机被封在盒子里了,不能触摸屏幕实现点击和滑动。为了解决这个问题,谷歌纸盒使用了一个磁铁,这个磁铁用户可以在外面控制它,它会模拟屏幕点击效果,当然,这个功能不是每个手机都支持的。

    有些厂商使用了一种更加通用的方式模拟屏幕点击效果,例如旧金山的DODOcase公司,它主要生产平板电脑和手机,现在研发出用一个木质的杠杆来触动一块橡胶来模拟手指触摸,利用这个机制,开发者可以用标准触摸方式来控制程序。其他一些厂商用蓝牙这类的外设来提供输入。

开发谷歌纸盒应用

    谷歌为其纸盒提供了两套SDK,一套用作原生安卓开发,一套用作Unity3D引擎开发,它们都可以在下面网址下载:https:developers.google.com/cardboard/overview/。

    第六章中我们将详细介绍使用原生SDK开发谷歌纸盒的应用程序。

    另外,不一定非得安卓开发者才可以开发谷歌纸盒应用,因为安卓系统支持WebGL,你可以开发webVR程序,这方面的内容我们将在第五章中介绍。

《VR入门系列教程》之9---谷歌纸盒的更多相关文章

  1. 《VR入门系列教程》之1---预热篇

     序     初识虚拟现实技术,非常倾心,奋力习之,阅<Learning Virtual Reality>一书之后觉得甚好,但不愿独乐乐,于是翻译之,与大家共同学习.本人学艺不精,难免有翻 ...

  2. 《VR入门系列教程》之6---VR硬件介绍及DK1

    第二章 VR硬件介绍     本章主要介绍当前比较流行的消费版VR设备,包括VR头显以及应用运行的PC和手机平台.     即使是在这工业高速发展的时代,一些大厂(比如Facebook的Oculus ...

  3. 《VR入门系列教程》之14---面向大众的Unity3D

    大众化的游戏引擎--Unity3D     并不是所有VR应用都是游戏,然而现在做VR开发的几乎都会用专业游戏引擎来做,因为游戏引擎既满足了一个引擎的要求又可以方便地制作出高品质的VR应用.一个游戏引 ...

  4. 《VR入门系列教程》之3---运动追踪与输入设备

    运动追踪设备    第二种可以使人脑相信它真实处于虚拟世界的关键技术就是运动追踪技术,它可以通过追踪头部的运动状态实时更新渲染的场景.这与我们在真实世界中观看周围非常类似.    高速的惯性测量单元( ...

  5. 《VR入门系列教程》之2---VR头显

    什么是虚拟现实?     虚拟现实的目标:让人们相信真实地处于一个虚拟世界中.要达到这个目标就得让人们的大脑(负责视觉和运动感知部分)欺骗他们.不同技术合在一起才可以创造这种幻觉,包括:     全立 ...

  6. 《VR入门系列教程》之20---使用Oculus移动端SDK

    使用Oculus移动端SDK     在基于安卓系统的GearVR上开发应用需要用到Oculus的移动端SDK,下面的网址可以下载SDK:http://developer.oculus.com     ...

  7. 《VR入门系列教程》之19---GearVR开发初识

    本章我们来介绍一下如何在移动VR设备的佼佼者GearVR上进行开发,之前我们在桌面端的VR开发想法可以直接应用在移动端,但是仍然会有些不一样的技术需要注意.这次,我们仍然采用Unity3D引擎构建示例 ...

  8. 《VR入门系列教程》之18---Oculus代码剖析

    代码剖析 原文作者:Tony Parisi     那么,Unity究竟是如何支持Oculus VR运行的?首先,我们来看看Unity场景是如何构建的.在Unity集成开发包中有一个相机预设体,这个预 ...

  9. 《VR入门系列教程》之17---发布第一个应用

    发布运行     Unity可以支持多种目标平台的发布,包括:桌面端.Web端.移动端.游戏主机端.     发布运行之前的Cubes场景至桌面端,我们先选择File->Build Settin ...

随机推荐

  1. SYN011型 B码时统

       SYN011型 B码时统 产品概述 SYN011型B码时统是由西安同步电子科技有限公司精心设计.自行研发生产的一款专用时统设备,从GPS/北斗卫星上/和外部输入的IRIG-B码获取标准时钟信号信 ...

  2. python遍历多个列表生成列表或字典

    key=['a','b','c','d'] value=[1,2,3,4] mydict=dict(zip(key,value)) print mydict 输出结果: {'a': 1, 'c': 3 ...

  3. java统计文本中单词出现的个数

    package com.java_Test; import java.io.File; import java.util.HashMap; import java.util.Iterator; imp ...

  4. 深入V8引擎-AST(3)

    上篇简单介绍了入口方法的流程以及scanner类相关的部分内容,这一篇主要讲scanner的初始化,即 scanner_.Initialize(); 注意,这不是调用静态方法.实际上Parser实例生 ...

  5. Programming In Lua 第一章

    1,Lua可以嵌入其他应用程序(如CGILua或IUPLua). 2,lua代码的语句,分号是可以省略的.同一行可以有多条lua语句,最好用分号隔开(当然也可以不隔开) 3,外壳与lua解释器的区别. ...

  6. JVM中ClassLoader的学习

    JVM中class loaderの学习 一..class文件和jvm的关系 类的加载 所有的编译生成的.class文件都会被直接加载到JVM里面来吗(并不 首先我们明确一个概念,.class文件加载到 ...

  7. JavaScript 基础知识 表达式和运算符

    表达式的概念:将同类型的数据(如常量.变量.函数等),用运算符号按一定的规则连起来的.有意义的式子称为表达式 一.原始表达式 最简单的表达式,是表达式的最小单位.JavaScript中的原始表达式包含 ...

  8. BZOJ 1067:[SCOI2007]降雨量(RMQ+思维)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1067 题意:…… 思路:首先我们开一个数组记录年份,一个记录降雨量,因为年份是按升序排列的,所以我们 ...

  9. HDU 6011:Lotus and Characters(贪心)

    http://acm.hdu.edu.cn/showproblem.php?pid=6011 题意:共有n种字符,每种字符有一个val和一个cnt,代表这个字符的价值和数量.可以制造的总价值是:第一个 ...

  10. 西门子PLC中各个组织块OB作用(OB1、OB100……)

    1.自由循环组织块OB1 S7  CPU启动完成后,操作系统循环执行OB1,OB1执行完成后,操作系统再次启动OB1.在OB1中可以调用FB.SFB.FC.SFC等用户程序使其循环执行.除OB90以外 ...