gpt4 book ai didi

swift - 将 "SCNNode"放置在给定位置并面向 "SCNCamera",并绕 Y 轴偏移

转载 作者:行者123 更新时间:2023-11-30 12:05:47 24 4
gpt4 key购买 nike

所以,

我有想要放置节点的确切位置。如果我使用球体几何形状进行测试,我可以通过告诉节点将球体放置在世界中:

node.simdPosition = 位置

(我提供“位置”作为函数的输入)。

这成功地将对象放置在世界中我想要它去的地方。

我真正想做的是放置一个平面:

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 角度偏移?

最佳答案

我使用了错误的欧拉角... (z)

这使它起作用:

node.eulerAngles = SCNVector3Make(0,cameraEulerAngles.y - Float(0.7), 0)

关于swift - 将 "SCNNode"放置在给定位置并面向 "SCNCamera",并绕 Y 轴偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46698497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com