【问题标题】:Change Y-position of the Anchor to keep it grounded更改 Anchor 的 Y 位置以使其接地
【发布时间】:2021-08-30 23:02:15
【问题描述】:

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

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

【问题讨论】:

    标签: swift augmented-reality scenekit arkit realitykit


    【解决方案1】:

    无论您使用的是 RealityKit 还是 ARKit,您肯定需要使用平面检测功能。如果您的应用在 RealityKit 中检测到飞机,它将自动跟踪飞机目标。而且我应该说检测到的飞机没有移动(您正在使用世界跟踪,不是吗),但它可能会被扩展。

    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 }
    }
    

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多