类似于你可以看到在ARKit中演示的一些测量应用程序,我有一个平面上有2个标记节点,并且在2之间画了一条线。我需要的是2之间的SCN平面。所以,如果你的原件是地板,你在墙的两侧放置一个标记,你可以在你的AR世界中用SCNPlane代表物理墙。
目前我正在使用以下代码放置该行:
let line = SCNGeometry.lineFrom(vector: firstPoint.position, toVector: secondPoint.position)
let lineNode = SCNNode(geometry: line)
lineNode.geometry?.firstMaterial?.diffuse.contents = UIColor.white
sceneView.scene.rootNode.addChildNode(lineNode)
lineFrom:
extension SCNGeometry {
class func lineFrom(vector vector1: SCNVector3, toVector vector2: SCNVector3) -> SCNGeometry {
let indices: [Int32] = [0, 1]
let source = SCNGeometrySource(vertices: [vector1, vector2])
let element = SCNGeometryElement(indices: indices, primitiveType: .line)
return SCNGeometry(sources: [source], elements: [element])
}
}
我知道有类似的问题:例如35002232。但我认为我所追求的更简单。用户有一个答案:Windchill,我几乎可以使用飞机,但我不禁想到,因为飞机是一个更简单的对象,必须有一个简单的解决方案。
我所需要的只是让飞机的宽度达到2点之间的距离,我已经知道了。而且高度并不重要。
距离计算:
let position = SCNVector3Make(secondPoint.position.x - firstPoint.position.x, secondPoint.position.y - firstPoint.position.y, secondPoint.position.z - firstPoint.position.z)
let result = sqrt(position.x*position.x + position.y*position.y + position.z*position.z)
由于
答案 0 :(得分:3)
您可以在ARKit中的2个向量之间创建一个节点。
请在此处查看GitHub项目https://github.com/max6363/ARKit-LineNode-Between-2-Points。
继续摇摆......享受......:)