【发布时间】:2019-07-25 16:57:17
【问题描述】:
我对 Swift 和 IOS 开发非常陌生,所以这可能是一个简单的问题,但我很难在互联网上找到答案。
我试图通过在其中一个节点上运行 SCNAction 来为静态 DAE 模型设置动画。但是,在 SCNAction 完成后(并且节点被移动),节点位置将立即回到其原始位置(加载静态 DAE 模型时的相同位置)。但是当我打印节点的位置时,我注意到节点的位置实际上是因为 SCNAction 而改变的。当我在同一个节点上再次运行 SCNAction 时,该节点将返回到最后一个 SCNAction 产生的结束位置并从那里启动 SCNAction。我想知道为什么节点的实际位置与场景中出现的位置如此不匹配。
另外一个有趣的事情是当我把 SCNActions 按顺序排列时([action1, action2]),节点不会在动作之间回到原来的位置。但是如果在([action1, SCNAction.wait, action2])之间添加了SCNAction.wait,则在等待期间节点会回到原来的位置,从action1的结束位置重新开始action2。
我试图在 SCNActions 结束时保持所有节点的位置。有什么办法可以防止它回到原来的位置?
不确定问题是否足够清楚。任何想法和想法都会受到赞赏。
【问题讨论】:
-
似乎有一个简单的解决方案:虽然 dae 模型看起来是静态的,但当我从 Mixamo 获得它时,它附加了一个动画......在我删除了dae 文件,一切都开始按我预期的方式工作......猜猜原始动画和我添加的 scnaction 之间存在一些冲突。
标签: ios swift scenekit scnaction