所以,
我有我想要放置节点的确切位置。如果我用球体几何体测试东西,我可以通过告诉节点来将球体放在世界中:
node.simdPosition = position
(我提供“位置”作为函数的输入)。
成功地将对象放在世界的正确位置。
我真正想做的是放置一架飞机:
let plane = SCNPlane(width: 0.2, height: 0.3)
plane.cornerRadius = plane.width / 10
plane.firstMaterial?.diffuse.contents = UIColor.red
plane.firstMaterial?.specular.contents = UIColor.white
let node = SCNNode(geometry: plane)
然后告诉它被放置在“位置”:
node.simdPosition = position
这一切也适用于飞机。我遇到的问题是角度:
我想告诉飞机的节点放置在相机的给定“角度”(Y左右)偏移处。我尝试了这个,但它不起作用:
node.rotation = SCNVector4Make(0, 1, 0, currentFrame.camera.eulerAngles.z - angle)
那么,问题是,如何将节点放置在某个位置,并且当它放置在世界中时,也会有一个偏离相机垂线的Y角度?
答案 0 :(得分:0)
我使用错误的欧拉角...(z)
这使它起作用:
node.eulerAngles = SCNVector3Make(0,cameraEulerAngles.y - Float(0.7),0)