OSD

OSD(One-shot Detection)识别模式,也会将传入的src或是imageimage类型资源id,优先使用)作为特征去识别。

但不同于2D Marker,这是一个纯屏幕空间算法,只会影响到所有子节点的位置和缩放,不会影响旋转。

它一般以一个现实中物体的照片作为识别源,来识别出这个物体在屏幕中的 二维区域,我们已经做好了到三维空间的转换,但开发者需要自己保证 tracker 下模型的比例是符合识别源的。

OSD模式在识别那些 二维的、特征清晰的物体 效果最好,比如广告牌。其余情况,识别准度不如 2D Marker。

这种模式一般用于给现实中的物体做标注,在使用这种模式时,开发者需要自己保证了解要识别的物体(的特征图片)的原始尺寸,然后基于这些信息去添加子节点:

案例代码片段 链接

<xr-ar-tracker mode="OSD" src="{{markerImg}}">
  <xr-mesh geometry="plane" rotation="-90 0 0" scale="1 1 1" uniforms="u_baseColorFactor:0 1 0 0.5" states="alphaMode:BLEND" />
</xr-ar-tracker>