更改 Anchor 的 Y 位置以使其接地

Change Y-position of the Anchor to keep it grounded

我想在地板上放一个带网眼的锚。有时它并不昂贵地固定在地面上。物体和地面之间有几英寸 space。如何更改对象的 Y 轴使其接地在地板上。

我正在考虑检测物体下方的水平面。但是如何转换对象的位置呢?我不想把物体放在平面上(如果平面移动它可能会移动)

不管你用的是RealityKit还是ARKit,你肯定需要用到平面检测功能。如果您的应用在 RealityKit 中检测到飞机,它将自动 跟踪飞机目标。而且我应该说检测到的飞机不会移动(你正在使用 World Tracking,不是吗),但它可能会延长。

AnchorEntity(.plane([.any], classification: [.any], minimumBounds: [0.5, 0.5]))

如果您在 ARKit/SceneKit 中使用平面检测功能,您必须另外实现 session(_:didAdd:)renderer(_:didAdd:for:) 委托方法(因为 ARKit 无法自动完成工作) :

let config = ARWorldTrackingConfiguration()
config.planeDetection = [.horizontal, .vertical]
sceneView.session.run(config)

func session(_ session: ARSession, didAdd anchors: [ARAnchor]) {
    guard let planeAnchor = anchors.first as? ARPlaneAnchor else { return }
}

对于手动对象放置,请使用

此外,您必须在 3D 创作应用程序中正确定位模型的轴心点。