gpt4 book ai didi

ios - Swift/IOS : SCNNode appeared to return to its original position after SCNAction is finished, 但它的实际位置被 SCNAction 改变了

转载 作者:搜寻专家 更新时间:2023-10-31 22:53:17 26 4
gpt4 key购买 nike

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

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

另一个有趣的事情是,当我按顺序 ([action1, action2]) 放置 SCNActions 时,节点不会在 Action 之间返回到其原始位置。但是如果在([action1, SCNAction.wait, action2])之间加入了SCNAction.wait,则节点在等待的过程中会回到原来的位置,从action1的结束位置重新开始action2。

我试图在 SCNActions 结束时保持所有节点的位置。有什么办法可以防止它回到原来的位置吗?

不确定问题是否足够清楚。任何想法和想法表示赞赏。

最佳答案

您是否已确认该节点未附带来自 Collada 文件的动画?动画和 Action 被一个接一个地评估。这些 Action 可能会覆盖动画的效果,直到它们完成(或暂停)。

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

关于ios - Swift/IOS : SCNNode appeared to return to its original position after SCNAction is finished, 但它的实际位置被 SCNAction 改变了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54982241/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com