Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SceneKit:如何更新SCNGeometrySource_Ios_Objective C_Iphone_Swift_Scenekit - Fatal编程技术网

Ios SceneKit:如何更新SCNGeometrySource

Ios SceneKit:如何更新SCNGeometrySource,ios,objective-c,iphone,swift,scenekit,Ios,Objective C,Iphone,Swift,Scenekit,我正在做一个非常棒的iOS项目。我决定使用sceneKit作为主要框架。 我有个问题: 当我在节点上应用动画时,如何更新节点的SCNGeometrySource 这是预期的行为。移动节点时,不会更改附着几何体对象的点数据。变换也是如此 相反,几何图形(和几何图形源)中的点数据始终相对于几何图形本身 渲染场景时,节点的位置和变换(及其父节点的位置和变换)用于创建单个变换矩阵,该矩阵将几何体的位置和法线从“模型坐标空间”变换到“视图坐标空间”,并将其投影到屏幕1 1:这稍微简化了一点,但在描述这种

我正在做一个非常棒的iOS项目。我决定使用sceneKit作为主要框架。 我有个问题:


当我在节点上应用动画时,如何更新节点的SCNGeometrySource

这是预期的行为。移动节点时,不会更改附着几何体对象的点数据。变换也是如此

相反,几何图形(和几何图形源)中的点数据始终相对于几何图形本身

渲染场景时,节点的位置和变换(及其父节点的位置和变换)用于创建单个变换矩阵,该矩阵将几何体的位置和法线从“模型坐标空间”变换到“视图坐标空间”,并将其投影到屏幕1



1:这稍微简化了一点,但在描述这种转换如何工作时,不需要像OpenGL那样技术化。如果你真的想阅读所有涉及的步骤,可以搜索“剪辑空间”、“透视分割”和“标准化设备空间”等关键词。

你想制作什么动画?我正在制作一个非常非常逼真的动画:“[self.ship runAction:[SCNAction moveByX:10 y:0 z:30 duration:10]”。但是我的节点ship的SCNGeometrySource不会更新其值。这是我的问题。self.ship是节点还是几何体或几何体源?self.ship是节点。它包含一个几何体,它包含几何体源。但是数据没有更新,所以我不能更新几何体。如果在.dae文件中有一个动画呢?如果动画正在移动模型,则很可能从场景源读取该动画并应用于节点。