动态旋转节点后的ARKit

时间:2018-10-29 10:21:12

标签: ios swift scenekit arkit

我有Wall节点,它是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也旋转。那么我该如何解决呢?

请提出任何解决方案

0 个答案:

没有答案