gpt4 book ai didi

swift - RealityKit – 在 USDZ 文件中播放多个动画

转载 作者:行者123 更新时间:2023-12-03 08:36:54 41 4
gpt4 key购买 nike

有人找到了为 USDZ 文件中打包的骨架网格物体创建多个动画并使用 RealityKit 播放动画的工作流程吗?

我有一个带有两个动画(空闲和运行)的骨架网格物体。我想将它们打包成一个 USDZ 文件(如果必须的话,甚至可以打包成多个 USDZ 文件)以便在 RealityKit 中使用。

我已经能够创建一个 FBX 来导出我的骨架网格物体和动画,并将它们发送到 sketchfab 以获得 RealityKit 可以理解的有效 USDZ 导出。我不知道如何将第二个动画打包到单个 USDZ 文件中,然后使用 SWIFT 播放基于特定事件的特定动画。

大约一年前,似乎有很多关于该主题的帖子,但没有真正的答案,此后也很少有事件。任何指示将不胜感激。

最佳答案

在RealityKit中存储和提取多个模型的动画

在 RealityKit 中,您无法从开箱即用的单个 .usdz 模型中播放多个动画。看this postthis post 。默认情况下只能访问一种动画:

let robot = try ModelEntity.load(named: "drummer")
let anchor = AnchorEntity()
anchor.children.append(robot)
arView.scene.anchors.append(anchor)

robot.playAnimation(robot.availableAnimations[0].repeat(duration: .infinity),
transitionDuration: 0.5,
startsPaused: false)

当您从集合中提取第二个或第三个元素时,您的应用程序崩溃:

mainModel.availableAnimations[1]      // crash
mainModel.availableAnimations[2] // crash

但是,您可以将第二个、第三个等动画附加到其他 USDZ 的主 .usdz 文件中。

model_02.availableAnimations[0].store(in: mainModel)
model_03.availableAnimations[0].store(in: mainModel)

在这里你还可以找到一个elegant solution .

关于swift - RealityKit – 在 USDZ 文件中播放多个动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63672309/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com