谷歌纸盒---基于智能手机的廉价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. Dependency Injection 筆記 (3)

    续上集.接着要来进一步了解的是 DI 的实现技术,也就是注入相依对象的方式.这里介绍的依赖注入方式,又称为「穷人的 DI」(poor man’s DI),因为这些用法都与特定 DI 工具无关,亦即不使 ...

  2. Hibernate注解(二):关联关系映射注解

    关联关系映射注解以下项目均在之前相应代码的基础上进行的修改.这些项目均需要做的是: 删除映射文件 在hibernate.cfg.xml中注册实体类 注解的重要位置在实体类中关联属性上.这里是关联 ...

  3. 30441数据定义语言DDL

    数据定义:指对数据库对象的定义.删除和修改操作. 数据库对象主要包括数据表.视图.索引等. 数据定义功能通过CREATE.ALTER.DROP语句来完成. 按照操作对象分类来介绍数据定义的SQL语法. ...

  4. Junit4使用详解二:Junit4运行流程

    1.新建一个测试用例,把下面的四个方法勾选以便查看效果 2.我们在各个方法里面写上输出语句 3.运行之后我们可以发现,它的执行顺序是这样的 注:junit4中的运行流程 1.@BeforeClass修 ...

  5. Scala 学习之路(六)—— 常用集合类型之 List & Set

    一.List字面量 List是Scala中非常重要的一个数据结构,其与Array(数组)非常类似,但是List是不可变的,和Java中的List一样,其底层实现是链表. scala> val l ...

  6. vue随笔

    1.vue基础 Vue 是一个mvvm 的渐进式框架.Angular 是一个mvc的.所以vue的重点更偏向于mv 他的使用方式 大家会发现里面带有大量的$的属性. 学习vue的指令 V-for  用 ...

  7. Linux命令分类汇总(1~6)

    Linux命令分类汇总 序号 命令 参数 英文释义 功能说明 (一)线上查询及帮助命令(2个) 1 man manual 查看命令帮助,命令的词典,还有info 2 help h 查看Linux内置命 ...

  8. 性能监控: SPF4J介绍

    1. 总体介绍 性能测试是一项在软件生命开发周期中总是被置于最后一环的活动.我们经常依靠 Java profilers 去帮助发现性能问题. 在这篇文章中,我们将会学习关于 Java 的简单性能测试框 ...

  9. 基于百度云的OCR识别(Python)

    2019年7月3日早上,在百度AI开发者大会上,一个来自山西的青年,将一瓶矿泉水浇在了同样来自山西的李彦宏身上. 可以回顾一下 https://b23.tv/av57665929/p1 ,着实让人一惊 ...

  10. 使用MVVM的常见误区(1)在ViewModel中和用户交互

    缺点,不能进行单元测试 比如,用户在界面点击按钮,实现用户选择一个文件,然后对文件内容进行解析.常见错误如下 using Microsoft.Win32; namespace View和ViewMod ...