热门
如何在Unity的通用渲染管道中添加VR设备支持
在Unity通用渲染管道(URP)上开发游戏的优势非常大,只需对渲染设置做最小的改动,U就可以在各种平台上得到支持。这使得您的项目可以在各种平台上运行,从移动设备到各大游戏主机、PC,甚至各种VR设备。
对于那些以前没有为VR开发过游戏的人来说,开发VR版游戏可能会让他们无从下手。无论是刚刚开始您的项目,还是已经在其他平台上发布了一个现有的URP项目,我们将在本篇文章中详细介绍在URP中添加VR支持的步骤,以便帮助您在多个VR平台上运行Unity通用渲染管道。
添加正确的包
每个VR Unity项目都需要XR插件管理包。这个包可以让您轻松地为您想要构建的虚拟现实平台配置项目,从Meta Quest、Magic Leap到PlayStationVR2 (PS VR2)。
另一个有用的包是XR互动(XRI)工具包。这个包中的一些预置选项将减少您的设置时间,这些预置实现了大多数VR游戏中常见的移动选项,比如瞬间移动,急速转身等等。
要将这些包添加到您的项目中,请打开窗口菜单并单击包管理器。在软件包管理器窗口中,点击“软件包:在项目中”下拉菜单以展开选项,然后点击“Unity注册表”选项以使软件包管理器列出所有可用的软件包。
Unity支持很多包,所以可直接在包管理器窗口的搜索栏中输入“xr”来过滤列表,以便只显示特定于XR的包。接下来,单击XR插件管理包,然后选择Install按钮将它添加到您的项目中。您可以按照同样的过程添加XRI工具包。
在软件包管理器窗口中,单击安装按钮安装XR插件管理软件包。
接下来,让我们添加由XRI团队提供的示例资产来帮助您开始。单击包管理器中的XR Interaction Toolkit包,然后单击包详细信息面板中的Samples选项卡。然后,单击“Starter Assets”旁边的“Import”按钮来添加资源,这将简化VR行为和输入动作的设置步骤。
在Package Manager窗口中,单击XR Interaction Toolkit包的Samples选项卡,然后单击Starter资产下的Import按钮,将这些资产添加到您的项目中。
安装了这些包之后,您已经完成了一半以上的VR开发工作。
为项目中的特定平台启用VR支持
接下来,您需要指定要瞄准哪些VR平台。为此,打开您的项目设置并单击XR Plug-in Management选项卡(它包含在您安装软件包时)来查看您可以为您的项目选择的可用插件提供程序的列表。插件提供商是VR平台的另一个名称。选择一个选项,如Oculus或Open XR,Unity将安装特定于该平台的软件包。
在“XR插件管理”窗口中,在“插件提供者”窗格中选择您想要定位的平台。
一些XR平台在构建设置中使用Windows、Mac和Linux构建目标,但其他平台在不同的目标上运行。例如,PS VR2的构建需要将构建目标切换到PlayStation5 (PS5),而其他的则需要切换到Android或iOS。确保在开发过程中切换到正确的构建目标,这样您就可以尽早发现任何重要的错误和警告。请记住,要为PS5开发游戏,您必须注册成为PlayStation开发者。
每个XR插件都提供验证检查,以确保您的项目被正确地配置为针对XR进行构建。请转到项目设置窗口,然后单击XR插件管理选项卡下的项目验证选项卡,查看是否有任何警告或错误需要处理。大多数检查都可以通过“修复”按钮来为您解决问题。
在“项目验证”窗口中,单击要修复的问题旁边的“修复”按钮,或者单击“全部修复”按钮来解决找到的所有问题。
选择了正确的插件提供程序后,您现在就可以开始构建您选择的VR平台了。但是,您仍然需要将VR控件映射到您现有的玩家角色。这就是XRI工具包提供的启动资产发挥作用的地方。
添加VR播放器控制器
在项目窗口中,进入Samples/XR Interaction Toolkit/2 . 3 . 2/Starter Assets/Prefabs文件夹,然后将完整的XR Origin设置预置拖到场景中。这个预置预装了您需要为您的玩家控制器配置VR输入的所有组件。
预设有一个嵌套的XR原点预设,可以处理大多数VR控制器设置。它有两个代表玩家左手和右手的游戏对象,以及一个嵌套在相机偏移游戏对象中的主相机,该相机偏移游戏对象根据玩家是坐着还是站着来移动相机。由于完整的XR原点设置预置包括它自己的主相机,如果您已经有一个主相机对象在您的场景中,那么确保禁用它,这样您就不会有多个相机试图同时渲染您的玩家的主视图。
将完整的XR原点设置预设拖到场景中。预设具有嵌套的子对象,将玩家的手和头映射到特定的游戏对象。
XRI工具包还附带了一个输入映射,将动作映射到常见的VR控制。这些控件在大多数VR平台上都是标准的,所以不需要额外的编码来确保您的输入在各种平台上被识别,包括Meta Quest,Magic Leap和PS VR2。确保您从您原来的玩家控制器复制并粘贴任何对游戏状态跟踪重要的脚本到新添加的完整的XR原点设置预置。请随意将预设重命名为更容易记住的名称,如VR FPS控制器。
XR Origin预置使用XRI默认输入动作映射来映射大多数VR平台上的常见交互。
XR Origin GameObject包含了很多组件,这些组件一开始可能会让人很困惑。将XR Origin预设的XR Origin组件视为所有其他XRI组件的驱动程序。没有它,XR运动就不起作用。其余的组件允许特定XR运动成为可能的提供者。这些提供者对应于一种不同类型的虚拟现实运动,如瞬间移动、急转弯或用双手抓住表面并拖动自己,等等。
您可以根据您的喜好调整XR Origin预置的移动值,但是对于刚入门的人来说,使用默认值即可。
考虑目标平台的规格
当然,并非所有的虚拟现实平台都是一样的,记住目标平台的硬件规格非常重要,尤其是当虚拟现实游戏需要达到一致的每秒60、90或120帧以最大限度地减少晕动病时。这可以通过降低您的最大眼睛分辨率,调整您的主相机的反锯齿选项,减少动态灯光的数量以支持烘焙灯光,减少游戏对象中使用的alpha透明度的数量,调整游戏对象的LOD值,以便它们只在玩家靠近它们时渲染更高几何图形的版本。
好消息是,根据您为每个平台指定的质量级别,在不同的质量设置之间切换非常容易。在“项目设置”窗口的“质量”选项卡中,您可以创建和自定义质量级别,以设置唯一的渲染器、抗锯齿、LOD和照明设置,从而帮助您充分利用每个平台。
测试VR设置
既然您的项目已经针对您选择的VR平台进行了配置,那么是时候测试项目中新添加的XR装备了。这里有两种推荐的VR测试方法:使用XRI工具包中的XR设备模拟器来测试编辑器中的设置,或者构建播放器并在设备上运行。
Unity中有一个方便的工具,叫做XR设备模拟器,它允许您在游戏模式下在编辑器的游戏视图中模拟XR控件。您可以通过测试移动设置来节省时间,而无需构建项目。要将XR设备模拟器添加到您的项目中,请打开包管理器窗口,返回到XRI工具包,单击Samples选项卡,然后在Sample Assets下,单击XR设备模拟器旁边的Import按钮。
在包管理器中,单击XR Interaction Toolkit包,单击Samples选项卡,然后单击XR Device Simulator旁边的Import按钮,将其添加到您的项目中。
安装完成后,打开项目设置窗口,点击XRI工具包标签。在此选项卡中,启用“在场景中使用XR设备模拟器”复选框,以便在进入播放模式时在运行时添加XR设备模拟器。您也可以将XR设备模拟器预置从项目窗口直接拖放到您的场景中。
在项目设置的XR Interaction Toolkit选项卡中,启用“在场景中使用XR设备模拟器”复选框,以便在进入播放模式时添加所选XR设备模拟器预设的实例。
现在,当您在编辑器中进入播放模式时,您将能够使用WASD和鼠标控制来移动您的XR装备,并按Tab键在移动所有控制之间切换,只移动您的左手,或只移动您的右手。这与实际的虚拟现实输入不是1:1的匹配,但它将帮助您测试您的运动设置是否立即如预期那样工作。
请注意,在您构建您的项目之前,您需要禁用XRI工具包项目设置窗口中的“在场景中使用XR设备模拟器”复选框,或者从您的场景中禁用/删除XR设备模拟器。否则,您的虚拟现实控制将无法在设备上正常工作。XR设备模拟器模拟来自鼠标和键盘或游戏控制器的VR输入,并忽略来自实际VR控制器的输入。
运行中的XR设备模拟器示例
测试XR Rig的第二种方法是简单地在目标平台上构建并运行它。每个XR设备运行Unity builds的设置都是独一无二的。连接设备后,在构建设置窗口中选择构建并运行,为目标平台创建构建并将其加载到设备上。
构建在设备上运行后,您可以自己测试输入,看看哪些有效,哪些无效。唯一的限制是等待构建完成,并需要一个设备用于测试。
仅仅通过这些步骤,以及对有凹渲染设置的一些细微调整,我就能够在PS VR2上运行在GDC 2023上展示的全新URP模板“日本花园场景”。
电话:010-50951355 传真:010-50951352 邮箱:sales@souvr.com ;点击查看区域负责人电话
手机:13811546370 / 13720091697 / 13720096040 / 13811548270 /
13811981522 / 18600440988 /13810279720 /13581546145