天天看点

《Unity虚拟现实开发实战》——第3章,第3.4节为Google Cardboard构建项目

本节书摘来自华章出版社《unity虚拟现实开发实战》一书中的第3章,第3.4节为google cardboard构建项目,作者[美] 乔纳森·林诺维斯,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.4为google cardboard构建项目

如果你的google cardboard的目标平台是android或ios,请阅读本节。

《适用于unity的google cardboard入门指南》是一个很好的切入点。

3.4.1配置android环境

如果你从来没在android环境上开发过,那么需要先下载和安装android sdk。看一下unity手册中关于android sdk安装的文章,还需要安装android developer studio(或至少要安装sdk工具包)和其他相关工具,比如java(jvm)和usb驱动程序。

最好先用一个不包含cardboard sdk的unity项目试着构建和运行,以确保环境都准备就绪(一个只有一个立方体的场景就行),确认你知道如何把程序安装和运行在你的android手机上。

3.4.2配置ios

unity手册中getting started with ios development指南是一个很好的切入点。你只能在mac上做ios开发,必须配置好一个苹果开发者账号(已经支付每年的标准会员费),还需要下载和安装xcode开发工具(通过apple store)。

最好先用一个不包含cardboard sdk的unity项目试着构建和运行,以确认环境都准备就绪(一个只有一个立方体的场景就行),确保你知道如何把程序安装和运行在你的苹果手机上。

3.4.3安装cardboard的unity包

要让我们的项目在google cardboard上运行,先下载其sdk。

在unity项目中,按以下步骤导入cardboardsdkforunity.unitypackage资源包:

在assets主菜单栏中,选择import package | custom package...。

找到并选择cardboardsdkforunity.unitypackage文件。

确认所有资源都被勾选,点击import。

浏览刚才导入的资源。在project面板中的assets/cardboard文件下中有很多有用的东西,其中包括cardboardmain预制件(紧挨着还有一个cardboardhead,其中包含一个摄像机对象),在cardboard/script文件夹中还有一些脚本,可以查阅一下。

3.4.4添加摄像机

现在,我们把cardboard摄像机放进memyselfeye,步骤如下:

在project面板中,找到assets/cardboard/prefabs文件夹下的cardboardmain。

把它拖进hierarchy面板中的memyeselfeye对象中,让它成为其子对象。

在hierarchy面板中选择cardboardmain,看一下inspector面板,确认tap is trigger选项是选中状态。

在hierarchy面板中选择main camera(在memyselfeye内),然后通过反选inspector面板左上方的enable复选框禁用它。

最后,把这些修改应用到预制件上,步骤如下:

在hierarchy面板中选择memyeselfeye对象,然后在inspector面板中prefab旁边点击apply按钮。

保存场景。

这样,我们就把默认的main camera替换成虚拟现实摄像机了。

3.4.5构建设置

如果你知道如何从unity构建和安装程序到手机上,那么对于cardboard的操作也相去无几:

在主菜单栏中,选择file | build settings...。

如果当前场景没有出现在 scenes in build的列表中,点击add current。

在左边的platform列表中选择android或者ios,点击switch platform。

然后,点击inspector面板中的player settings...。

对于android,确保other settings | virtual reality supported是未选中状态,因为这是用于gearvr(通过oculus驱动程序),而不是用于cardboard android的。

选择other settings | playersettings.bundleidentifier,输入一个有效的字符串,比如com.yourname.vrisawesome。

在选项resolution and presentation | default orientation下将值设成landscape left。

3.4.6试玩模式

测试的话,不需要连接手机,只需要按下程序顶部中间的play按钮进入play mode(试玩模式)。可以在game视图中看到分屏的立体视图。

在试玩模式下,你可以模拟戴着cardboard头盔移动头部,用alt键结合鼠标移动以平移和前后倾斜,用ctrl键结合鼠标移动以左右倾斜头部。

你还可以用鼠标点击模拟磁力点击(我们会在后面关于用户输入的章节中展开讨论)。

要注意因为这是在手机上模拟运行,并没有键盘,我们之前用键盘上的键位移动ethan在这里行不通。

3.4.7构建并在android中运行

要把游戏构建成一个单独的可执行的应用程序,执行以下步骤:

在主菜单栏中,选择file | build & run。

设置要构建的项目名称,我喜欢把构建结果保存在一个叫build的子目录中,你也可以这么做。

点击save。

这样就会生成一个可运行在android上的 .apk文件,然后把这个程序安装在手机上。下面的截图显示了diorama场景运行在android和cardboard手机中(unity的开发显示器在背影中)。

3.4.8构建并在ios中运行

要把游戏构建后运行在iphone上,执行以下步骤:1. 通过usb线/口把手机接在计算机上。2. 在主菜单栏中,选择file | build & run。

这样就会生成一个xcode项目,运行xcode并在xcode中构建程序,然后把程序安装在手机上。

《Unity虚拟现实开发实战》——第3章,第3.4节为Google Cardboard构建项目