代码之家  ›  专栏  ›  技术社区  ›  Jush KillaB

如何在swift中垂直(沿y轴)缩放3d对象?

  •  0
  • Jush KillaB  · 技术社区  · 7 年前

    我用arkit创建了一个门,我想创建一个缩放动画。我的目标是只沿y轴缩放(拉伸门使其更长)。 我希望这扇门能在1秒内长出来。

    我的方法是简单地缩放它,但是我只有一些选项,允许我沿着整个3轴缩放整个对象。

    接下来我尝试 node.scale = SCNVector3(0, 2, 0) 这很好,但它没有很好的动画。当我创建 SCNAction() 并将代码作为具有持续时间的块运行,它仍然只是更改大小而没有任何平滑的动画。

    1 回复  |  直到 7 年前
        1
  •  1
  •   M Reza    7 年前

    你需要使用 SCNTransaction . 设置节点缩放动画的最简单方法如下:

    SCNTransaction.begin()
    SCNTransaction.animationDuration = 3
    node.scale = SCNVector3(0, 2, 0)
    SCNTransaction.commit() 
    

    您可能还需要修改 pivot 属性正确定位动画。