You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

RealityKit中连续执行两个FromToByAction无法叠加变换的问题咨询

RealityKit中连续执行两个FromToByAction无法叠加变换的问题咨询

大家好,我在使用RealityKit实现缩放动画时遇到了一个不符合预期的问题,想跟各位请教一下:

我写了这样一段代码:

let scaleAction = FromToByAction( by: Transform(scale: SIMD3(2, 2, 2)))
let scaleAnimation = try! AnimationResource
    .makeActionAnimation( for: scaleAction, duration: 2, bindTarget: .transform)
box.playAnimation(try! .sequence(with: [scaleAnimation, scaleAnimation]))

按照我以往在SceneKit和SpriteKit里的经验,我预期这个盒子会先从1倍缩放至2倍(第一个动画),接着从2倍继续缩放至4倍(第二个动画)——也就是每次动画都基于当前的状态叠加相对变换。

但实际在RealityKit里运行的结果却是:盒子先从1倍缩到2倍,然后突然跳回1倍,再重新缩到2倍。

我注意到AnimationResource是一个结构体,所以[scaleAnimation, scaleAnimation]其实是两个独立的副本,按道理应该不会互相影响才对。另外我不想手动计算“from”和“to”的值,因为“by”这种相对变换的方式在很多场景下(包括我上面的示例场景)都更方便。

有没有朋友知道这是怎么回事,或者有没有办法让RealityKit里的相对动画能像SceneKit/SpriteKit那样连续叠加执行呢?

内容来源于stack exchange

火山引擎 最新活动