You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检测非AR模式下的RealityKit ARView是否包含指定锚点

如何检测非AR模式下的RealityKit ARView是否包含指定锚点

嘿,这个问题我之前做非AR的RealityKit项目时也碰到过,其实解决方案特别直接,不用自己折腾复杂的遍历逻辑~

你看,不管是AR模式还是非AR模式,你添加的所有锚点其实都存在ARView.scene.anchors这个数组里,所以要检查某个锚点是否已经被添加到视图中,直接用数组的contains方法就可以了,完全贴合你想要的写法!

对应到你的代码场景,具体写法就是:

if arView.scene.anchors.contains(playerAnchor) {
    // 这里编写锚点已存在时的处理逻辑
}

这里要注意,这个判断是基于对象引用的检查,只要你用的是当初添加的那个playerAnchor对象实例来判断,结果就绝对准确——毕竟你是把这个实例直接添加到anchors数组里的,用contains匹配引用完全没问题。

如果以后你碰到更复杂的场景,比如锚点不是直接加到scene.anchors,而是作为子实体嵌套在其他锚点或实体里,那可以用锚点的isInHierarchy属性来判断它是否属于当前场景的层级结构:

if playerAnchor.isInHierarchy {
    // 锚点存在于当前场景的层级结构中
}

不过就你现在的代码场景来说,第一种方法就完全够用啦。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 11:03:08