使用Unity制作你的第一款VR作品

2016年01月05日 11:35 0 点赞 0 评论 更新于 2025-11-21 19:39

常常有开发者询问,哪些VR设备原生支持Unity?哪些设备必须安装SDK才能在Unity上运行?Unity 5.1关于VR的设定,在什么情况下需要勾选,什么情况下不需要勾选?如何开始使用Unity开发VR项目,有哪些技巧?本文将针对这些问题进行详细介绍,帮助大家开启第一款VR作品的制作之旅。

Unity原生支持的4款VR设备

从Unity 5.1开始,引擎集成了四款VR设备的SDK。这意味着,如果你的开发平台是Oculus Rift、Microsoft HoloLens、Samsung Gear VR以及Sony PlayStation VR这四种设备之一,就无需额外安装SDK。

VR设定的勾选规则

当使用Unity原生支持的设备(目前仅上述四种)时,Player Setting里的“Virtual Reality Supported”设定才有效。简单来说,如果不是在这4个设备上发布项目,勾选此选项并无意义。

假设你正在开发Oculus项目,将设备连接好后,在该设定处勾选。在编辑时,画面仍为平常的二维画面,但按下Play后,画面会自动切换为VR模式,区分左右眼视图。在设计关卡时,开发者无需长期处于VR模式下工作,这有助于提高开发效率。此外,由于SDK已集成在引擎内,无需额外安装,既提高了开发效率,又节省了打包时SDK所占用的内存。

非原生支持设备

如果开发者发布的平台并非上述四种设备,一般可分为有线头戴式设备和Mobile VR设备两大类。

有线头戴式设备

这类设备必须通过电脑运行项目,并将画面投放到头戴设备上。所有此类头戴设备都需要安装设备厂商提供的SDK才能运行。

Mobile VR设备

项目需部署在手机等装置中,通过加装外壳,可将其变为无线VR设备。目前大多数项目使用的平台是iOS或Android,开发者可以选择Google Cardboard SDK或Oculus Mobile SDK其中一种。可到Google或Oculus官网下载SDK,安装完成后,利用提供的摄像头即可将画面转换为左右两眼的VR画面。

Unity VR入门指南及建议

截至本文发布时,HoloLens和PlayStation VR(PSVR)尚未广泛普及,因此本文主要针对Oculus和Gear VR进行解说。在Unity版本更新过程中,针对VR的功能不断强化。截至文章发布,最新版本为Unity 5.2.2,强烈建议开发者将Unity更新到该版本,以确保使用到最新功能。

具体建议

  • Oculus runtime驱动:Windows开发者建议使用0.7.x版本,Mac开发者目前使用最稳定的版本是0.5.x。
  • 避免报错:勾选“Virtual Reality Supported”后,如果项目已安装Mobile SDK套件,可能会因检测到两个VR设备而报错。因此,当一个VR项目从旧版(需要安装Integration Plugin包)迁移到新版时,请务必先移除原先插件中的所有相关内容(通常是移除Asset/OVR目录),并排除错误,直至问题解决。
  • VRSettings.renderScale:该设置不支持Gear VR。
  • APP运行问题:如果APP不能在VR模式下运行,可使用命令行加变量“-vrmode oculus”来启动。
  • UI设置:不支持“Screen Space - Overlay”,建议使用“Screen Space - Camera”或“World Space”来设计UI。同时,建议启用“Scale With Screen Size”,以使UI在Gear VR上显示适配。
  • 取消勾选:记得取消勾选“Stereoscopic rendering”。
  • Windows安装要求:在Windows上必须安装VC 2013 Redistributable。

不同平台的入门指南

Windows平台

以下是在Windows下使用Unity制作Oculus项目的快速上手建议,更多内容可到Oculus官网查询:Oculus Windows开发文档

  1. 安装Oculus Runtime for Windows V0.9.0.0-beta2。
  2. 从系统启动Oculus Configuration Utility,并连接您的DK2(DK1可能存在一些问题需要排除)。
  3. 确保您的User下拉菜单内容,可点击“+”新增一个。
  4. 点击“Show Demo Scene”查看设备是否正常运作。
  5. 若遇到问题,可尝试从工具栏的“Extended Mode -> Rift Display Mode”进行调试,或登录Oculus官网寻求帮助。
  6. 退出范例场景并关闭设置工具。
  7. 启动Unity,新建一个项目。
  8. 打开“Edit -> Project Settings -> Player”,找到“Other Settings”,勾选“Virtual Reality Supported”。
  9. 点击编辑器上的Play运行项目,并戴上DK2,您将看到VR正常运行。

Mac平台

经测试,Mac版本的Oculus Runtime 0.5.0.1-beta能与Unity 5.1.0p1正常搭配,但存在一些小bug,需等待未来版本修复。由于Oculus宣布将先专注支持Windows + Gear VR,在Mac版本遇到较多问题的开发者需注意以下内容。

由于MacOS并非完全支持direct rendering,所以必须将DK2的眼镜设置旋转90度,可从系统设置“System Preferences -> Displays”进行调整。

Gear VR平台

如果使用Gear VR,需要从Gear VR官网申请下载一个该项目的osig文档,并将其放置在“Project/Assets/Plugins/Android/assets/”目录下。若项目中没有该目录,可自行创建。

osig文档下载地址

将项目发布并安装到手机上运行,把手机放入Gear VR中,确认运行正常。

PlayStation VR(PSVR)平台

如果想开发PSVR项目,需要先联系Sony平台的窗口并通过申请流程。通过申请后,开发者将获得相应的头戴设备和开发机等套件。在Unity运行环境下安装Sony的开发工具(包含Driver + SDK),然后在Unity里勾选“Virtual Reality Supported”,即可体验PSVR的功能。

HoloLens平台

目前关于HoloLens的信息较少。据消息,相较于Oculus,HoloLens除了多了手部点击辨识功能外,其开发流程与使用Unity开发Oculus项目的流程几乎相同。我们将尽快获取更可靠的开发流程并发布给开发者。

希望大家在VR开发之路上一帆风顺!

作者信息

洞悉

洞悉

共发布了 3994 篇文章