Merge pull request #71077 from rsjtdrjgfuzkfg/obj-import
obj: Avoid empty names and meshes
This commit is contained in:
commit
14a6a5b79f
1 changed files with 9 additions and 4 deletions
|
@ -218,7 +218,8 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_
|
|||
Vector<Vector3> normals;
|
||||
Vector<Vector2> uvs;
|
||||
Vector<Color> colors;
|
||||
String name;
|
||||
const String default_name = "Mesh";
|
||||
String name = default_name;
|
||||
|
||||
HashMap<String, HashMap<String, Ref<StandardMaterial3D>>> material_map;
|
||||
|
||||
|
@ -395,9 +396,12 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_
|
|||
|
||||
if (l.begins_with("o ") || f->eof_reached()) {
|
||||
if (!p_single_mesh) {
|
||||
mesh->set_name(name);
|
||||
r_meshes.push_back(mesh);
|
||||
mesh.instantiate();
|
||||
if (mesh->get_surface_count() > 0) {
|
||||
mesh->set_name(name);
|
||||
r_meshes.push_back(mesh);
|
||||
mesh.instantiate();
|
||||
}
|
||||
name = default_name;
|
||||
current_group = "";
|
||||
current_material = "";
|
||||
}
|
||||
|
@ -460,6 +464,7 @@ Node *EditorOBJImporter::import_scene(const String &p_path, uint32_t p_flags, co
|
|||
for (const Ref<Mesh> &m : meshes) {
|
||||
Ref<ImporterMesh> mesh;
|
||||
mesh.instantiate();
|
||||
mesh->set_name(m->get_name());
|
||||
for (int i = 0; i < m->get_surface_count(); i++) {
|
||||
mesh->add_surface(m->surface_get_primitive_type(i), m->surface_get_arrays(i), Array(), Dictionary(), m->surface_get_material(i));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue