Reality Composer v1.5 目前不允许您同时使用两种不同类型的锚。以下是您可以在 RC 中使用的五种锚点(每个场景只有一个锚点):
-
水平的(类似于 ARPlaneAnchor)
-
垂直(类似于 ARPlaneAnchor)
-
图像 (à la ARImageAnchor)
-
人脸(à la ARFaceAnchor)
-
对象(类似于 ARObjectAnchor)
但您可以在 RealityKit 中一次使用两种不同类型的锚。
在 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)
您可以阅读this story 以了解它在实际代码中的样子。