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 文件夹中即可。
警告! 如果 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 示例内容,请在编辑器中激活项目插件的可见性。 |
步骤 4:更改项目设置
要启用 Snapdragon Spaces OpenXR 插件,请依次前往 Edit > Plugins > Mixed Reality,然后启用 SnapdragonSpaces 插件。
在 Edit > Plugins > Virtual Reality 下,检查是否启用了 OpenXR 插件。
警告! 确保已禁用OpenXRHandTracking插件,该插件可能会与 Snapdragon Spaces 的功能发生冲突。 |
构建包时,有些设置是必需的。请在 Project Settings > Snapdragon Spaces 中检查您的项目是否已正确配置。
以下是截图中各项内容的描述:
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 来管理右控制器,可以根据需要随意命名这些操作。
另一种选择是将以下几行添加到 Config > DefaultInput.ini 文件中:
可选:自定义控制器设置
Snapdragon Spaces Unreal Engine 插件可以在主设备启动应用程序时生成控制器。此功能在插件设置中默认启用,路径为 Edit > Project Settings > Plugins > Snapdragon Spaces(点击齿轮图标)。
如果需要不同外观和稍微不同功能的自定义实现,可以按照自定义控制器部分中的步骤构建一个替代控制器文件。
然后,可以在项目设置中包含并链接这些步骤生成的文件。必须启用“使用自定义控制器”选项(这也需要启用“在主设备上启动控制器”选项),这样就可以选择替代控制器文件的路径。
可选:添加新的交互配置文件
如果希望使用和创建新的交互配置文件,而不是 Snapdragon Spaces 插件中提供的默认配置文件,可以创建一个新的类。该类可以继承自 IModuleInterface 和 IOpenXRExtensionPlugin 接口,并实现 StartupModule、ShutdownModule、GetDisplayName 和 GetInteractionProfile 函数。在 StartupModule 中需要创建必要的键,在 GetInteractionProfile 中需要配置所需的交互配置文件,你可以参考 FSpacesInputExtension 类的实现。确保在 PostConfigInit 加载阶段加载这个新模块。最后,可以使用之前创建的键来设置所需的动作和轴映射,并在项目中使用这些输入。