RealityKit 实体上的复杂模型组件

问题描述 投票:0回答:1

我正在尝试最大程度地使用 RealityKits 实体组件系统,但我在将几个部分组装在一起时遇到了困难。特别是围绕

HasModel
组件。

在 Reality Composer 中,我制作了一个由三个基本对象组成的简单模型。我将其导出为

.USDZ
文件并将其放入我的 Xcode 项目中。

然后我从磁盘加载模型,如下所示:

guard let basicLabelFileURL = Bundle.main.url(forResource: "label", withExtension: "usdz") else {
    fatalError("Could not find label file")
}
let basicLabel = try ModelEntity.loadModel(contentsOf: basicLabelFileURL)

然后我有一个名为

LabelEntity

的自定义实体
class LabelEntity: Entity, HasAnchoring, HasModel {
    
    required public init() {
        super.init()
    }
    
    public init(entity: Entity) {
        super.init()
        self.model = ??? entity?
    }
}

使用磁盘中的模型进行初始化。

let newLabelEntity = LabelEntity(entity: basicLabel)

如您所见,我不想使模型从磁盘加载为我的自定义实体的

ModelComponent
。然而,
ModelComponent
初始化器
只接受单个网格,然后接受材料数组。

我的知识差距在哪里?如何使用复杂的网格层次结构(其他模型)中的 ModelComponent 来创建自定义实体?

ios swift arkit realitykit reality-composer
1个回答
0
投票

我刚刚最终将加载的模型作为子实体添加到“包装器”实体中。

© www.soinside.com 2019 - 2024. All rights reserved.