用Unity实现属于你的VR “白日梦“,Daydream在Unity下的开发与实例分享

CSDN / 2018年07月13日 03:29

手机

白天穿梭于课堂和图书馆的你,是否也想成为一名开发者,自己通过尖端技术把梦想中的世界呈现在大家眼前?Unity与当下炙手可热的虚拟现实(VR)技术,让许多富有创意的开发者开启了自己的“造梦之旅”。当前最受欢迎的移动端VR平台之一 - Google Daydream成为了开发者的梦想舞台,今天的文章我们教大家如何用Unity在Daydream上打造沉浸感十足的VR体验,让虚拟“白日梦”变成现实。

今年9月,我们发布了原生支持Daydream平台的Unity技术预览版。在本文中,Unity大中华区的Marek,作为Unity Evangelist为大家带来Daydream在Unity下的开发与实例分享,首先将帮助您了解开发Daydream应用所需的设备和软件;其次,将指导您完成安装过程,以便您可以立即开始创建Daydream平台的游戏;最后,为您提供几个优秀的案例,希望可以为您带来更好的游戏设计思路。

入门

创建Daydream游戏之前,我们需要做开发前的软硬件准备,包括Daydream设备和Unity的Google VR技术预览版。

Daydream设备

Daydream设备包括一个Daydream View头盔、控制器和支持Daydream的手机。真机测试游戏需要以上所有设备。如果您仅希望在Unity编辑器的运行模式下测试游戏,则任何类型的Android手机均可。我们会在下文关于编辑器中的VR模拟器一节中继续讨论这个问题。

Daydream View套装包括虚拟现实头盔和控制器。该套装可在线购买。Cardboard和Daydream的最大区别是:Daydream 头盔由布料制造,质量更好,并配备了NFC芯片。

支持Daydream的手机

目前有五类手机可用:

• Pixel (Pixel, Pixel XL)

• Moto Z (Moto Z, Moto Z Droid, Moto Z Force Droid)

支持Daydream的手机正在不断增加。有关详细信息,您可以查看Google官方网站。如果您没有此列表中的任何手机,也可以使用Daydream开发套件与Nexus 6P手机,但Nexus 6P的散热性能不及支持Daydream的手机。

Unity的Google VR技术预览版

创建Daydream的Build需要使用Unity的Google VR技术预览版。您可以在Unity官网下载,OS X和Windows版本都有。它包含基于Unity 5.4.2版本的自定义编辑器和Android Player。

Google VR SDK

Google VR SDK是开发Daydream所必需的。SDK提供原生集成的Google VR,还包含一些其它功能,详情见下文。

SDK的内容

原生集成的功能:

• 头部跟踪

• 并排立体渲染

• 检测用户与系统的交互

• 针对特定头戴设备的自动立体渲染配置

• VR头盔镜头的失真校正

• 对齐标记 - 当您将手机插入到头盔中时,帮助您将手机屏幕与镜头对齐

• 自动陀螺仪运动检测

附加功能:

• Daydream控制器支持

• 空间音频渲染

• 一个简单取景器(reticle)预制件和基于凝视的用户交互相关脚本

• 在Unity编辑器的运行模式下进行VR模拟,您可以使用鼠标和Alt / Ctrl键平移或旋转VR摄像头

• “Headset Demo”场景- 演示一个简单的Cardboard游戏

• “Controller Demo”场景 - 演示与Daydream控制器的集成

• 显示FPS的预制件

安装指南

1. 从此链接下载GoogleVR SDK。

2. 下载并安装Unity预览版。

3. 打开Unity,建立一个新的3D项目。

4. 将SDK导入项目。

  1. 在Player Settings下的Android选项卡下,单击”Virtual Reality Support”并选择Daydream平台。
  2. 在Minimum API Level选择Android 7.0 Nougat或更新的版本。

经过以上的步骤,您的Daydream开发环境基本就搭建完毕了。

两个演示场景

1. 控制器演示

GoogleVR\DemoScenesControllerDemo\ControllerDemo.asset

这个场景展示了Daydream控制器的简单使用。 在Unity编辑器中,您可以使用Android手机与控制器仿真来模拟Daydream控制器。

  1. 头盔演示

    GoogleVR\DemoScenes\HeadsetDemo\DemoScene.asset

这个场景展示了简单的Cardboard或Daydream头盔行为。可以通过按下“Alt”键并移动鼠标在Unity编辑器中移动摄像机, 您也可以通过按下“Ctrl”键并移动鼠标来旋转摄像机。

