适合VR的Unity5.6.7打开使用方法
选用的Oculus Rift系列的VR设备:
一、硬件
1、头显:为了让用户获得好的VR游戏体验,需要在头戴设备上实现所需的帧速。在DK2上的最小帧速是75fps,而在Gear VR上的最小帧速是60fps。如果帧速小于以上数值,那么用户会明显感觉到体验下降甚至导致晕眩。
2、PC端:显卡要NVIDIA GTX970或AMD290以上,CPU要Intel i5-4590或AMD FX8350以上,内存8GB以上,要有两个USB3.0接口,一个USB2.0接口,一个HDMI 1.3接口。Oculus 自己开发硬件,自己研发了软件平台,开发者开发需要接入Oculus SDK。
除了保持游戏帧速在一定的数值之上,玩家电脑上的GPU还必须具备足够的能力,可以按所需的分辨率以HMD头戴设备面板的刷新率输出。以DK2为例,就是需要做到75hz和19201080。不过如果你想给Oculus Rift CV1开发应用,那么就必须实现90hz和21601200的分辨率,这将是个巨大的挑战。
如果你在使用DK2,那么需要确保硬件设备可以用所需的分辨率以所需的刷新率输出图像。很多笔记本电脑采用独立显卡和集成显卡切换的方式,但这些显卡基本上都无法满足以上要求,甚至连1920*1080和75hz都实现不了,这样将严重影响用户体验。关于这部分内容,请参考Oculus的相关文档(https://support.oculus.com/hc/en-us/articles/201835987-Oculus-Rift-Development-Kit-2-FAQ ),以及Oculus PC配置指南(https://www.oculus.com/en-us/oculus-ready-pcs/ )。
3、软件
苹果OS X操作系统:目前来说我们还是可以使用OSX 10.9以上的操作系统配合Oculus 0.0.5 runtime进行开发。但因为Oculus官方暂停了对OS X系统的支持,因此建议果粉们不要拍砖,还是老老实实用Windows系统,并使用Unity的原生VR功能。
Windows: 支持Windows 7,8,8.1和windows 10.
Unity:最新的Unity5.3或更高版本
Android: 推荐使用android OS Lollipop 5.1或更高版本
显卡驱动:请确保你的显卡驱动是最新的。可以使用Oculus Configuration Utility来检查显卡驱动是否够用。
Oculus Runtime:为了在Unity 5.3中进行VR开发,请使用Oculus Runtime 0.8或更高版本。
二、使用
注意在打开Unity前要把DK2连接好并开启。 在继续之前,打开Oculus Configuration Utility应用,并检查Demo Scene可以正常运行。注意在运行Demo Scene之前看可能需要在Oculus Configuration Utility中设置一个新用户。
一、可以使用Unity Hub安装不同的Unity版本,但这里因为VR设备要求Unity5.3以上的版本,Unity Hub可直接安装的版本有限,所以可从Unity官网(https://unity.cn/releases)下载所需的版本(不同版本的Unity最好安装到不同的文件夹中,不然后面打开项目时容易发生错误)。然后再把安装好的Unity添加到Unity Hub中。
二、直接在Unity Hub中新建一个项目,然后关闭,再次打开时再选择打开的Unity版本就好了
三、下载最新的Oculus runtime 0.8或更高版本(https://developer.oculus.com/downloads/ )
四、在项目中启用对VR的支持,只需要在Unity菜单中选择Edit > Project Settings> Player > Other Settings > Rendering
然后在Inspector中勾选”Virtual Reality Supported“。
在runtime时,可以通过在代码中使用UnityEngine.VR.VRSettings.enabled属性来进行设置。
五、在Unity中预览VR场景
当我们在Unity Editor中已经启用VR Support,而且连接上了DK2设备时,进入Play 模式就可以在DK2上显示游戏的场景。
这样可以大大提高开发测试和迭代的效率。和之前不同,开发者无需编译生成一个可执行的项目才能看到VR应用或游戏的调整。当然,老司机们会发现此前的双眼视图已经被单一视图替代了。
注:需要提醒大家的是,我们没必要为每只眼睛都创建一个camera,所有的camera都会在VR中进行渲染,除了那些分配了Render Texture(渲染纹理)的摄像机。关于Render Textures,请参考这里(http://docs.unity3d.com/Manual/class-RenderTexture.html )。Unity会自动对摄像机的渲染进行优化,比如culling(剔除)和阴影渲染,从而减少性能消耗。
关于VR的相关主题还可以在Unity Manual(http://docs.unity3d.com/Manual/VROverview.html )和Unity Scripting API(http://docs.unity3d.com/ScriptReference/30_search.html?q=VR ) 和中找到更多信息。
三、VR示例项目(买VR设备才会给,需要花钱,可以找客服要Demo)
作为本教程的一部分,我们在Asset Store上免费提供了一个VR示例项目。该项目可以同时支持DK2和Gear VR,我们将根据Oculus硬件的迭代不断更新该示例项目,同时也会在将来考虑支持其它头戴设备。
该示例项目的下载链接如下:https://www.assetstore.unity3d.com/#!/content/51519
1、示例场景
主要的示例场景包括:
(1)Intro: 介绍场景,教用户学习基本的交互
(2)Menu:菜单场景,可以选择迷你游戏来玩
(3)Flyer:一个飞行小游戏
(4)Maze:一个桌面迷宫游戏
(5)Target Gallery:一个回廊射击游戏
(6)Target Arena:一个360度射击竞技场游戏
2、除了这些完整的小游戏之外,还有一些示例场景涵盖了本教程的一些重要概念:
(1)InteractiveItem:演示了如何VR中和物体进行交互
(2)RenderScale:演示了RenderScale将如何影响图像质量
(3)Reticle: VR中 reticle的基本示例
(4)Rotation:演示了物体将如何随头部运动做出响应
(5)Touchpad:演示了如何使用Gear VR的触摸板进行交互。
3、所涵盖的重要概念:
(1)自顶向下的桌面游戏机制
(2)朝屏幕内的星际火狐风格的射击游戏机制
(3)回廊射击游戏机制
(4)360度回廊射击游戏机制
(5)如何在VR中设计界面
(6)如何设计立体界面
(7)在VR中和物体进行交互的基本框架,包括如何处理视线焦点的切换
(8)reticle运动、缩放、阴影等
(9)基于头部旋转的运动
(10)如何使用Gear VR触摸屏,包括轻击、双击和滑动,或是在使用DK2时如何使用键盘鼠标进行交互。
(11)如何判断设备时Gear VR还是DK2
(12)如何在围绕中心点旋转摄像机时避免晕眩效应
(13)如何实现摄像机的消隐
(14)摄像机消隐的过渡
(15)物体的池化
4、除了提供这些概念之外,为了方便VR开发者的重用,我们还提供了其它一些有用的示例:
(1)摄像机的消隐
(2)摄像机消隐的过渡
(3)在VR中和物体进行交互的框架
(4)Hold以确认交互
(5)reticle运动和缩放
(6)和平台无关的文本
(7)指示特定方向的UI箭头
(8)移动UI元素,使其始终面向摄像机
(9)交互时倾斜UI物体。
为了运行本项目,开发者需要使用Unity5.3.0或以上版本,拥有推荐配置以上的软硬件,拥有一台DK2或是搭配合适三星手机的Gear VR,同时要下载Oculus Runtime 0.8或以上版本。
5、Oculus Unity Utilities
作为补充,你也可以下载Oculus官方提供的Oculus Unity Utilities(https://developer.oculus.com/downloads/)来实现一些特殊功能。其中包含了有用的脚本和预设,比如如何调整IPD(瞳间距)等等。
本教程只关注原生Unity VR开发,因此对Oculus Unity Utilities,请参考Oculus官方网站以获取更多信息。(https://developer.oculus.com/downloads/game-engines/0.1.3.0-beta/Oculus_Utilities_for_Unity_5/ )
好了,现在你已经知道自己需要哪些东西了。第一篇博文到此结束。新手多多包涵,这个更多的还是在翻译官方文档。如果你英文够好的,还是多多到官网自己查看。