Unity VR开发(一):5步配置Gear VR开发环境

来源:互联网 发布:阿里云cdn使用教程 编辑:程序博客网 时间:2024/05/30 04:39

最近接了一个项目,开发一个VR应用,正好是学习和实践Unity VR开发的契机。边学边做边整理,开个Unity VR开发的新坑。本篇是完完全全的从0开始的配置,连unity都没有接触的过朋友也可以参考本文一步步搭建好开发环境。

项目基于的系统是win7x64,设备是三星的Gear VR,放手机的那种,所以开发环境的搭建比PC端应用要麻烦一些。Oculus的官方文件对很多英文不好的朋友可能看起来有些吃力,更主要的是它的文档写得实在是太……里边链接跳来跳去,跳到文档另一个部分,跳到别的网站……跳着跳着都不知道刚才从哪一页跳过来的了!这篇文章把我自己摸索着配置开发环境最后亲测可行的步骤整理出来,方便有需要的人参考,就不用去看Oculus跳来跳去的官方文档啦。

1 Unity下载安装和更新

2016.12.2更新:本教程对所有Unity5.x都适用。请跳过下一段

Unity更新很有特点,它是重新下载新版本,不是升级补丁那种……总之只要版本不对就得重新下载咯?sigh...如果你想开发Oculus应用,需要下载Unity 5.3.4p3版本,下载链接:“>http://unity3d.com/unity/qa/patch-releases/5.3.4p3~~

除了安装Unity主程序还要安装安卓支持包,这个在Unity下载器里都可以勾选。编译器用Unity自带的MonoDevelop或者你自己电脑上的VS都行。

2 OVRPlugin for Unity5下载(非必须)

2016.12.2更新:**注意,此步仅限于Unity 5.3.3p3~5.3.4p4以及5.4.0b11~5.4.0b15适用!**Unity自从5.x版本开始原生支持了Oculus Rift, Gear VR, Hololens以及PS VR这四个平台的内容开发,发布的时候Unity会自动将场景中未设置渲染的摄像机替换为双摄像机并且附加镜头畸变处理,相当于引擎内置了四个的SDK,所以不需要下载安装任何插件。这一步是针对以上几版Unity的类似于补丁一样的东西(说白了就是这几版unity有bug),其他版本的Unity务必跳过此步!!!

下载链接:https://developer.oculus.com/downloads/game-engines/1.3.2/OVRPlugin_for_Unity_5/

然后定位到你电脑上Unity安装目录下的Unity\Editor\Data\VR\Unity,先删干净文件夹下的内容(非以上几个小版本的Unity一旦删了这个内容就不再有原生支持Gear VR开发了,只能重新下载Unity,一定要注意),再把下载的东西解压进去。

这一步完成之后你的Unity就支持Oculus的VR开发了。你可以去Unity的Assets Store里下载VR相关的样例尝试,虽然还不能Build,但是可以调试。

2’ Unity SDK(非必须,针对不使用原生支持的用户)

当然也有朋友想自己搞事情,毕竟原生支持未必能满足要求。那么就需要去Oculus官网下载Mobile SDK,实际上就是一个unitypackage包,内含了第一人称控制器、双摄像机、视线碰撞逻辑脚本等,直接导入到工程中即可。这个的内容比较多,能用到这一步的也不是菜鸟了,这里就不在赘述。

其实这才是开发一般VR应用的必要步骤,要在哪个平台下运行,就去下载对应的SDK(一般都是这种asset包,比如暴风魔镜、Google Cardboard的SDK都是)导入到项目中,基于它开发或者用它替换原来的单摄像机开发。

3 JDK和Android SDK下载

JDK下载: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
SDK下载:http://developer.android.com/sdk/index.html

对于SDK需要提醒一下:拉到最下端下载SDK_tools package,不用下载Android Studio!下载安装好了以后打开sdk manager把tools,extras都下载好,需要版本的android sdk都下载好(我用的三星手机是S6,系统是Android 6,不过我6的sdk下载不成功,于是用的是5.1.1,API22)

下载好了以后别忘了到Unity中的Edit->Preference中设置SDK和JDK的路径。完成这一步之后你就可以将应用打包成apk安装到手机上了,但是别急,这个apk还不能用。

4 osig设置

Gear VR必备的蛋疼步骤,Oculus通过这个限制了个人开发者,每在一个手机上安装就需要一个oculus官方提供的该手机特定的签名

连接你的三星手机和电脑,进入cmd,定位到你刚刚下载的一堆东西里adb.exe的目录(如果配置了环境变量则直接如下操作就行。至于怎么设置环境变量,这个百度一下一大把),然后输入adb devices,稍等几秒就会输出list of devices attached,它下面那行字符串就是你的device id,记下来。

拿到了device id之后,进入https://developer.oculus.com/osig/ 输入你的device id,就可以下载一个osig。这个要保管好,以后任何一个VR应用在build之前,都要把该文件拷贝到项目目录下的Project/Assets/Plugins/Android/assets/中(没有这个路径就需要自己新建文件夹),osig配置就完成了。

5 build设置

最后一步!这一步对于开发过android游戏的人来说就很熟悉了

打开你的Unity项目,File>Build Settings>Platform选中Android,单击switch platform按钮

转换好了之后单击Player Settings按钮,在Other Settings>Rendering勾上Virtual Reality Supported(5.4版本之前不要勾选这个选项上方的Stereoscope Rendering,5.4版本及以后勾选此选项会有下拉栏的Oculus选项,选择之后不要勾选Split Stereo Display),Idetification>Minimum API Level选21(更低应该也可以的);在Publishing Settings里设置新的Keystore和Key,就可以Build了!将生成的apk文件拷到你的三星手机上,安装好然后打开应用程序,会提示你连接Gear VR。连上你的Gear VR,戴起来试试看吧!

p.s. 对于unity小白来说,要注意playter settings -> other settings里的Bundle Identifier,一般是com.YourCompanyName.YourProductName,别原文复制粘贴上去了……Bundle Identifier是安卓系统用来分辨apk的,同一个应用的不同版本Version值不同,但Bundle Identifier保持一致。不同的应用要使用不同的Bundle Identifier,不然安卓系统会认为这几个apk是同一个应用的不同版本,这样你的手机就不能同时安装你开发的这些应用了。

2 0
原创粉丝点击