簡體   English   中英

將3D SceneKit節點位置映射到2D坐標-projectPoint不起作用

[英]Mapping 3D SceneKit Node-Position to 2D Coordinate - projectPoint doesn't work

我正在SceneKit中顯示由幾個SNNode組成的3D模型。

我在sceneview-overlay視圖上顯示2D SpriteKit節點。 2D節點的位置應始終在特定3D SCNNode的前面。

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

我嘗試過let screenPoint = sceneView.projectPoint(my3dNode) ,但這是行不通的:即使my3dNode位於屏幕中央,該函數也會返回非常奇怪的值(例如,負值或超過1000)。

你有什么想法嗎?

可能是因為它是從未翻譯,未修改的節點位置投影出來的,或者該節點是另一個節點的子節點,從而更改了其參照系。 嘗試使用myNode.presentation.worldPosition作為輸入projectPoint

[編輯]

仔細閱讀一下,您是否會更好地創建精靈的平面紋理,將其附加到有問題的節點上,為其設置“廣告牌”約束,並設置其Z順序以便始終顯示在前面?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM