SWIFT: 通过变量加载不同的现实场景

SWIFT: Load different reality Scenes via Variable

因此,我正在尝试根据变量加载在 RealityComposer 中制作的不同场景。

目前有效的方法:

let SceneAnchor = try! Experience1.loadScene()
arView.scene.anchors.append(SceneAnchor)
return arView

现在我查看了 apples 文档并看到了以下可能性:

    if let anchor = try? Entity.loadAnchor(named: "Scene") {
        arView.scene.addAnchor(anchor)
    }

我认为我可以将 "Scene" 更改为 "Scene(myVar)" 但是一旦我的文件中有多个场景,第一个解决方案就不再有效了 第二个也不行。

我错过了什么?

我还研究了如何使用文件名,并且能够将我所有的 .reality 文件组成一个数组并将它们存储在一个数组中,所以我想我可以通过索引回忆起它,但是 arrayName[1].loadScene() 似乎也不起作用,尽管我可以将文件名打印到控制台。

提前致谢:)

事实上,Reality Composer 为每个场景加载创建了一个单独的静态方法。这种方法的名称是加载+场景名称。因此,如果您的 Exprerience.xcproject 中有 2 个场景,名称分别为 Scene 和 Scene1,那么您就有 2 个静态方法

let scene = Experience.loadScene()
let scene1 = Experience.loadScene1()

很遗憾,场景名称无法作为参数使用,因此,您需要在您的应用程序中使用 switch 语句来select适当的方法。