unity cardboard 设置

对于大多数浏览本帖的朋友,也许更关心的是如何开发出具有高度体验值的软件应用。软件开发涉及需求研究、架构、实现等多个方面,好的VR软件应用,应该是有吸引玩家的内容和高质量的体验效果,所以必须从玩家当中去寻找需求,不断优化性能以提升用户体验。


如何为cardboard系统开发虚拟现实软件应用呢?第一节中说到,cardboadr应用其实就是运行于android或者ios平台上的应用程序,那么也就是说开发cardboard应用其实就是开发android APP或者ios APP。但不用担心,我们有unity这一开发平台,unity提供了完整的游戏引擎以及可见即可得的开发环境,同时unity还可以将你开发的同一应用直接生成android app或者ios app,你所要做的就是在它开始编译前选择相应的平台即可,如下图:






所以,cardboard软件开发者主要做的事情即是使用unity开发平台来开发基于unity3d游戏引擎的应用。


然而,cardboard应用又不同于一般的unity3d应用,cardboard应用要实现以下几个基本的需求:


1、需要模拟人的头部和两只眼睛;


2、需要获取手机中的重力传感器、陀螺仪等传感器的数据,对其处理后生成稳定的姿态数据,用来控制头部模型的姿态;


3、需要在两只眼睛上各放置一个摄像头,并将两个摄像头的视面分别显示在手机屏幕的左右两边;


4、需要对显示在手机屏幕左右两边的图像进行失真较正,使玩家通过透镜中看到的画面没有形变;


这些基础性的需求,都由google推出的cardboard SDK for unity实现了,开发者所要做的就是将这个SDK导入unity项目中,并根据自己的需要,去调用SDK提供的接口即可;


根据以上的讨论,最后,我们来开发一个简单的cardboard APP for Android。


 


(以下开发采用的cardboard SDK为0.5.2,Unity版本为:5.5.2f1)


一、搭建开发环境:
1、在unity官网下载unity开发工具:http://unity3d.com/cn/get-unity,并安装;


你可以下载一个免费的个人开发版,这是真正的免费,免费版除了一些功能不具备以外,其它都与专业版没有差距,对于初入的开发者而言完全足够:






2、下载android SDK(由于cardboard SDK是一个unity的android插件,所以在开发过程中可能碰到由于android SDK的版本与cardboard SDK不匹配的情况,这时,请将android SDK进行在线更新即可,如果被墙了,可以通过设置代理来更新,具体参考http://www.linuxidc.com/Linux/2015-01/111958.htm)


3、在github上下载cardboard SDK for Unity:https://github.com/googlesamples/cardboard-unity (建议watch这个项目,这样你可以即时获取到该项目的最新信息和发布情况)


二、打开unity,创建一个项目:








创建后:






三、导入cardboard SDK:
1、首先删除默认创建的Main Camera;






2、导入SDK:






在打开的文件选择器中,找到你下载的cardboard sdk for unity package,并选中:






在打开的包对话框中选择ALL,并点击导入:






导入后可以在项目视窗口看到cardboard目录和plugis目录:






3、按上面同样的步骤导入cardboard官方提供的一个demo包:






4、双击DemoScene目录下的DemoScene场景文件,即可打开一个演示场景:










四、生成android apk安装文件:
1、选择菜单栏的file菜单,在下拉菜单中选择build setting菜单:






在打开的对话框中先择择player setting:






在属性视窗中,有几处需要修改:






公司名称和产品名称要与包中径中的两个名称保持一致:






然后ctrl + s进行保存设置。


回到build setting对话框,选择build按钮,并在打开的文件存放对话框中选择你想要存放生成文件的路径,然后等待unity自动生成android apk安装文件。






到此,将生成的APK安装到你的手机上,然后点击运行,然后将手机插入cardboard盒子,你就可以体验到沉浸式的虚拟现实场景了^-^


需要补充unity和android开发的知识的同学可以去补习一下了。后面我们将逐步开发虚拟现实第一人称控制器,以及将蓝牙手柄接入游戏中。

你可能感兴趣的:(unity)