gpt4 book ai didi

swift - SceneKit 的外观(位于 :up:localFront:) not working right in certain scenarios

转载 作者:行者123 更新时间:2023-11-30 10:52:49 25 4
gpt4 key购买 nike

这可以使用默认的 Xcode 3D 游戏模板 (SpaceShip) 来重现。

删除 GameViewController 中用于旋转飞船的 runAction 行。

添加此行。船正确地背对着相机。请注意 at: 参数中非常小的 x 分量。

ship.look(at: SCNVector3(0.001, 0, -100.0), up: SCNVector3(0, 1, 0), localFront: SCNVector3(0, 0, 1))//有效!让脸部远离相机。

但是,如果 at: 参数的 x 分量恰好为零,则船舶的方向不会改变。船继续面向镜头,而不是背对镜头。

ship.look(at: SCNVector3(0, 0, -100.0), up: SCNVector3(0, 1, 0), localFront: SCNVector3(0, 0, 1))//不起作用

使用 simdLook() 看到同样的问题

最佳答案

对于初学者,如果您显示世界原点sceneView.debugOptions = ARSCNDebugOptions.showWorldOrigin],您将看到xy axis 实际上与通常相反,即 x 现在是 y,y 是现在 x。

其次,您要更改的是 x 轴,而不是 z 轴。如果您希望宇宙飞船看向别处或看着您,则它沿着 z 轴运行。负 (-) z 会看着你,而正 (+) z 会看向别处。尝试将 -100 更改为 +100

关于swift - SceneKit 的外观(位于 :up:localFront:) not working right in certain scenarios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54281521/

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