0

所以,我正在尝试加载 RealityComposer 中制作的不同场景,具体取决于变量。

到目前为止的工作:

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

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

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

我以为我可以将“场景”更改为“场景(myVar)”但是一旦我的文件中有多个场景,第一个解决方案不再起作用,第二个解决方案也不起作用。

我错过了什么?

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

提前致谢 :)

4

1 回答 1

0

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

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

不幸的是,不能将场景名称用作参数,因此,您需要在应用程序中使用 switch 语句来选择合适的方法。

于 2020-05-01T15:16:39.867 回答