迁移指南

Unreal Engine 设置指南

本指南将详细解释如何在 Unreal Engine 中使用 Snapdragon Spaces SDK。

 

前提条件

请注意,Snapdragon Spaces SDK 目前支持 Unreal Engine 编辑器版本 4.27 和 5.0。此外,由于 OpenXR 插件的限制,仅支持 Windows 作为开发平台。遗憾的是,该插件不支持 Unreal Engine 5.1 及更高版本,并且 Unreal 编辑器中的 OpenXR 仅支持 Win64。

 

在安装 Unreal Engine 时,必须添加 Android Build Support 才能导出 .apk 文件,请按照 Unreal 官方文档 设置 Android SDK 和 NDK。

 

步骤 1:创建项目

要创建一个新的 Unreal Engine 项目,请按照 Unreal 文档中关于 AR 项目的“设置空白项目”部分的步骤操作。如果不需要导入示例,可以忽略“添加 Pawn 和游戏模式”以及“创建 AR 会话”部分。

 

步骤 2:导入插件 

要将 Snapdragon Spaces 插件导入引擎,只需将 SnapdragonSpaces_Plugin 压缩包中的 SnapdragonSpaces 文件夹解压到引擎安装路径下的 Engine/Plugins/Marketplace 文件夹中即可。

 

图片1.png


警告!

如果 Engine 文件夹中没有 Marketplace 文件夹,可以在 Plugins 文件夹内创建一个,然后复制 SnapdragonSpaces 文件夹进去。请注意,只有遵循建议的路径,Unreal 才能检测到插件。


不推荐直接将插件导入项目,不过,如果必须这么做,请确保每次升级 SDK 时清理临时文件或中间文件,以防止编译错误。

 

步骤 3:导入示例

要将 Snapdragon Spaces 示例导入项目,打开 SnapdragonSpaces_Samples 压缩文件,将 Config 文件夹复制到项目根目录并覆盖现有文件,然后将位于项目文件夹的 Plugins 文件夹中的 SnapdragonSpacesSamples 插件复制到项目的 Plugins 文件夹(如果项目中没有 Plugins 文件夹,请创建一个)。请注意,SnapdragonSpacesSamples 插件需要 Snapdragon Spaces 插件。添加示例插件之前,请确保项目中已添加 Snapdragon Spaces 插件。Content 子文件夹包括示例文件夹和一个 common 文件夹。common 文件夹包含正确使用 AR 设备的基本蓝图。



使插件文件夹在项目中可见

为了访问 Snapdragon Spaces 示例内容,请在编辑器中激活项目插件的可见性。

图片2.png


 

步骤 4:更改项目设置

要启用 Snapdragon Spaces OpenXR 插件,请依次前往 Edit > Plugins > Mixed Reality,然后启用 SnapdragonSpaces 插件。

 截屏2024-08-07 19.42.55.png

在 Edit > Plugins > Virtual Reality 下,检查是否启用了 OpenXR 插件。

 

图片4.png


警告!

确保已禁用OpenXRHandTracking插件,该插件可能会与 Snapdragon Spaces 的功能发生冲突。

 


构建包时,有些设置是必需的。请在 Project Settings > Snapdragon Spaces 中检查您的项目是否已正确配置。

 

图片5.png


以下是截图中各项内容的描述:

1、刷新设置验证。请在应用此标签中的更改后执行此操作。

2、当启用的功能出现问题时,会显示错误消息。

3、显示可以启用的功能。

4、显示项目设置中的错误和警告消息。

5、显示必需的设置。这些选项都必须启用才能继续构建。

6、显示提高性能的推荐设置。


步骤 5:为 Spaces VR 项目添加 XR 控制器

警告!

对于设计为不兼容虚拟或混合现实设备的增强现实项目,此步骤不需要

   

要配置输入设置,请依次前往 Edit > Project Settings > Engine > Input,然后,添加 XR Controller (L) Thumbstick X 和 XR Controller (L) Thumbstick Y 来管理左控制器,添加 XR Controller (R) Thumbstick X 和 XR Controller (R) Thumbstick Y 来管理右控制器,可以根据需要随意命名这些操作。

 截屏2024-08-07 19.43.51.png另一种选择是将以下几行添加到 Config > DefaultInput.ini 文件中:

图片7.png

 

可选:自定义控制器设置

Snapdragon Spaces Unreal Engine 插件可以在主设备启动应用程序时生成控制器。此功能在插件设置中默认启用,路径为 Edit > Project Settings > Plugins > Snapdragon Spaces(点击齿轮图标)。

 

如果需要不同外观和稍微不同功能的自定义实现,可以按照自定义控制器部分中的步骤构建一个替代控制器文件。

 

然后,可以在项目设置中包含并链接这些步骤生成的文件。必须启用“使用自定义控制器”选项(这也需要启用“在主设备上启动控制器”选项),这样就可以选择替代控制器文件的路径。

 

可选:添加新的交互配置文件

如果希望使用和创建新的交互配置文件,而不是 Snapdragon Spaces 插件中提供的默认配置文件,可以创建一个新的类。该类可以继承自 IModuleInterface 和 IOpenXRExtensionPlugin 接口,并实现 StartupModule、ShutdownModule、GetDisplayName 和 GetInteractionProfile 函数。在 StartupModule 中需要创建必要的键,在 GetInteractionProfile 中需要配置所需的交互配置文件,你可以参考 FSpacesInputExtension 类的实现。确保在 PostConfigInit 加载阶段加载这个新模块。最后,可以使用之前创建的键来设置所需的动作和轴映射,并在项目中使用这些输入。