Reality Composer v1.5 目前不允许您同时使用两种不同类型的 Anchors。以下是您可以在 RC 中使用的五种锚点(每个场景只有一个锚点):
- 水平(à la ARPlaneAnchor)
- 垂直(à la ARPlaneAnchor)
- 图像(à la ARImageAnchor)
- 人脸(à la ARFaceAnchor)
- 对象(à la ARObjectAnchor)
但是您可以在 RealityKit 中一次使用两种不同类型的 Anchors。
在 RealityKit 中有三种对齐方式:
AnchoringComponent.Target.Alignment.horizontal
AnchoringComponent.Target.Alignment.vertical
/* Entity can be anchored to surfaces of Any alignment */
AnchoringComponent.Target.Alignment.any
Alignment
结构符合OptionSet
协议,因此您可以同时使用两种类型:
let anchor = AnchorEntity(plane: [.horizontal, .vertical],
minimumBounds: [0.2, 0.2])
或者您可以通过以下方式进行设置AnchoringComponent
:
anchor.anchoring = AnchoringComponent(.plane(.any,
classification: .any,
minimumBounds: [0.1, 0.1]))
或者您可以使用reanchor()
实例方法:
let houseScene = try! Experience.loadHouseScene()
houseScene.reanchor(.plane(.any, classification: .any,
minimumBounds: [0.1, 0.1]),
preservingWorldTransform: false)
你可以阅读这个故事来了解它在真实代码中的样子。