Skip to content

Commit

Permalink
Expand bone name possibilities.
Browse files Browse the repository at this point in the history
(cherry picked from commit c203fbf)
  • Loading branch information
fire authored and akien-mga committed Mar 17, 2021
1 parent 9926425 commit f1e8ec9
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 21 deletions.
25 changes: 5 additions & 20 deletions editor/import/editor_scene_importer_gltf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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) {
Expand Down
2 changes: 1 addition & 1 deletion editor/import/editor_scene_importer_gltf.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit f1e8ec9

Please sign in to comment.