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

时间:2018-12-22 02:32:57

标签: ios swift scaling arkit scnnode

我用ARKit创建了一扇门,我想创建一个比例动画。我的目标是仅沿y轴缩放比例(将门拉伸得更长)。 我希望门在1秒钟内增长。

我的方法是简单地缩放它,但是我只有一些选项可以让我沿所有3个轴缩放整个对象。

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

1 个答案:

答案 0 :(得分:1)

您需要使用SCNTransaction。动画化节点缩放的最简单方法是这样的:

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

您可能还需要修改节点的pivot属性以正确放置动画。