将3D SceneKit节点位置映射到2D坐标 - projectPoint不起作用

时间:2018-02-09 14:08:55

标签: ios swift xcode scenekit

我正在SceneKit中显示由几个SNNode组成的3D模型。

我在sceneview-overlay视图上显示2D SpriteKit节点。 2D节点位置应始终位于特定3D SCNNode的前面。

如何将3D位置映射到SpriteKit 2D位置?

我尝试了JwtAccessTokenInterface.php,但这并不起作用:即使my3dNode位于屏幕的中心,该函数也会返回非常奇怪的值(例如负值或超过1000)。

你有什么想法吗?

1 个答案:

答案 0 :(得分:4)

它可能是从未翻译的,未修改的节点位置投射,或者该节点是另一个节点的子节点,从而改变其参考框架。尝试使用myNode.presentation.worldPosition作为projectPoint的输入。

[编辑]

仔细阅读,你不会更好地创建精灵的平面纹理,将它附加到有问题的节点,给它一个'广告牌'约束并设置它的Z顺序,使它总是出现在前面?