2

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

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

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

大约一年前似乎有很多关于这个话题的帖子,没有真正的答案,从那以后几乎没有活动。任何指针将不胜感激。

4

1 回答 1

3

尽管在 SceneKit 中您可以使用.dae模型播放多个动画,但在 RealityKit 2.0 中您仍然无法播放在任何.usdz模型中找到的多个动画。看看这个帖子这个帖子

现在只能使用以下代码访问一个动画:

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)

当您选择集合中的第二个或第三个元素(如果它确实存在)时,您的应用程序会崩溃:

modelWithMultipleAnimations.availableAnimations[1]
modelWithMultipleAnimations.availableAnimations[2]
于 2020-08-31T19:55:47.010 回答