我正在做一个很棒的iOS项目。我决定使用sceneKit作为主要框架。
我有一个问题:
当我在其上应用动画时,如何更新节点的SCNGeometrySource?
最佳答案
那是预期的行为。移动节点时,它不会更改附加几何对象的点数据。转换也是如此。
相反,几何图形(和几何图形源)中的点数据始终相对于几何图形本身。
渲染场景时,节点的位置和变换(及其父节点的位置和变换)用于创建单个变换矩阵,该矩阵将几何的位置和法线从“模型坐标空间”转换为“视图坐标空间”并将其投影到屏幕1。
1:稍微简化了一点,但在描述此转换的工作原理时,不需要像OpenGL这样的技术。如果您真的想阅读所有涉及的步骤,可以搜索“剪辑空间”,“透视划分”和“规范化的设备空间”。