所以我想了解 allowCameraControl 是如何工作的。
我有一个场景,我设置 allowCameraControl = true。当我平移并且场景旋转或翻译时(两个 fingers...),我不明白什么场景套件真的改变了我。
我期待相机节点改变位置或旋转。不是这样的。我还记录了 scene...no 更改的 rootNode 的位置和旋转。
所以为了清楚,在渲染委托调用每一帧更新时,我记录了我为场景设置的摄像机节点的位置和旋转,我记录了根节点的位置和旋转,我还记录了 te 位置和旋转我添加到场景中的节点。这些都没有显示位置和/或旋转的任何变化。
任何人都可以向我解释当场景使用标准相机控件旋转或平移时场景套件会发生什么变化?
2 回答
创建一个新相机,保持原始相机不变。
如果使用
showsStatistics
属性显示检查器,您会注意到从您的相机(即使它是“无标题”)到kSCNFreeViewCameraName
的视点变化。遗憾的是,没有太多关于此行为的文档,但您可能能够在节点层次结构中找到它。
让我们知道你发现了什么!
确实创建了一个新的相机,原来的相机保持不变。场景图也没有变化。新相机不是场景图的一部分,可以使用 scnView.pointOfView 进行访问