SceneKit で 線を描く line
正月に一度やって, 今, 忘れて出来ずにイラついたのでメモることにした.
class func line(from : SCNVector3, to : SCNVector3) -> SCNNode { let source = SCNGeometrySource.init(vertices: [from, to]) let indices : [UInt8] = [0, 1] let data = Data.init(bytes: indices) /** not works. let element = SCNGeometryElement.init(indices: [0, 1], primitiveType: .line) */ let element = SCNGeometryElement.init(data: data, primitiveType: .line, primitiveCount: 1, bytesPerIndex: 1) let geometry = SCNGeometry.init(sources: [source], elements: [element]) let node = SCNNode.init(geometry: geometry) let material = SCNMaterial.init() material.diffuse.contents = NSColor.white.cgColor node.geometry!.insertMaterial(material, at: 0) return node }