控制器

Cardboad和Daydream的主要区别是Daydream有一个控制器,控制器使用户体验更类似于HTC Vive或者Oculus Rift。

仿真的控制器

控制器由三个区域组成:

• TouchPad - 检测触摸区域上是否有手指,并检查手指的位置。 TouchPad也可以点击。

• App按钮 - TouchPad下方的按钮。

• Home按钮 - 为Android系统保留的按钮。

可以通过场景中的GvrController类来获得有关控制器的输入和状态的信息。此类通过访问此单例的静态属性来提供连接状态、方向、陀螺仪读数、加速度、触摸板和按钮状态。

编辑器中的VR模拟器

因为Daydream平台是最近才发布的,所以您可能无法及时获得必需的硬件,在Unity编辑器的运行模式下测试游戏也是个不错的选择。在这种情况下,VR模拟器非常有用。谷歌提供一个APP,可以安装在所有类型的Android手机,它会模仿真实的Daydream控制器的行为。

要使用控制器仿真,您需要:

1. 从GitHub下载最新的控制器仿真.apk文件。

2. 将其安装在手机上。

3. 打开控制器仿真APP。在控制器仿真上面有一个IP地址,游戏需要使用这个IP地址进行控制器和游戏之间的通信。您可以复制并粘贴在Assets\GoogleVR\Controller\Internal\Emulator路径下的EmulatorConfig.cs脚本中。

这个脚本有两个重要参数:

USB_SERVER_IP

WIFI_SERVER_IP

在两个地方填写相应的IP地址:

[Apple] 纯文本查看 复制代码

?

/#——内部参数 (不需要修改). —–*/

//通过USB链接PC时,手机的IP地址。

Public static readonly string USB_SERVER_IP = “127.0.0.1”;

//通过WiFi链接PC时,手机的IP地址。

Public static readonly string WIFI_SERVER_IP = “127.0.0.1”;

  1. 将模拟器连接模式调整为Wifi或者USB模式,默认情况下是“OFF”。找到Assets\GoogleVR\Prefabs\Controller\GvrController路径下

    “GvrControllerMain” 预制件。该预制件默认带有“GvrController”脚本。请注意,如果想通过WiFi连接,Android手机和运行Unity编辑器的电脑必须连接到同一个WiFi。

使用控制器仿真可能有一点不便,就是不能触摸真的控制器。谷歌提供了解决方案: 可以下载并打印一个屏幕覆盖层,包括letter, A4和SVG三种格式。打印好后将相应按键的位置挖洞,并放在手机上面,就可以获得更真实些的体验。

开发实例

最好的学习方法就是查看示例。 Google VR的GitHub代码库包含4个非常有用的示例,可帮助您全面了解如何使用新的Google VR:

Daydream Labs Controller Playground

这是一个结合了15个小游戏的大合集,该项目供了许多不错的例子,告诉用户如何充分利用控制器与VR头盔。介绍一些VR游戏中控制器常用的使用方法。

Cardboard Design Lab

如果您是VR初学者,那么可以从该示例开始。 在整个项目中,您将学习从设计VR的基础到创建沉浸式环境等VR设计相关内容。

Castle Defense

这是一个简单的VR手游示例。

Spatial Audio

这个项目将帮助您了解在VR项目中实现真实音频效果的最佳做法。它用到了Google VR的音频渲染功能。

总结

本文为大家介绍了初步开发Daydream平台所需的设备和软件。 不久以后,预览版本中的功能将集成到Unity 5.6正式版中,在此之前,请先使用预览版本。

如果您需要帮助,请查看我们的Daydream预览论坛,订阅Unity官方微信或查看Daydream官方网站。

同学们如果想掌握更多Unity开发VR内容的知识与技巧,通过更系统的学习变身Unity技术达人,创造出梦想中的游戏,请关注“技术闪耀未来-Unity全球技术校园行”。

“技术闪耀未来-Unity全球技术校园行”- Unity Plus加强版开学季专属优惠(9月1日-9月30日):

1, 特惠价格139元/月订阅价

2, 免费获得Unity认证开发者课程(访问权截止到12月31日)

3, 免费获得1款资源工具包:VR、2D、艺术设计和移动平台(4选1)

https://store.unity.com/cn/offer/unity-essentials-education-packs?login=1

打开购买页面后,请选择在中文语言打开此优惠页面返回搜狐,查看更多

责任编辑:

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。