[英]How do I add a node to my SceneKit/ARKit scene, retaining its position but resetting its orientation/rotation
[英]SceneKit nodes aren't changing position with scene's root node
我正在使用帶有ARKit的SceneKit,現在有一個簡單的應用程序,我點擊屏幕,它為我的場景添加了一個ARAnchor和一個SCNNode。
在某些時候,我想要移動整個場景,所以我嘗試更改sceneView.scene.rootNode.position.x += 10
來測試它。 如果我在任何特定節點上調用它,該節點確實會正確移動。 但是在rootNode
上調用它,沒有任何反應,我希望每個子節點(場景中的每個節點)都隨之移動。
為什么我的其他節點沒有正確移動,我能做些什么來解決這個問題? 或者我在考慮這個錯誤?
根據SCNScene.rootNode的文檔:
您不應該修改根節點的
transform
屬性。
根節點定義世界坐標系的原點 - 所有其他測量都與它相關。 因此,改變其位置,方向,規模或其變換的任何其他方面都沒有意義(並且通常是有問題的)。
如果要移動SceneKit場景中的所有內容,請創建一個新節點以包含所有其他節點,並更改該節點的變換。 (對於ARSCNView
添加的節點,您無法執行此ARSCNView
,因為ARKit會生成根節點的直接子節點,但這些節點的重點是將它們放置在世界空間中。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.