Explorar el Código

Expand bone name possibilities.

(cherry picked from commit c203fbfa8c4b4fe27cd29b03fa1d3ad068c9bef1)
K. S. Ernest (iFire) Lee hace 4 años
padre
commit
f1e8ec942d

+ 5 - 20
editor/import/editor_scene_importer_gltf.cpp

@@ -35,7 +35,6 @@
 #include "core/math/math_defs.h"
 #include "core/os/file_access.h"
 #include "core/os/os.h"
-#include "modules/regex/regex.h"
 #include "scene/3d/bone_attachment.h"
 #include "scene/3d/camera.h"
 #include "scene/3d/mesh_instance.h"
@@ -213,25 +212,11 @@ String EditorSceneImporterGLTF::_gen_unique_animation_name(GLTFState &state, con
 	return name;
 }
 
-String EditorSceneImporterGLTF::_sanitize_bone_name(const String &name) {
-	String p_name = name.camelcase_to_underscore(true);
-
-	RegEx pattern_nocolon(":");
-	p_name = pattern_nocolon.sub(p_name, "_", true);
-
-	RegEx pattern_noslash("/");
-	p_name = pattern_noslash.sub(p_name, "_", true);
-
-	RegEx pattern_nospace(" +");
-	p_name = pattern_nospace.sub(p_name, "_", true);
-
-	RegEx pattern_multiple("_+");
-	p_name = pattern_multiple.sub(p_name, "_", true);
-
-	RegEx pattern_padded("0+(\\d+)");
-	p_name = pattern_padded.sub(p_name, "$1", true);
-
-	return p_name;
+String EditorSceneImporterGLTF::_sanitize_bone_name(const String &p_name) {
+	String name = p_name;
+	name = name.replace(":", "_");
+	name = name.replace("/", "_");
+	return name;
 }
 
 String EditorSceneImporterGLTF::_gen_unique_bone_name(GLTFState &state, const GLTFSkeletonIndex skel_i, const String &p_name) {

+ 1 - 1
editor/import/editor_scene_importer_gltf.h

@@ -364,7 +364,7 @@ class EditorSceneImporterGLTF : public EditorSceneImporter {
 	String _sanitize_animation_name(const String &p_name);
 	String _gen_unique_animation_name(GLTFState &state, const String &p_name);
 
-	String _sanitize_bone_name(const String &name);
+	String _sanitize_bone_name(const String &p_name);
 	String _gen_unique_bone_name(GLTFState &state, const GLTFSkeletonIndex skel_i, const String &p_name);
 
 	Ref<Texture> _get_texture(GLTFState &state, const GLTFTextureIndex p_texture);