【发布时间】:2019-05-18 14:48:51
【问题描述】:
只是想知道是否可以像在 Measure 应用程序中一样在 ARSCNView 中绘制虚线(我知道,但是如何)? 也许有一种方法可以开箱即用地使用场景节点,idk。
我一直在使用 SCNCylinder 绘制一条直线,IDK 是否可以重复使用它并进行调整,或者我们必须使用一种完全不同的方式来绘制虚线。
import SceneKit
class CylinderLineNode: SCNNode {
private(set) var cylinder: SCNCylinder
private(set) var positionA: SCNVector3
private(set) var positionB: SCNVector3
init(with positionA: SCNVector3, positionB: SCNVector3, radius: CGFloat = 0.02, color: UIColor = .red) {
self.positionA = positionA
self.positionB = positionB
let vector = positionB - positionA
let height = vector.length()
cylinder = SCNCylinder(radius: radius, height: CGFloat(height))
cylinder.radialSegmentCount = 8
cylinder.firstMaterial?.diffuse.contents = color
super.init()
geometry = cylinder
position = (positionB + positionA) / 2
eulerAngles = SCNVector3.lineEulerAngles(vector: vector)
}
...
}
【问题讨论】:
标签: swift scenekit arkit scnnode