swift RealityKit,模型的可用动画数组始终为空

xjreopfe  于 2023-05-05  发布在  Swift
关注(0)|答案(1)|浏览(175)

我正在从苹果网站加载toy-robot-vintage.usdz(可以肯定的是,我也检查了其他模型)到我的项目中。
在快速查看中,可以播放该机器人的动画。但是在我加载模型并成功地将其放置到场景中之后,我想使用按钮打印可用动画的列表。它总是打印一个空数组
请原谅我的强行解开:

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

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

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

但结果总是一样的:

我检查了苹果开发者论坛,发现这个问题在一年前就被问到了,遗憾的是没有回应。一个注解是将**.loadModel方法更改为.load**,但这并没有解决我的问题。
这里能出什么问题?
谢谢大家。

yhuiod9q

yhuiod9q1#

ModelEntity工作正常。它只打印一个动画。我在Ventura 13.3.1上使用Xcode 14.3。

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")

相关问题