シーンにSCNNode
を配置しました。このノードはピラミッドなので、空間で適切な回転を提供したい。私はZ axis
がV2
ポイントを指し、X axis
がV1
ポイント(これらのV2とV1ポイントは動的に計算されます。もちろん、この場合は正しく計算されるので、軸間の角度は90度になります)を指すようにします。SCNNode方向の問題
問題:私はSCNLookAtConstraint(target: nodeWithV2)
ポイントだけZ軸ので、X軸を指し、そして私が見ることはZ軸がOKであるということですが、X軸は私のピラミッドの向きが常に間違っている理由です、常にランダムであることができません。どのようにしてX軸をポイントできますか?
は、ここに私のコードです:
let pyramidGeometry = SCNPyramid(width: 0.1, height: 0.2, length: 0.001)
pyramidGeometry.firstMaterial?.diffuse.contents = UIColor.white
pyramidGeometry.firstMaterial?.lightingModel = .constant
pyramidGeometry.firstMaterial?.isDoubleSided = true
let nodePyramid = SCNNode(geometry: pyramidGeometry)
nodePyramid.position = SCNVector3(2, 1, 2)
parent.addChildNode(nodePyramid)
let nodeZToLookAt = SCNNode()
nodeZToLookAt.position = v2
parent.addChildNode(nodeZToLookAt)
let constraint = SCNLookAtConstraint(target: nodeZToLookAt)
nodePyramid.constraints = [constraint]
しかし、X軸は常にランダムである理由だけでは、Z軸の方向を設定していること、それはですので、回転は常にランダムです。 X軸方向をポイントV1に設定するにはどうすればよいですか?
ありがとう –