谷歌纸盒---基于智能手机的廉价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. Java Socket基础[备忘]

    1.服务端----Server.java import javax.swing.*; import java.io.*; import java.net.*; import java.awt.*; i ...

  2. 每天进步一点--WCF学习笔记

    最近买了一本书WCF服务编程,重头再开始了解学习WCF,现将学习记录,以便后来复习,也希望和大家一起进步. WCF用终结点表示一种组成关系,终结点就是地址.契约与绑定的混合品,即 地址(Address ...

  3. request的跳转

    使用request.getRequestDispather(url).forword(request,response)方法跳转页面 地址栏的路径不会发生改变,在后续的ajax调用 使用window. ...

  4. 你所忽略的,覆盖equals时需要注意的事项《effective java》

    我们都知道Object的equals的比较其实就是==的比较,其实是内存中的存放地址的比较.正常逻辑上:类的每个实例本质上都是唯一的. 在工作中我们实际的业务逻辑往往有可能出现一些相对特殊的需求需要对 ...

  5. EditPlus 格式化HTML JS CSS

    首先你得安装一个EditPlus,然后下载你想格式化的xxxformatter.js文件,也就是网上说的EDTOOLS 1.在你的工具里边找到-->配置自定义工具 具体做法如下: 第5步 命令: ...

  6. abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  7. PHP弱类型总结

    0x01:“==”和“===” PHP中有两种比较符号,“==”与“===”.“==”我们称之为等值符,当等号两边为相同类型时,直接比较值是否相等:当等号两边类型不同时,先转换为相同的类型,再对转换后 ...

  8. 破坏之王-DDoS攻击与防范深度剖析

    破坏之王-DDoS攻击与防范深度剖析 下载:链接:https://pan.baidu.com/s/1bzVT6YkZGGg7anpQWDknjA 提取码:j7ns 网际空间的发展带来了机遇,也带来了威 ...

  9. ZOJ 3953:Intervals(优先队列+思维)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5572 题意:给出n个线段,问最少删除几个线段可以使得任意一个点不会被三个以上的 ...

  10. Nginx+vsftpd

    一.安装Nginx 关闭selinux和firewalld setenforce sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selin ...