ios - 如何在 Swift 中垂直(沿 y 轴)缩放 3D 对象?
问题描述
我用 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
节点的属性以正确定位动画。
推荐阅读
- python - 为什么“pip3 install virtualenvwrapper-win”命令在 cmd 中不起作用?
- python - 尝试在 Django Post LIKE DISLIKE 功能上使用 Ajax 时找不到页面错误
- time - Influxdb GROUP BY time 聚合错误时间间隔或存储桶上的数据
- pygame - 如何在 pygame 显示中加载 python 维基百科图像?
- c# - C# - 带有 OnClick + href 的链接按钮?
- c# - 拆分单行会导致更多开销吗?
- android - Google Drive REST API:java.lang.IllegalArgumentException:名称不能为空:null
- python - OpenCV-python获取两点(线)之间的像素集
- python - Django TypeError: validate_location() 缺少 2 个必需的位置参数:'location' 和 'parcare_on'
- angularjs - Angularjs HTTP 拦截器异常