ARKit после поворота узла динамически меняет положение - PullRequest
0 голосов
/ 29 октября 2018

У меня есть настенный узел, который является SCNPlane. внутри плоскости я должен нарисовать другую плоскость, где пользователь указывает на стену. который работает отлично.

let first = hitTestScene.first
let value = MathHelper().getMeasurementBetween(vector1: lastNodePosition, and: first.worldCoordinates)
let node = SCNNode(geometry: SCNPlane(width: CGFloat( value) , height:  CGFloat(value)))
//  let node = SCNNode(geometry: SCNSphere(radius: 0.05))
node.geometry?.firstMaterial?.isDoubleSided = true
node.name = "NEWPLANE"
node.geometry?.firstMaterial?.diffuse.contents = UIColor.red.withAlphaComponent(1)
node.renderOnTop()

node.geometry?.firstMaterial?.diffuse.contents = UIColor.red.withAlphaComponent(1)
node.position = lastNodePosition
// node.setPivot()
//    node.position.x += value / 2
//   node.position.y  += value / 2
node.eulerAngles = first.node.eulerAngles

let axisNode = createAxesNode(quiverLength: 1, quiverThickness: 1)
node.addChildNode(axisNode)
axisNode.eulerAngles = first.node.eulerAngles

self.currentMeaureLineNode = node
self.sceneView.scene.rootNode.addChildNode(self.currentMeaureLineNode!)
print("node POSITION",first.node.eulerAngles.x,first.node.eulerAngles.y,first.node.eulerAngles.

Мне нужно нарисовать плоскость внутри стены не от центра (по умолчанию рисует от центра), а от одного из краев

Так что я должен сделать это

node.position.x += value / 2
node.position.y  += value / 2

Но когда узел вращается, его оси x, y, z также поворачиваются. Так как я могу это исправить?

Пожалуйста, предложите любое решение

...