DIY自己的虚拟现实世界!

在前一篇文章《Unity:DIY自己的虚拟现实世界!》中,我们介绍了如何使用unity这个软件来构建自己的虚拟世界,那么在这篇文章里,我们将教大家如何将unity和Google Cardboard结合起来。

如果你是一个有智能手机的屌丝,那么Google Cardboard是你升级为高逼格虚拟现实用户的首选。

主流的公司正准备将这款虚拟眼镜向大众推广。纽约时报最近向它的订阅者们送去了超过一百万架Google Cardboard,此举令虚拟现实有了更多受众。像View-Master这样的大公司则开始把孩子作为Google Cardboard的受众。

相信在不久后,人们也会开始期待新的虚拟现实体验。接下来的这一些基础知识,可以让大家在Unity中构建虚拟现实。

在本文中,我们要谈谈如何利用Unity结合谷歌眼镜来查看虚拟现实场景。我将以机器人大会的场景为例(当然你也可以选择一个任意的你喜欢的场景)。为了说明更浅显易懂,我只选择同一场景。

导入Google Cardboard的SDK

为了将Google Cardboard的功能和Unity结合,你需要下载眼镜的SDK。main GitHub page for the SDK提供了SDK文件和一个实例演示。下载完成就可以开启我们的虚拟现实旅程啦~

打开你想放入虚拟现实的场景,操作如下:

Assets > Import Package > Custom Package….

然后找到你刚刚下载的SDK文件:

CardboardSDKForUnity.unitypackage

这时会出现一个“Importing package” 的窗口,让你导入必要的文件包。唯一需要移动的是 “Legacy” 文件夹,除非你已经有比Unity 5更老版本的Unity。否则要将勾选消去。

点击完“Import”,刚刚的窗口就会关闭。然后你需要创建一个新的虚拟眼镜文件夹作为本次项目的站点。万事俱备,现在Google Cardboard 的SDK就可以开始使用了。

然后你会看到,在你刚刚建立的Google Cardboard 文件夹里有五个子文件夹: Distortion, Editor, Prefabs, Resources, 和 Scripts。这里我们只要用到Prefabs里的文件。

设置Google Cardboard的摄像头

所有在Unity中进行的东西都通过Google Cardboard的镜头捕捉。在最简单的项目里,镜头被称为“Main Camera”。我们想要改名,就要用Google Cardboard的镜头来代替。

而这就要求导入一个新的镜头进入你的场景内,操作如下:

打开刚刚提及的Prefabs文件夹,你会看到一个叫“CardboardMain”的预设项,把这个项用鼠标拖进你的项目层次结构内。

大概长这样:

如果这个Unity项目是你用过多次的,而你想延用相同的模板,就要注意场景内的“Main Camera”项。把“CardboardMain” 移动到“Main Camera”内。至于我在做自己的项目时,我会把它移动到 {x: 0, y: 1, z: –10}。当你的CardboardMain在正确的地方时,删除“Main Camera”,或者通过单击复选框旁边的名字把它隐藏。

最简单的测试方法,就是运行一下Unity,然后查看场景长什么样子。

测试Unity虚拟现实体验

为了测试Google Cardboard的镜头。我们需要像刚刚第一步提到的方法那样去运行我们的场景。点击Play,就可以在Google Cardboard查看你的场景了。这会出现在Game 选项卡中。

当然,当你在unity中进行测试时,你不能摇头晃脑,否则你会感到头晕。相反,你可以使用键盘控制相机的移动。

  • 按住Alt键,移动你的鼠标观看场景。

  • 按住Shift键,移动你的鼠标,可以让视角倾斜。

调整虚拟现实镜头

在前面的文章示例中我定位好的镜头和这里的虚拟现实镜头不太一样。你会发现这是取决于自己的相机定位的情况。在Unity中,我们可以四周移动场景。

为了移动,当场景定位时,在层次结构中找到CardboardMain并调整变换值。比如,我在测试场景时改变了 CardboardMain的Z方位。场景运行时的任何更改都是暂时的。

当镜头的方位达到满意效果时,注意记录CardboardMain的位置值,然后再次点击Play来终止测试。重新输入这些位置值使CardboardMain永久化。

使用Google Cardboard

为了测试Google Cardboard,你需要安装iOS或安卓系统的Unity。但注意,虚拟眼镜SDK只适用于iPhone5的iOS8版本。

构建iOS应用程序,你需要有个苹果账户,还要掌握XCode软件使用方法。这有点超乎本文的介绍范围……

构建安卓应用程序相比之下更简单一点,你只需要先安装安卓SDK,

开始构建程序,构建设置操作如下:

File > Build Settings:

在设置中,先选择你的智能手机操作系统(安卓或iOS).然后点击 “Player Settings”来进行进一步详细的设置。在这些选项中,你可以按“Other Settings”来拓展更多选择项。在这里,有一个字段叫做“Bundle Identifier包标识符”。 这是确定应用程序的标准的形式。

com.company.appname.

把选项改成适合你的,比如,我把我的设置成

com.makermedia.cardboarddemo.

然后拓展“Resolution and Presentation”部分,设置默认方向为“Landscape Left”。

最后,把你的设备和电脑连接起来(我连接了安卓设备),然后点击“Build and Run” 来创建一个应用程序,然后让它在你的设备自动运行。

