【问题标题】:RealityKit, Model's available animations array always emptyRealityKit,模型的可用动画数组始终为空
【发布时间】:2021-09-22 11:50:34
【问题描述】:

我正在从苹果网站将 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,但这并没有解决我的问题。

这里有什么问题?

谢谢。

【问题讨论】:

  • 尝试 Entity.load 而不是 ModelEntity.load
  • 嘿,谢谢,我做到了,遗憾的是它没有解决问题,数组仍然是空的。

标签: swift arkit realitykit


【解决方案1】:

ModelEntity 工作正常。它打印one 动画。我在 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")

【讨论】:

  • 是的,两者都对我有用,我只在使用 .loadModel 时看到过这个问题,这是意料之中的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-13
  • 2017-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-07
相关资源
最近更新 更多