iOS рисовать стрелку
У меня есть приложение scenekit / arkit. Мне нужно нарисовать стрелку, как это http://take.ms/LaGNw. Это должна быть двухмерная стрелка, а лицо стрелки должно смотреть на одну точку SCNVector3.
Я могу нарисовать стрелку так:
// 1
let indices: [Int32] = [3, 0, 1, 2]
let vectorMiddle = SCNVector3()
var vertice1 = vectorMiddle
vertice1.x -= Float(bottomCodeRadius)
var vertice2 = vectorMiddle
vertice2.x += Float(bottomCodeRadius)
var vertice3 = vectorMiddle
vertice3.y += Float(bottomCodeRadius)
var vertices = [vertice1, vertice2, vertice3]
let indexData = Data(bytes: indices,
count: indices.count * MemoryLayout<Int32>.size)
let source = SCNGeometrySource(vertices: vertices)
let element = SCNGeometryElement(data: indexData,
primitiveType: .polygon,
primitiveCount: 1,
bytesPerIndex: MemoryLayout<Int32>.size)
let geometry = SCNGeometry(sources: [source], elements: [element])
geometry.firstMaterial?.diffuse.contents = color
geometry.firstMaterial?.lightingModel = .constant
geometry.firstMaterial?.isDoubleSided = true
let triangleNode = SCNNode(geometry: geometry)
triangleNode.position.y = yOffsetOfCone
// triangleNode.rotation = SCNVector4Make(1, 0, 0, Float.pi / 2)
nodeCyl.addChildNode(triangleNode)
Но если я хочу, чтобы он смотрел на правильную точку в пространстве, я должен сделать что-то вроде этого:
let constraint = SCNLookAtConstraint(target: sceneView.pointOfView)
arrowNode.constraints = [constraint]
Но когда я пытаюсь объединить это, это не работает должным образом.
Кто-нибудь может помочь?