在幾乎所有的ARKit教程中,似乎我們總是使用ARPlane來發言。在ARKIt中使用SCNFloor
let planeGeometry = SCNPlane(width:CGFloat(planeAnchor.extent.x), height:CGFloat(planeAnchor.extent.z))
let planeNode = SCNNode(geometry:planeGeometry)
planeNode.position = SCNVector3(x:planeAnchor.center.x, y:0, z:planeAnchor.center.y)
planeNode.transform = SCNMatrix4MakeRotation(-Float.pi/2, 1.0, 0, 0)
如果你想要一個無限飛機(用於投射陰影)怎麼辦?我試圖SCNFloor,結果是怪異 - 地板掛在半空中:
let planeGeometry = SCNFloor()
let planeNode = SCNNode(geometry:planeGeometry)
planeNode.position = SCNVector3(planeAnchor.center.x, 0, planeAnchor.center.z)
我已經做了谷歌搜索和唯一的結果我已經拿出是的(這也不起作用):https://github.com/arirawr/ARKit-FloorIsLava/blob/master/FloorIsLava/ViewController.swift
SCNFloor()是否適用於ARKit?如果不是,我能做些什麼來創造一架大型飛機?
爲什麼任意-1? –
@LimThyeChean只是爲了測試。您應該使用表面檢測並首先找到真實的地面座標。然後你將使用實際樓層的'Y'座標。 –