适用于iOS的ARKit中的平面范围高度

时间:2017-07-13 18:10:18

标签: ios swift scenekit augmented-reality arkit

我正在使用ARKit找到水平面,然后使用SCNPlane几何体用网格图像覆盖平面。如果我使用以下代码更新我的平面扩展,那么它工作正常。

func update(anchor: ARPlaneAnchor) {

    self.planeGeometry.width = CGFloat(anchor.extent.x * Float(scaleX)); // scaleX is 10
    self.planeGeometry.height = CGFloat(anchor.extent.z);
    self.position = SCNVector3Make(anchor.center.x, 0, anchor.center.z);

    let planeNode = self.childNodes.first!  
    planeNode.physicsBody = SCNPhysicsBody(type: .kinematic, shape: SCNPhysicsShape(geometry: self.planeGeometry, options: [:]))
} 

如果我调整planeGeometry高度,如下所示:

self.planeGeometry.height = CGFloat(anchor.extent.z * Float(10));

然后它显示在x轴和z轴上伸展的平面,但由于某种原因,平面也改变了y中的位置。它不是正好位于找到的表面之上,而是漂浮在表面之上。

有什么想法吗?我只是希望平面在x轴和z轴上更大,并且仍然坐在表面上。

0 个答案:

没有答案