You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ARKit/RealityKit中USDZ模型旋转动画无效果问题求助

ARKit/RealityKit USDZ模型旋转动画问题解决

问题描述

我是ARKit/RealityKit的新手,想要为加载的USDZ模型添加旋转动画,但始终无法实现。我尝试使用带时长参数的move(to:)方法,却完全没有效果,既无动画也不旋转;而直接设置orientation虽能旋转但无动画。相关代码如下:

guard let modelEntity = try? Entity.loadModel(named: "toy_biplane_idle") else {
      return
}
anchorEntity.addChild(modelEntity)
var rotationTransform: Transform = Transform()
rotationTransform.rotation = .init(angle: 30 * .pi / 180, axis: .init(x: 1, y: 1, z: 1))
// modelEntity.orientation = rotationTransform.rotation // this works but is not animated
modelEntity.move(to: rotationTransform, relativeTo: modelEntity.parent, duration: 1.0) // no effect at all

问题原因

move(to:relativeTo:duration:)方法仅负责位置(position)的平滑过渡,不会处理旋转(rotation)的动画逻辑。你传入的Transform只设置了rotation,position为空(默认原点),但模型实际位置不在原点,导致动画执行后模型被移到不可见区域,旋转效果自然无法被观察到。

解决方案

方法1:使用专用旋转动画API

RealityKit提供了rotate(to:duration:timingFunction:)方法,专门用于实现旋转的平滑动画,直接指定目标旋转值即可:

guard let modelEntity = try? Entity.loadModel(named: "toy_biplane_idle") else {
      return
}
anchorEntity.addChild(modelEntity)

// 目标旋转:绕x/y/z轴各旋转30度
let targetRotation = simd_quatf(angle: 30 * .pi / 180, axis: SIMD3(x: 1, y: 1, z: 1))
// 执行1秒的旋转动画,使用缓入缓出的时间曲线
modelEntity.rotate(to: targetRotation, duration: 1.0, timingFunction: .easeInOut)

方法2:修正move(to:)的使用逻辑

如果一定要用move(to:),需要保留模型当前的position,只修改rotation,确保动画只改变旋转属性:

guard let modelEntity = try? Entity.loadModel(named: "toy_biplane_idle") else {
      return
}
anchorEntity.addChild(modelEntity)

// 基于当前Transform修改旋转,保留原有位置
var targetTransform = modelEntity.transform
targetTransform.rotation = simd_quatf(angle: 30 * .pi / 180, axis: SIMD3(x: 1, y: 1, z: 1))
// 执行动画
modelEntity.move(to: targetTransform, relativeTo: modelEntity.parent, duration: 1.0)

额外注意事项

  • 如果加载的USDZ模型自带动画(比如toy_biplane_idle的 idle 动画),建议先暂停自带动画避免冲突:
    modelEntity.stopAllAnimations()
    
  • 确保模型已经被正确添加到场景实体树中(你当前的anchorEntity.addChild(modelEntity)操作是正确的)

内容的提问来源于stack exchange,提问作者Programmer54

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 02:37:18