|
@@ -952,6 +952,9 @@ Error EditorSceneImporterGLTF::_parse_meshes(GLTFState &state) {
|
|
|
return OK;
|
|
|
}
|
|
|
|
|
|
+ bool compress_vert_data = state.import_flags & IMPORT_USE_COMPRESSION;
|
|
|
+ uint32_t mesh_flags = compress_vert_data ? Mesh::ARRAY_COMPRESS_DEFAULT : 0;
|
|
|
+
|
|
|
Array meshes = state.json["meshes"];
|
|
|
for (GLTFMeshIndex i = 0; i < meshes.size(); i++) {
|
|
|
print_verbose("glTF: Parsing mesh: " + itos(i));
|
|
@@ -1206,7 +1209,7 @@ Error EditorSceneImporterGLTF::_parse_meshes(GLTFState &state) {
|
|
|
}
|
|
|
|
|
|
//just add it
|
|
|
- mesh.mesh->add_surface_from_arrays(primitive, array, morphs);
|
|
|
+ mesh.mesh->add_surface_from_arrays(primitive, array, morphs, Dictionary(), mesh_flags);
|
|
|
|
|
|
if (p.has("material")) {
|
|
|
const int material = p["material"];
|
|
@@ -2951,6 +2954,7 @@ Node *EditorSceneImporterGLTF::import_scene(const String &p_path, uint32_t p_fla
|
|
|
|
|
|
String version = asset["version"];
|
|
|
|
|
|
+ state.import_flags = p_flags;
|
|
|
state.major_version = version.get_slice(".", 0).to_int();
|
|
|
state.minor_version = version.get_slice(".", 1).to_int();
|
|
|
state.use_named_skin_binds = p_flags & IMPORT_USE_NAMED_SKIN_BINDS;
|