scenekit - 如何在 Scenekit 中为关键帧动画选择关键路径?
问题描述
我正在尝试使用 CAKeyFrame 在 SCNIKConstraint 中为 targetPosition 设置动画,但在设置动画时无法确定要使用的键路径。
两个问题:
- 可以使用 keyFrame 为 targetPosition 设置动画吗?
- 一般来说,我在哪里/如何找到 SceneKit 动画属性的关键路径
解决方案
任何符合的类型的属性都SCNAnimatable
可以进行动画处理。这是SCNIKConstraint
继承自SCNConstraint
符合它的情况。
然后,您可以通过指定它们的路径来为属性设置动画。
在您的情况下,您将执行以下操作:
let constraint = SCNIKConstraint(...)
let animation = CAKeyframeAnimation(keyPath: "targetPosition")
/// Configure the animation
...
constraint.addAnimation(animation, forKey:nil)
请注意为动画设置与要设置动画的属性兼容的值。
注意:您可以指定属性或派生属性及其路径,您可以通过value(forKeyPath: String)
. NSObject
例如,您可以这样做:
let animation = CAKeyframeAnimation(keyPath: "targetPosition.x")
推荐阅读
- python - 电报机器人从文件发送随机图像
- node.js - Parcel SemVer 错误
- javascript - 将对象文件列表从 javascript 反序列化为 c#
- python - 当输入大小小于 PyTorch 中的目标大小时,F.adaptive_max_pool 如何工作?
- java - 阵列中最长的高原。我究竟做错了什么?
- html - 当浏览器下载 CSS 文件时,chrome 中的渲染引擎会发生什么?
- postgresql - PostgreSQL:如何运行从 SQL SELECT 语句返回的 ALTER 查询
- sql - 使用 SQL 查询获取从今天开始的最后 45 天
- asp.net-core - ASP.NET Core 3.1 中的 ParentId 错误?
- c# - BlockingCollection 分页到磁盘