命中测试

命中测试示例

此示例演示了如何对真实世界中的点和平面进行命中测试,有关命中测试的基本信息以及 Unreal Engine 中 Line Trace Tracked Objects 3D 节点的功能(如下图所示),请参阅 Unreal Engine 文档。要使用此功能,需要在 OpenXR 插件设置中启用,路径为:项目设置 > Snapdragon Spaces 插件。此外,还需启用平面检测功能,以确保命中测试正常工作,为了获得更准确的命中结果,请在 AR 会话配置中启用平面检测功能的“使用凸包检测”选项。

 

图片29.png


示例工作原理

在示例运行时,屏幕前方会始终显示一个小工具,并且每帧都会发射一次射线。如果射线检测到有效的命中结果,小工具会移动到命中的位置,并以青色、黄色和品红色显示。如果没有检测到命中,小工具会移动到头部位置前方一米处,并变为红色。

 

命中管理器

该示例使用 BP_HitManager 蓝图资产(位于 SnapdragonSpacesSamples Content > SnapdragonSpaces > Samples > HitTesting > Placeable)来处理地图中的命中测试。要启用或禁用命中测试,需要使用 Toggle Spaces Feature 方法,并将 Hit Testing 作为功能进行切换。开发者可以通过以下选项自定义射线的命中测试:

 

● Distance Ray Cast:射线的长度。

● GizmoTag:在 BP_Pawn 的 SceneComponent 中定义的标签名称,用于定位小工具,即示例中的白色小工具。

● Distance Gizmo:从头部位置到定位对象的距离。