首页 > 解决方案 > RealityKit,模型的可用动画数组始终为空

问题描述

我正在从苹果网站将 toy-robot-vintage.usdz(当然,我也检查过其他模型)加载到我的项目中。

在快速浏览中,您可以播放该机器人的动画。但是在我加载模型并成功将其放入场景后,我想使用按钮打印可用动画列表。它总是打印一个空数组

请原谅我用力展开:

let robot = try! ModelEntity.load(named: "robot")

然后,我打印可用的动画(模型完全加载后)。

@objc private func multipurposeButtonTapped() {
        print(robot.availableAnimations)
        print(robot.availableAnimations.count)
    }

但结果总是一样的:

在此处输入图像描述

我查看了 Apple 开发者论坛,发现一年前有人问过这个问题,遗憾的是没有任何回应。一个注释是将.loadModel方法更改为.load,但这并没有解决我的问题。

这里有什么问题?

谢谢你。

标签: swiftarkitrealitykit

解决方案


ModelEntity工作正常。它打印一个动画。我在 Big Sur 11.4 上使用 Xcode 12.5.1。

do {
    let robot = try ModelEntity.load(named: "toy_robot")

    print(robot.availableAnimations)            /*  [AnimationResource]     */
    print(robot.availableAnimations.count)      /*  1                       */
    print(robot.availableAnimations[0].name!)   /*  global scene animation  */

} catch {
    print("Failed to load a robot asset")
}

正如@maxxfrazer 所说,Entity也可以。

let robot = try Entity.load(named: "toy_robot")

在此处输入图像描述


推荐阅读