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适当的方法。
因此,我正在尝试根据变量加载在 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适当的方法。