Ios SceneKit:如何更新SCNGeometrySource
我正在做一个非常棒的iOS项目。我决定使用sceneKit作为主要框架。 我有个问题:Ios SceneKit:如何更新SCNGeometrySource,ios,objective-c,iphone,swift,scenekit,Ios,Objective C,Iphone,Swift,Scenekit,我正在做一个非常棒的iOS项目。我决定使用sceneKit作为主要框架。 我有个问题: 当我在节点上应用动画时,如何更新节点的SCNGeometrySource 这是预期的行为。移动节点时,不会更改附着几何体对象的点数据。变换也是如此 相反,几何图形(和几何图形源)中的点数据始终相对于几何图形本身 渲染场景时,节点的位置和变换(及其父节点的位置和变换)用于创建单个变换矩阵,该矩阵将几何体的位置和法线从“模型坐标空间”变换到“视图坐标空间”,并将其投影到屏幕1 1:这稍微简化了一点,但在描述这种
当我在节点上应用动画时,如何更新节点的SCNGeometrySource 这是预期的行为。移动节点时,不会更改附着几何体对象的点数据。变换也是如此 相反,几何图形(和几何图形源)中的点数据始终相对于几何图形本身 渲染场景时,节点的位置和变换(及其父节点的位置和变换)用于创建单个变换矩阵,该矩阵将几何体的位置和法线从“模型坐标空间”变换到“视图坐标空间”,并将其投影到屏幕1
1:这稍微简化了一点,但在描述这种转换如何工作时,不需要像OpenGL那样技术化。如果你真的想阅读所有涉及的步骤,可以搜索“剪辑空间”、“透视分割”和“标准化设备空间”等关键词。你想制作什么动画?我正在制作一个非常非常逼真的动画:“[self.ship runAction:[SCNAction moveByX:10 y:0 z:30 duration:10]”。但是我的节点ship的SCNGeometrySource不会更新其值。这是我的问题。self.ship是节点还是几何体或几何体源?self.ship是节点。它包含一个几何体,它包含几何体源。但是数据没有更新,所以我不能更新几何体。如果在.dae文件中有一个动画呢?如果动画正在移动模型,则很可能从场景源读取该动画并应用于节点。