|
@@ -390,13 +390,13 @@ void MeshInstance3D::_mesh_changed() {
|
|
|
update_gizmos();
|
|
|
}
|
|
|
|
|
|
-void MeshInstance3D::create_debug_tangents() {
|
|
|
+MeshInstance3D *MeshInstance3D::create_debug_tangents_node() {
|
|
|
Vector<Vector3> lines;
|
|
|
Vector<Color> colors;
|
|
|
|
|
|
Ref<Mesh> mesh = get_mesh();
|
|
|
if (!mesh.is_valid()) {
|
|
|
- return;
|
|
|
+ return nullptr;
|
|
|
}
|
|
|
|
|
|
for (int i = 0; i < mesh->get_surface_count(); i++) {
|
|
@@ -457,15 +457,23 @@ void MeshInstance3D::create_debug_tangents() {
|
|
|
MeshInstance3D *mi = memnew(MeshInstance3D);
|
|
|
mi->set_mesh(am);
|
|
|
mi->set_name("DebugTangents");
|
|
|
- add_child(mi, true);
|
|
|
-#ifdef TOOLS_ENABLED
|
|
|
+ return mi;
|
|
|
+ }
|
|
|
|
|
|
- if (is_inside_tree() && this == get_tree()->get_edited_scene_root()) {
|
|
|
- mi->set_owner(this);
|
|
|
- } else {
|
|
|
- mi->set_owner(get_owner());
|
|
|
- }
|
|
|
-#endif
|
|
|
+ return nullptr;
|
|
|
+}
|
|
|
+
|
|
|
+void MeshInstance3D::create_debug_tangents() {
|
|
|
+ MeshInstance3D *mi = create_debug_tangents_node();
|
|
|
+ if (!mi) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ add_child(mi, true);
|
|
|
+ if (is_inside_tree() && this == get_tree()->get_edited_scene_root()) {
|
|
|
+ mi->set_owner(this);
|
|
|
+ } else {
|
|
|
+ mi->set_owner(get_owner());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -495,8 +503,6 @@ void MeshInstance3D::_bind_methods() {
|
|
|
ClassDB::bind_method(D_METHOD("set_blend_shape_value", "blend_shape_idx", "value"), &MeshInstance3D::set_blend_shape_value);
|
|
|
|
|
|
ClassDB::bind_method(D_METHOD("create_debug_tangents"), &MeshInstance3D::create_debug_tangents);
|
|
|
- ClassDB::set_method_flags("MeshInstance3D", "create_debug_tangents", METHOD_FLAGS_DEFAULT | METHOD_FLAG_EDITOR);
|
|
|
-
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "mesh", PROPERTY_HINT_RESOURCE_TYPE, "Mesh"), "set_mesh", "get_mesh");
|
|
|
ADD_GROUP("Skeleton", "");
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "skin", PROPERTY_HINT_RESOURCE_TYPE, "Skin"), "set_skin", "get_skin");
|