RealityKit – Anchor 和 Entity 翻译有什么区别?

RealityKit – What's the difference between Anchor and Entity translation?

对于具有单个child的锚点,重新定位锚点和重新定位child实体有什么区别吗?

let material = SimpleMaterial(color: .gray, isMetallic: false)
let entity = ModelEntity(mesh: .generateBox(size: 0.3), materials: [material])

// position anchor
let anchor = AnchorEntity(world: SIMD3<Float>(x: 0, y: 0.5, z: 0))
anchor.addChild(entity)
arView.scene.addAnchor(anchor)

// vs. position child
let material = SimpleMaterial(color: .gray, isMetallic: false)
let entity = ModelEntity(mesh: .generateBox(size: 0.3), materials: [material])
entity.position = SIMD3<Float>(x: 0, y: 0.5, z: 0)

let anchor = AnchorEntity(world: .zero)
anchor.addChild(entity)
arView.scene.addAnchor(anchor)

在 RealityKit 中,AnchorEntity 和 ModelEntity 都是其父实体 class 的子class,这意味着这两个子class 都有一个 .这意味着 object 都可以移动、旋转和缩放。

ModelEntity 和 AnchorEntity 之间的区别在于 是一个特殊的 object,它会在 RealityKit 中自动跟踪。模型或多个模型需要连接到锚上,以防止模型漂移。因此,如果需要,您可以移动锚本身(连同附加到它的模型)和每个模型。


正在回答您的问题

对于具有单个child的锚点,重新定位锚点和重新定位child实体有什么区别吗?

在那种情况下没有区别。你唯一需要考虑的是