二维码追踪(实验性)

二维码追踪示例

此示例演示了如何在现实世界中检测和追踪二维码。

 

有关自定义可追踪对象更新的基本信息以及 Unreal Engine 的 AR Trackable Notify 组件的功能,请参考 Unreal Engine 的文档。要使用此功能,需要在 OpenXR 插件设置中启用,位置为Project Settings > Snapdragon Spaces 插件.

 

示例工作原理

默认情况下,当示例运行并识别到二维码时,它会在物理目标上生成一个数据面板,并在面板下方显示二维码的相关信息。


图片52.png

 

用户可以通过地图中的 UI 面板来验证二维码的推荐尺寸和支持的版本。

 

图片53.png


图片54.png


二维码 AR 管理

BP_QrCodeTrackingManager 蓝图资产(位于 SnapdragonSpacesSamples 内容 > SnapdragonSpaces > Samples > QrCode > Placeable)负责通过事件系统创建和销毁 BP_QRCodeDataWidget 参与者。它将来自 AR Trackable Notify 组件的事件绑定,以响应 AR 可追踪二维码的变化,当系统检测到二维码时,会触发 On Add/Update/Remove Tracked Image 事件,并返回一个 Spaces AR Tracked QR 对象。

 

Spaces AR Tracked QR 是一个 Snapdragon Spaces 对象,用于插件中扩展追踪的信息(如原始数据),并从 AR Tracked QR Code 派生。Unreal Engine 分配该对象来管理被追踪的二维码。

 

在示例蓝图中,如果需要开始检测,请将 Toggle AR Capture 设置为 ON;如果要停止检测并销毁所有生成的 AR 二维码,请将其设置为 OFF。也可以使用 Toggle Spaces Feature 作为启用该功能的另一种方式,此外,该节点的捕获类型必须设置为 QRCode

 

二维码 AR 会话配置

 

系统使用默认的 D_SpacesSessionConfig 资产(位于 SnapdragonSpacesSamples Content > SnapdragonSpaces > Common > Core)来检测二维码。

 

会话配置文件包含五个字段:一个用于指定应追踪的最大同时图像数量,一个用于定义被追踪二维码的物理尺寸(以米为单位),以及一个用于指定支持的最小和最大二维码版本的字段