我正在尝试从 Reality Composer 项目的场景中将
Entity
加载到我的代码中。
我直接接触到自动生成的
.reality
文件,因为我不希望它自动放置在它检测到的第一个平面上。我遵循了文章Taking Control of Scene Anchoring中的文档。
示例项目名称是
Experience
,里面有2个场景。
我用来加载两者的代码
ModelEntity
如下:
let url = Bundle.main.url(forResource: "Experience",
withExtension: "reality")!
.appending(path: "SceneName", directoryHint: .notDirectory)
let modelEntity = try! Entity.loadModel(contentsOf: url)
其中
SceneName
是Box
或Hexagon
.
都无法加载。
如果我改为使用以下代码,它们会成功,但它们是作为
Entity
而不是 ModelEntity
加载的:
let modelEntity = try! Entity.load(contentsOf: url)
是否可以将对象加载为
ModelEntity
而不是 Entity
?到目前为止,我在这篇post中找到的方法是遍历子级层次结构,找到第一个ModelEntity
,并将其模型和物理复制到其父级上,(在我的情况下有效,因为我只在场景中有一个物体)。