首页 > 解决方案 > 如何在 Swift 中垂直(沿 y 轴)缩放 3D 对象?

问题描述

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

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

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

标签: iosswiftscalingarkitscnnode

解决方案


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

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

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


推荐阅读