Reality Composer – 是否可以同时分配垂直和水平锚点?
Reality Composer – Is it possible to assign vertical and horizontal anchors simultaneously?
最近在学习RealityKit,接触到了Reality Composer。但是,在应用程序中,用户似乎一次只能拥有一个锚点。
我想知道是否可以在一个场景中有两个锚点,一个垂直的和一个水平的。我正在尝试检测可以与物理实体交互的地板和墙壁,并且需要两者才能使游戏正常运行。
我不需要知道垂直锚点的位置或任何信息,我只需要它们有物理体。
Reality Composer 是否允许在一个场景中使用多个锚点?我知道 RealityKit 允许这样做,但我不知道在 Reality Composer 中创建的场景是否可以。
Reality Composer v1.5 目前无法同时使用两种不同类型的锚点。以下是您可以在 RC 中使用的五种类型的锚点(每个场景只能使用一个锚点):
- 水平(ARPlaneAnchor)
- 垂直(类似于 ARPlaneAnchor)
- 图片(ARImageAnchor)
- 人脸(ARFaceAnchor)
- 对象(ARObjectAnchor)
但是在RealityKit中你可以同时使用两种不同类型的Anchor。
在 RealityKit 中有三种对齐方式:
AnchoringComponent.Target.Alignment.horizontal
AnchoringComponent.Target.Alignment.vertical
/* Entity can be anchored to surfaces of Any alignment */
AnchoringComponent.Target.Alignment.any
An Alignment
struct conforms to OptionSet
protocol, so you can use 2 types simultaneously:
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 以了解它在实际代码中的样子。
最近在学习RealityKit,接触到了Reality Composer。但是,在应用程序中,用户似乎一次只能拥有一个锚点。
我想知道是否可以在一个场景中有两个锚点,一个垂直的和一个水平的。我正在尝试检测可以与物理实体交互的地板和墙壁,并且需要两者才能使游戏正常运行。
我不需要知道垂直锚点的位置或任何信息,我只需要它们有物理体。
Reality Composer 是否允许在一个场景中使用多个锚点?我知道 RealityKit 允许这样做,但我不知道在 Reality Composer 中创建的场景是否可以。
Reality Composer v1.5 目前无法同时使用两种不同类型的锚点。以下是您可以在 RC 中使用的五种类型的锚点(每个场景只能使用一个锚点):
- 水平(ARPlaneAnchor)
- 垂直(类似于 ARPlaneAnchor)
- 图片(ARImageAnchor)
- 人脸(ARFaceAnchor)
- 对象(ARObjectAnchor)
但是在RealityKit中你可以同时使用两种不同类型的Anchor。
在 RealityKit 中有三种对齐方式:
AnchoringComponent.Target.Alignment.horizontal
AnchoringComponent.Target.Alignment.vertical
/* Entity can be anchored to surfaces of Any alignment */
AnchoringComponent.Target.Alignment.any
An
Alignment
struct conforms toOptionSet
protocol, so you can use 2 types simultaneously:
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 以了解它在实际代码中的样子。