如何在 Swift 中垂直(沿 y 轴)缩放 3D 对象?
How to scale 3D object vertically (along y-axis) in Swift?
我用 ARKit 创建了一扇门,我想创建一个比例动画。我的目标是仅沿 y 轴缩放它(将门拉长)。
我想让门在1秒内变大
我的方法是简单地缩放它,但我只有允许我沿所有 3 个轴缩放整个对象的选项。
接下来我尝试了 node.scale = SCNVector3(0, 2, 0)
并且效果不错,但它没有很好的动画效果。当我创建 SCNAction()
和 运行 代码作为具有持续时间的块时,它仍然只是更改大小而没有任何流畅的动画。
您需要使用 SCNTransaction
。动画节点缩放的最简单方法是这样的:
SCNTransaction.begin()
SCNTransaction.animationDuration = 3
node.scale = SCNVector3(0, 2, 0)
SCNTransaction.commit()
您可能还需要修改节点的 pivot
属性 以正确定位动画。
我用 ARKit 创建了一扇门,我想创建一个比例动画。我的目标是仅沿 y 轴缩放它(将门拉长)。 我想让门在1秒内变大
我的方法是简单地缩放它,但我只有允许我沿所有 3 个轴缩放整个对象的选项。
接下来我尝试了 node.scale = SCNVector3(0, 2, 0)
并且效果不错,但它没有很好的动画效果。当我创建 SCNAction()
和 运行 代码作为具有持续时间的块时,它仍然只是更改大小而没有任何流畅的动画。
您需要使用 SCNTransaction
。动画节点缩放的最简单方法是这样的:
SCNTransaction.begin()
SCNTransaction.animationDuration = 3
node.scale = SCNVector3(0, 2, 0)
SCNTransaction.commit()
您可能还需要修改节点的 pivot
属性 以正确定位动画。