【RealityKit】モデルにMaterialを設定する方法

作成したmodelをEntityとして読み込む

guard let model = try? Entity.load(named: "sample.scnassets/sample") else { return }

読み込んだEntityからmaterialを設定する対象のEntityを検索して、ModelComponentを取得する

if var modelComponent = model.findEntity(named: "設定対象のEntity名").components[ModelComponent.self] as? ModelComponent {
}

取得したModelComponentのmaterialsプロパティに任意のmaterialを設定して更新する

if var modelComponent = model.findEntity(named: "設定対象のEntity名").components[ModelComponent.self] as? ModelComponent {
    modelComponent.materials = [UnlitMaterial(color: UIColor.green.withAlphaComponent(0.8))] // 例として、UnlitMaterialを設定
    model.findEntity(named: "設定対象のEntity名").components[ModelComponent.self] = modelComponent
}

参考

https://stackoverflow.com/questions/56828648/realitykit-adding-a-material-to-a-modelentity-programmatically

https://developer.apple.com/documentation/realitykit/modifying_realitykit_rendering_using_custom_materials