[英]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.