diff --git a/editor/import/editor_scene_importer_gltf.cpp b/editor/import/editor_scene_importer_gltf.cpp index c6e919512fa..f8084e9168d 100644 --- a/editor/import/editor_scene_importer_gltf.cpp +++ b/editor/import/editor_scene_importer_gltf.cpp @@ -1226,6 +1226,12 @@ Error EditorSceneImporterGLTF::_parse_meshes(GLTFState &state) { ERR_FAIL_INDEX_V(material, state.materials.size(), ERR_FILE_CORRUPT); const Ref &mat = state.materials[material]; + mesh.mesh->surface_set_material(mesh.mesh->get_surface_count() - 1, mat); + } else { + Ref mat; + mat.instance(); + mat->set_flag(SpatialMaterial::FLAG_ALBEDO_FROM_VERTEX_COLOR, true); + mesh.mesh->surface_set_material(mesh.mesh->get_surface_count() - 1, mat); } } @@ -1391,6 +1397,7 @@ Error EditorSceneImporterGLTF::_parse_materials(GLTFState &state) { if (d.has("name")) { material->set_name(d["name"]); } + material->set_flag(SpatialMaterial::FLAG_ALBEDO_FROM_VERTEX_COLOR, true); if (d.has("pbrMetallicRoughness")) {