Swift/IOS:SCNNode似乎在SCNAction完成后返回其原始位置,但其实际位置已被SCNAction更改

Swift/IOS:SCNNode似乎在SCNAction完成后返回其原始位置,但其实际位置已被SCNAction更改,ios,swift,scenekit,scnaction,Ios,Swift,Scenekit,Scnaction,我对Swift和IOS开发非常陌生,所以这可能是一个简单的问题,但我很难在互联网上找到答案 我试图通过在一个节点上运行SCNAction来设置静态DAE模型的动画。但是,在完成操作(并移动节点)后,节点位置将立即恢复到其原始位置(加载静态DAE模型时的相同位置)。但是,当我打印节点的位置时,我注意到节点的位置实际上因为该命令而改变。当我在同一个节点上再次运行该操作时,该节点将返回到上一个操作产生的结束位置,并从那里开始该操作。我想知道为什么节点的实际位置和场景中出现的位置之间会出现这种不匹配 另

我对Swift和IOS开发非常陌生,所以这可能是一个简单的问题,但我很难在互联网上找到答案

我试图通过在一个节点上运行SCNAction来设置静态DAE模型的动画。但是,在完成操作(并移动节点)后,节点位置将立即恢复到其原始位置(加载静态DAE模型时的相同位置)。但是,当我打印节点的位置时,我注意到节点的位置实际上因为该命令而改变。当我在同一个节点上再次运行该操作时,该节点将返回到上一个操作产生的结束位置,并从那里开始该操作。我想知道为什么节点的实际位置和场景中出现的位置之间会出现这种不匹配

另一件有趣的事情是,当我按顺序放置SCNActions([action1,action2])时,节点将不会在两个操作之间返回其原始位置。但是,如果在两者之间添加了SCNAction.wait([action1,SCNAction.wait,action2]),则节点将在等待期间返回其原始位置,并将从action1的结束位置再次启动action2

我试图在会话结束时保持所有节点的位置。有没有办法防止它回到原来的位置


不确定这个问题是否足够清楚。感谢您的任何想法和想法

是否已验证节点没有来自Collada文件的动画?动画和动作一个接一个地进行评估。这些动作可能会覆盖动画的效果,直到它们完成(或暂停)


与动作不同,动画不在模型树(
node.position
)中写入,而只在表示树(
node.presentationNode.position
)中写入。

似乎有一个简单的解决方案:尽管dae模型看起来是静态的,但当我从Mixamo获得它时,它附带了一个动画。。。在我删除dae文件中的“静态”动画后,一切都开始按我预期的方式工作。。。我猜原始动画和我添加的动画之间有冲突。