diff --git a/nusamai/src/sink/obj/obj_writer.rs b/nusamai/src/sink/obj/obj_writer.rs index 4d422252..b7b0273a 100644 --- a/nusamai/src/sink/obj/obj_writer.rs +++ b/nusamai/src/sink/obj/obj_writer.rs @@ -47,8 +47,10 @@ fn write_obj( mesh_data.push((feature_id, mesh, vertex_offset, uv_offset)); } - let mut obj_writer = BufWriter::new(File::create(&obj_path)?); + + writeln!(obj_writer, "mtllib {}.mtl", file_name)?; + for vertex in &all_vertices { writeln!(obj_writer, "v {} {} {}", vertex[0], vertex[1], vertex[2])?; } @@ -63,6 +65,7 @@ fn write_obj( if is_split { local_obj.push(format!("o {}", feature_id)); + local_obj.push(format!("g {}", feature_id)); } for (material_key, indices) in &mesh.primitives {