swift - 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,但这并没有解决我的问题。
这里有什么问题?
谢谢你。
解决方案
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")
推荐阅读
- common-lisp - 错误:未找到外部函数:X86-DARWIN64::|gethostname|
- nosql - 如何设置警报以监控 Oracle NoSQL 数据库云服务中的资源?
- javascript - 制表器 - 分页行数和分组数据
- c# - 如何在 C# 中使用 OAuth 2.0 从 Dynamics CRM 获取休息 API 调用
- python - 如何使用 Ursina 进行武器射击?
- security - 拒绝框架“https://my.matterport.com/”,因为祖先违反了以下内容安全策略指令:“frame-ancestors 'self'”
- python - 为什么 pycharm 显示有关我的 conda 环境的错误信息?
- google-cloud-platform - GKE - 配额 - 超出全球使用中的 IP 地址
- javascript - 如何划分字符串并为每个字符串分配一个变量?
- kubernetes - Kubernetes 没有外部 IP