这篇文章囊括了获得一次简单的Google Cardboard的虚拟现实体验的方法。在这一系列介绍中,我们知道了如何实现Google Cardboard眼镜和现实场景的交互。

DIY自己的虚拟现实世界相关推荐

  1. 为什么这位俄罗斯亿万富翁要为音乐节和音乐会创造一个虚拟现实世界?

    本文来源 Forbes 在Covid-19威胁仍在的情况下,俄罗斯亿万富翁米哈伊尔-普罗霍罗夫(Mikhail Prokhorov)于周一宣布,他的虚拟现实和人工智能公司Sensorium Corpo ...

  2. 【DIY】用方块世界建立像素化客家围龙屋3D模型

    目录 01 - 方块世界 02 - 客家围龙屋 03 - 3D建模 04 - 打印上色 05 - Arduino编程 06 - 成品 01 - 方块世界 方块世界,其实就是<我的世界>的工 ...

  3. 脑智前沿科普|虚拟现实如何欺骗你的大脑

    来源:公众号(脑与心智毕生发展研究中心CLIMB) 编辑:Yezi 审阅:mingzlee7 虚拟现实(Virtual reality, VR)就像被神奇地传送到另一个世界.这是一项令人兴奋的技术,但 ...

  4. 人会成为虚拟现实中的“机器人代码”吗?

    前几天,Facebook的首席执行官马克·扎克伯格再次重申了自己对Oculus Rift的信心,扎克伯格说,"对于Oculus,我们在做一个长期性的投资,我们在赌计算领域的未来.每隔10到1 ...

  5. 虚拟现实技术的发展和分类

    首先需要说明的是,虚拟现实技术很早就有,最早发源于美国军事领域,然后传到国内的军事领域,然后是房地产等行业,本人作为传统虚拟现实行业的参入者,对虚拟现实做一个简单梳理. 按照传统虚拟现实的发展,和最新 ...

  6. Facebook 宣布开源无线设备 打造全新5G世界

    腾讯科技讯 2月23日,据连线杂志报道,一年前,当马克·扎克伯格(Mark Zuckerberg)出现在巴塞罗那移动世界大会上时,他将Facebook描述为全球无线运营商的朋友,而非敌人.的确,Fac ...

  7. [译] 虚拟现实是如何改变用户体验的:从原型到设备的设计

    本文讲的是[译] 虚拟现实是如何改变用户体验的:从原型到设备的设计, 原文地址:How VR Is Changing UX: From Prototyping To Device Design 原文作 ...

  8. 计算机虚拟现实技术论文好写吗,计算机虚拟现实技术论文.docx

    计算机虚拟现实技术论文 浅析计算机通信中虚拟现实技术的应用 摘要: 随着计算机网络和通信技术的发展,计算机通信技术越来越趋向对虚拟现实技术的重视.虚拟现实技术已经成为现代科学都吹捧的热点话题.虚拟现实 ...

  9. 扎克伯格被美国一刊物评为“年度恶人” Facebook为世界最差网站

    12月27日消息,据国外媒体报道,Facebook创始人马克 · 扎克伯格被美国一杂志刊物<新共和>杂志评为"年度恶人",他创建了"世界上最糟糕的网站&quo ...

最新文章

  1. R语言ggplot2可视化堆叠的条形图(stacked bar plot)并在每一个条形图的的中间添加对应的数值、值标签定位在geom_col堆叠的条形图中的每个条形段的中间
  2. 动态改变标题_小米相册更新,新增动态换天/赛博朋克/MIUI12界面等等!
  3. DbVisualizer配置神通数据库驱动
  4. android 分区 PT,Android:pt 、sp、dp之间的换算
  5. Unity技术手册-编辑器基础入门万字大总结
  6. 适用于Python入门者的爬虫和数据可视化案例
  7. 【转载】梯度爆炸和梯度消失
  8. 2019该怎么学unity3D游戏开发?
  9. 时间序列分析-2 forecast 、predict
  10. 计算机中,为什么一个字节是8位?
  11. SAPトランザクション一覧(メモ)
  12. [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
  13. linux-v4l2 应用流程
  14. 你的计算机运行的是盗本副本,电脑总是提示“您可能是软件盗版的受害者。 此计算机上安装的 Windows 产品密钥不是正版。”该怎么办呀?...
  15. 反射弧包括那些组成部分_反射弧的组成部分包括
  16. 【Java基础16】不可变集合、Stream流和异常
  17. 基于Dragonboard 410c的mic和speaker的loopback调试
  18. U盘中毒了文件怎么找回来
  19. linux下使用苹果dmg格式文件
  20. 腾讯课堂新手前端训练营day2-盒子模型训练

热门文章

  1. 就业感言:机会是留给有准备的人的
  2. java系列课程第一天(软件安装规范、java初识)
  3. 智慧城市井盖监测系统中的RTU应用
  4. android高仿股票源码,从0到1开发 股票分析APP(附源码)
  5. CENTOS 8更换163源
  6. 模仿现实生活中的通讯录(2)
  7. IDEA高效有用插件
  8. 快来解锁Google的ARCore 为你带来的AR新体验!
  9. 如何解决织梦后台出现错误空白页面呢?
  10. uni-app - 文本展开 / 收起折叠功能,支持自定义样式(当文本内容超出规定行数后,展开收起折叠的功能)兼容 H5 / App / 小程序且易用更容易修改的插件组件源码,超详细的示例代码及注释