summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Franke <arnfranke@yahoo.com>2021-08-13 11:42:45 -0500
committerAaron Franke <arnfranke@yahoo.com>2024-02-26 05:23:04 -0600
commitc399424db9ee39e94cd21569ee87567de10586e2 (patch)
tree591fac0386894290d6b161d18d70dd39233bad02
parent1cb531ddb6fedb5bed432eeaa17793a9e07f61ac (diff)
downloadredot-engine-c399424db9ee39e94cd21569ee87567de10586e2.tar.gz
Move 3D-only resources to their own folder
-rw-r--r--editor/import/3d/editor_import_collada.cpp2
-rw-r--r--editor/import/3d/resource_importer_obj.cpp2
-rw-r--r--editor/import/3d/resource_importer_scene.cpp10
-rw-r--r--editor/import/3d/resource_importer_scene.h12
-rw-r--r--editor/import/3d/scene_import_settings.cpp2
-rw-r--r--editor/import/3d/scene_import_settings.h2
-rw-r--r--editor/plugins/gizmos/collision_shape_3d_gizmo_plugin.cpp18
-rw-r--r--editor/plugins/gizmos/spring_arm_3d_gizmo_plugin.cpp2
-rw-r--r--editor/plugins/material_editor_plugin.cpp4
-rw-r--r--editor/plugins/material_editor_plugin.h2
-rw-r--r--editor/plugins/mesh_instance_3d_editor_plugin.cpp6
-rw-r--r--editor/plugins/mesh_library_editor_plugin.h2
-rw-r--r--editor/plugins/node_3d_editor_gizmos.cpp2
-rw-r--r--editor/plugins/node_3d_editor_plugin.cpp2
-rw-r--r--editor/plugins/skeleton_3d_editor_plugin.cpp3
-rw-r--r--modules/csg/csg_shape.h2
-rw-r--r--modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.cpp2
-rw-r--r--modules/gltf/extensions/physics/gltf_physics_shape.cpp14
-rw-r--r--modules/gltf/gltf_document.cpp2
-rw-r--r--modules/gltf/structures/gltf_mesh.cpp2
-rw-r--r--modules/gltf/structures/gltf_mesh.h2
-rw-r--r--modules/gltf/structures/gltf_skin.cpp2
-rw-r--r--modules/gltf/structures/gltf_skin.h2
-rw-r--r--modules/gridmap/grid_map.cpp4
-rw-r--r--modules/gridmap/grid_map.h2
-rw-r--r--modules/navigation/3d/nav_mesh_generator_3d.cpp20
-rw-r--r--scene/3d/collision_object_3d.cpp2
-rw-r--r--scene/3d/collision_polygon_3d.cpp2
-rw-r--r--scene/3d/collision_polygon_3d.h2
-rw-r--r--scene/3d/collision_shape_3d.cpp6
-rw-r--r--scene/3d/collision_shape_3d.h2
-rw-r--r--scene/3d/gpu_particles_3d.h2
-rw-r--r--scene/3d/importer_mesh_instance_3d.cpp2
-rw-r--r--scene/3d/importer_mesh_instance_3d.h2
-rw-r--r--scene/3d/mesh_instance_3d.cpp4
-rw-r--r--scene/3d/node_3d.h2
-rw-r--r--scene/3d/occluder_instance_3d.cpp2
-rw-r--r--scene/3d/shape_cast_3d.cpp2
-rw-r--r--scene/3d/shape_cast_3d.h2
-rw-r--r--scene/3d/skeleton_3d.h2
-rw-r--r--scene/3d/spring_arm_3d.cpp2
-rw-r--r--scene/main/scene_tree.cpp2
-rw-r--r--scene/register_scene_types.cpp30
-rw-r--r--scene/resources/3d/SCsub6
-rw-r--r--scene/resources/3d/box_shape_3d.cpp (renamed from scene/resources/box_shape_3d.cpp)0
-rw-r--r--scene/resources/3d/box_shape_3d.h (renamed from scene/resources/box_shape_3d.h)2
-rw-r--r--scene/resources/3d/capsule_shape_3d.cpp (renamed from scene/resources/capsule_shape_3d.cpp)0
-rw-r--r--scene/resources/3d/capsule_shape_3d.h (renamed from scene/resources/capsule_shape_3d.h)2
-rw-r--r--scene/resources/3d/concave_polygon_shape_3d.cpp (renamed from scene/resources/concave_polygon_shape_3d.cpp)0
-rw-r--r--scene/resources/3d/concave_polygon_shape_3d.h (renamed from scene/resources/concave_polygon_shape_3d.h)2
-rw-r--r--scene/resources/3d/convex_polygon_shape_3d.cpp (renamed from scene/resources/convex_polygon_shape_3d.cpp)0
-rw-r--r--scene/resources/3d/convex_polygon_shape_3d.h (renamed from scene/resources/convex_polygon_shape_3d.h)2
-rw-r--r--scene/resources/3d/cylinder_shape_3d.cpp (renamed from scene/resources/cylinder_shape_3d.cpp)0
-rw-r--r--scene/resources/3d/cylinder_shape_3d.h (renamed from scene/resources/cylinder_shape_3d.h)2
-rw-r--r--scene/resources/3d/fog_material.cpp (renamed from scene/resources/fog_material.cpp)0
-rw-r--r--scene/resources/3d/fog_material.h (renamed from scene/resources/fog_material.h)0
-rw-r--r--scene/resources/3d/height_map_shape_3d.cpp (renamed from scene/resources/height_map_shape_3d.cpp)0
-rw-r--r--scene/resources/3d/height_map_shape_3d.h (renamed from scene/resources/height_map_shape_3d.h)2
-rw-r--r--scene/resources/3d/importer_mesh.cpp (renamed from scene/resources/importer_mesh.cpp)0
-rw-r--r--scene/resources/3d/importer_mesh.h (renamed from scene/resources/importer_mesh.h)4
-rw-r--r--scene/resources/3d/mesh_library.cpp (renamed from scene/resources/mesh_library.cpp)0
-rw-r--r--scene/resources/3d/mesh_library.h (renamed from scene/resources/mesh_library.h)0
-rw-r--r--scene/resources/3d/primitive_meshes.cpp (renamed from scene/resources/primitive_meshes.cpp)0
-rw-r--r--scene/resources/3d/primitive_meshes.h (renamed from scene/resources/primitive_meshes.h)0
-rw-r--r--scene/resources/3d/separation_ray_shape_3d.cpp (renamed from scene/resources/separation_ray_shape_3d.cpp)0
-rw-r--r--scene/resources/3d/separation_ray_shape_3d.h (renamed from scene/resources/separation_ray_shape_3d.h)2
-rw-r--r--scene/resources/3d/shape_3d.cpp (renamed from scene/resources/shape_3d.cpp)0
-rw-r--r--scene/resources/3d/shape_3d.h (renamed from scene/resources/shape_3d.h)0
-rw-r--r--scene/resources/3d/skin.cpp (renamed from scene/resources/skin.cpp)0
-rw-r--r--scene/resources/3d/skin.h (renamed from scene/resources/skin.h)0
-rw-r--r--scene/resources/3d/sky_material.cpp (renamed from scene/resources/sky_material.cpp)0
-rw-r--r--scene/resources/3d/sky_material.h (renamed from scene/resources/sky_material.h)0
-rw-r--r--scene/resources/3d/sphere_shape_3d.cpp (renamed from scene/resources/sphere_shape_3d.cpp)0
-rw-r--r--scene/resources/3d/sphere_shape_3d.h (renamed from scene/resources/sphere_shape_3d.h)2
-rw-r--r--scene/resources/3d/world_3d.cpp (renamed from scene/resources/world_3d.cpp)0
-rw-r--r--scene/resources/3d/world_3d.h (renamed from scene/resources/world_3d.h)0
-rw-r--r--scene/resources/3d/world_boundary_shape_3d.cpp (renamed from scene/resources/world_boundary_shape_3d.cpp)0
-rw-r--r--scene/resources/3d/world_boundary_shape_3d.h (renamed from scene/resources/world_boundary_shape_3d.h)2
-rw-r--r--scene/resources/SCsub1
-rw-r--r--scene/resources/mesh.cpp4
-rw-r--r--scene/resources/mesh.h1
-rw-r--r--scu_builders.py1
-rw-r--r--tests/scene/test_arraymesh.h2
-rw-r--r--tests/scene/test_navigation_region_3d.h2
-rw-r--r--tests/scene/test_primitives.h2
-rw-r--r--tests/servers/test_navigation_server_3d.h2
86 files changed, 122 insertions, 114 deletions
diff --git a/editor/import/3d/editor_import_collada.cpp b/editor/import/3d/editor_import_collada.cpp
index 49fec679bf..b7dabf027b 100644
--- a/editor/import/3d/editor_import_collada.cpp
+++ b/editor/import/3d/editor_import_collada.cpp
@@ -41,8 +41,8 @@
#include "scene/3d/path_3d.h"
#include "scene/3d/skeleton_3d.h"
#include "scene/animation/animation_player.h"
+#include "scene/resources/3d/importer_mesh.h"
#include "scene/resources/animation.h"
-#include "scene/resources/importer_mesh.h"
#include "scene/resources/packed_scene.h"
#include "scene/resources/surface_tool.h"
diff --git a/editor/import/3d/resource_importer_obj.cpp b/editor/import/3d/resource_importer_obj.cpp
index 4b340ea997..52d1b45ac2 100644
--- a/editor/import/3d/resource_importer_obj.cpp
+++ b/editor/import/3d/resource_importer_obj.cpp
@@ -35,7 +35,7 @@
#include "scene/3d/importer_mesh_instance_3d.h"
#include "scene/3d/mesh_instance_3d.h"
#include "scene/3d/node_3d.h"
-#include "scene/resources/importer_mesh.h"
+#include "scene/resources/3d/importer_mesh.h"
#include "scene/resources/mesh.h"
#include "scene/resources/surface_tool.h"
diff --git a/editor/import/3d/resource_importer_scene.cpp b/editor/import/3d/resource_importer_scene.cpp
index 7a51394bbc..3310d6f298 100644
--- a/editor/import/3d/resource_importer_scene.cpp
+++ b/editor/import/3d/resource_importer_scene.cpp
@@ -46,15 +46,15 @@
#include "scene/3d/physics_body_3d.h"
#include "scene/3d/vehicle_body_3d.h"
#include "scene/animation/animation_player.h"
+#include "scene/resources/3d/box_shape_3d.h"
+#include "scene/resources/3d/importer_mesh.h"
+#include "scene/resources/3d/separation_ray_shape_3d.h"
+#include "scene/resources/3d/sphere_shape_3d.h"
+#include "scene/resources/3d/world_boundary_shape_3d.h"
#include "scene/resources/animation.h"
-#include "scene/resources/box_shape_3d.h"
-#include "scene/resources/importer_mesh.h"
#include "scene/resources/packed_scene.h"
#include "scene/resources/resource_format_text.h"
-#include "scene/resources/separation_ray_shape_3d.h"
-#include "scene/resources/sphere_shape_3d.h"
#include "scene/resources/surface_tool.h"
-#include "scene/resources/world_boundary_shape_3d.h"
uint32_t EditorSceneFormatImporter::get_import_flags() const {
uint32_t ret;
diff --git a/editor/import/3d/resource_importer_scene.h b/editor/import/3d/resource_importer_scene.h
index f82a5aa9e9..dbf7794b61 100644
--- a/editor/import/3d/resource_importer_scene.h
+++ b/editor/import/3d/resource_importer_scene.h
@@ -35,14 +35,14 @@
#include "core/io/resource_importer.h"
#include "core/variant/dictionary.h"
#include "scene/3d/importer_mesh_instance_3d.h"
+#include "scene/resources/3d/box_shape_3d.h"
+#include "scene/resources/3d/capsule_shape_3d.h"
+#include "scene/resources/3d/cylinder_shape_3d.h"
+#include "scene/resources/3d/importer_mesh.h"
+#include "scene/resources/3d/skin.h"
+#include "scene/resources/3d/sphere_shape_3d.h"
#include "scene/resources/animation.h"
-#include "scene/resources/box_shape_3d.h"
-#include "scene/resources/capsule_shape_3d.h"
-#include "scene/resources/cylinder_shape_3d.h"
-#include "scene/resources/importer_mesh.h"
#include "scene/resources/mesh.h"
-#include "scene/resources/shape_3d.h"
-#include "scene/resources/sphere_shape_3d.h"
class Material;
class AnimationPlayer;
diff --git a/editor/import/3d/scene_import_settings.cpp b/editor/import/3d/scene_import_settings.cpp
index 53d7e63dbb..aeff01fc85 100644
--- a/editor/import/3d/scene_import_settings.cpp
+++ b/editor/import/3d/scene_import_settings.cpp
@@ -40,7 +40,7 @@
#include "editor/themes/editor_scale.h"
#include "scene/3d/importer_mesh_instance_3d.h"
#include "scene/animation/animation_player.h"
-#include "scene/resources/importer_mesh.h"
+#include "scene/resources/3d/importer_mesh.h"
#include "scene/resources/surface_tool.h"
class SceneImportSettingsData : public Object {
diff --git a/editor/import/3d/scene_import_settings.h b/editor/import/3d/scene_import_settings.h
index c6c416daba..05682551b7 100644
--- a/editor/import/3d/scene_import_settings.h
+++ b/editor/import/3d/scene_import_settings.h
@@ -46,7 +46,7 @@
#include "scene/gui/subviewport_container.h"
#include "scene/gui/tab_container.h"
#include "scene/gui/tree.h"
-#include "scene/resources/primitive_meshes.h"
+#include "scene/resources/3d/primitive_meshes.h"
class EditorFileDialog;
class EditorInspector;
diff --git a/editor/plugins/gizmos/collision_shape_3d_gizmo_plugin.cpp b/editor/plugins/gizmos/collision_shape_3d_gizmo_plugin.cpp
index 2695253b78..3cf9164460 100644
--- a/editor/plugins/gizmos/collision_shape_3d_gizmo_plugin.cpp
+++ b/editor/plugins/gizmos/collision_shape_3d_gizmo_plugin.cpp
@@ -37,15 +37,15 @@
#include "editor/plugins/gizmos/gizmo_3d_helper.h"
#include "editor/plugins/node_3d_editor_plugin.h"
#include "scene/3d/collision_shape_3d.h"
-#include "scene/resources/box_shape_3d.h"
-#include "scene/resources/capsule_shape_3d.h"
-#include "scene/resources/concave_polygon_shape_3d.h"
-#include "scene/resources/convex_polygon_shape_3d.h"
-#include "scene/resources/cylinder_shape_3d.h"
-#include "scene/resources/height_map_shape_3d.h"
-#include "scene/resources/separation_ray_shape_3d.h"
-#include "scene/resources/sphere_shape_3d.h"
-#include "scene/resources/world_boundary_shape_3d.h"
+#include "scene/resources/3d/box_shape_3d.h"
+#include "scene/resources/3d/capsule_shape_3d.h"
+#include "scene/resources/3d/concave_polygon_shape_3d.h"
+#include "scene/resources/3d/convex_polygon_shape_3d.h"
+#include "scene/resources/3d/cylinder_shape_3d.h"
+#include "scene/resources/3d/height_map_shape_3d.h"
+#include "scene/resources/3d/separation_ray_shape_3d.h"
+#include "scene/resources/3d/sphere_shape_3d.h"
+#include "scene/resources/3d/world_boundary_shape_3d.h"
CollisionShape3DGizmoPlugin::CollisionShape3DGizmoPlugin() {
helper.instantiate();
diff --git a/editor/plugins/gizmos/spring_arm_3d_gizmo_plugin.cpp b/editor/plugins/gizmos/spring_arm_3d_gizmo_plugin.cpp
index cf022fc30f..69acac5a89 100644
--- a/editor/plugins/gizmos/spring_arm_3d_gizmo_plugin.cpp
+++ b/editor/plugins/gizmos/spring_arm_3d_gizmo_plugin.cpp
@@ -33,7 +33,7 @@
#include "editor/editor_settings.h"
#include "editor/plugins/node_3d_editor_plugin.h"
#include "scene/3d/spring_arm_3d.h"
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
void SpringArm3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
SpringArm3D *spring_arm = Object::cast_to<SpringArm3D>(p_gizmo->get_node_3d());
diff --git a/editor/plugins/material_editor_plugin.cpp b/editor/plugins/material_editor_plugin.cpp
index b7c4479505..ba64c85b37 100644
--- a/editor/plugins/material_editor_plugin.cpp
+++ b/editor/plugins/material_editor_plugin.cpp
@@ -43,9 +43,9 @@
#include "scene/gui/color_rect.h"
#include "scene/gui/subviewport_container.h"
#include "scene/main/viewport.h"
-#include "scene/resources/fog_material.h"
+#include "scene/resources/3d/fog_material.h"
+#include "scene/resources/3d/sky_material.h"
#include "scene/resources/particle_process_material.h"
-#include "scene/resources/sky_material.h"
void MaterialEditor::gui_input(const Ref<InputEvent> &p_event) {
ERR_FAIL_COND(p_event.is_null());
diff --git a/editor/plugins/material_editor_plugin.h b/editor/plugins/material_editor_plugin.h
index 5530592a81..5d79d94aaf 100644
--- a/editor/plugins/material_editor_plugin.h
+++ b/editor/plugins/material_editor_plugin.h
@@ -34,8 +34,8 @@
#include "editor/editor_inspector.h"
#include "editor/editor_plugin.h"
#include "editor/plugins/editor_resource_conversion_plugin.h"
+#include "scene/resources/3d/primitive_meshes.h"
#include "scene/resources/material.h"
-#include "scene/resources/primitive_meshes.h"
class Camera3D;
class ColorRect;
diff --git a/editor/plugins/mesh_instance_3d_editor_plugin.cpp b/editor/plugins/mesh_instance_3d_editor_plugin.cpp
index 9669f992a8..061b839ee3 100644
--- a/editor/plugins/mesh_instance_3d_editor_plugin.cpp
+++ b/editor/plugins/mesh_instance_3d_editor_plugin.cpp
@@ -42,9 +42,9 @@
#include "scene/gui/dialogs.h"
#include "scene/gui/menu_button.h"
#include "scene/gui/spin_box.h"
-#include "scene/resources/concave_polygon_shape_3d.h"
-#include "scene/resources/convex_polygon_shape_3d.h"
-#include "scene/resources/primitive_meshes.h"
+#include "scene/resources/3d/concave_polygon_shape_3d.h"
+#include "scene/resources/3d/convex_polygon_shape_3d.h"
+#include "scene/resources/3d/primitive_meshes.h"
#include "scene/scene_string_names.h"
void MeshInstance3DEditor::_node_removed(Node *p_node) {
diff --git a/editor/plugins/mesh_library_editor_plugin.h b/editor/plugins/mesh_library_editor_plugin.h
index 7bdc70a00b..3895d10c37 100644
--- a/editor/plugins/mesh_library_editor_plugin.h
+++ b/editor/plugins/mesh_library_editor_plugin.h
@@ -32,7 +32,7 @@
#define MESH_LIBRARY_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
-#include "scene/resources/mesh_library.h"
+#include "scene/resources/3d/mesh_library.h"
class EditorFileDialog;
class ConfirmationDialog;
diff --git a/editor/plugins/node_3d_editor_gizmos.cpp b/editor/plugins/node_3d_editor_gizmos.cpp
index 77ed48a662..085e8cddbe 100644
--- a/editor/plugins/node_3d_editor_gizmos.cpp
+++ b/editor/plugins/node_3d_editor_gizmos.cpp
@@ -36,7 +36,7 @@
#include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/plugins/node_3d_editor_plugin.h"
-#include "scene/resources/primitive_meshes.h"
+#include "scene/resources/3d/primitive_meshes.h"
#define HANDLE_HALF_SIZE 9.5
diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp
index 64590653a4..4e462cfe34 100644
--- a/editor/plugins/node_3d_editor_plugin.cpp
+++ b/editor/plugins/node_3d_editor_plugin.cpp
@@ -90,8 +90,8 @@
#include "scene/gui/flow_container.h"
#include "scene/gui/split_container.h"
#include "scene/gui/subviewport_container.h"
+#include "scene/resources/3d/sky_material.h"
#include "scene/resources/packed_scene.h"
-#include "scene/resources/sky_material.h"
#include "scene/resources/surface_tool.h"
constexpr real_t DISTANCE_DEFAULT = 4;
diff --git a/editor/plugins/skeleton_3d_editor_plugin.cpp b/editor/plugins/skeleton_3d_editor_plugin.cpp
index 53fdde9e14..b6a6c8968e 100644
--- a/editor/plugins/skeleton_3d_editor_plugin.cpp
+++ b/editor/plugins/skeleton_3d_editor_plugin.cpp
@@ -46,9 +46,8 @@
#include "scene/3d/physics_body_3d.h"
#include "scene/gui/separator.h"
#include "scene/gui/texture_rect.h"
-#include "scene/resources/capsule_shape_3d.h"
+#include "scene/resources/3d/capsule_shape_3d.h"
#include "scene/resources/skeleton_profile.h"
-#include "scene/resources/sphere_shape_3d.h"
#include "scene/resources/surface_tool.h"
#include "scene/scene_string_names.h"
diff --git a/modules/csg/csg_shape.h b/modules/csg/csg_shape.h
index 6ac71b6946..bb7c8be431 100644
--- a/modules/csg/csg_shape.h
+++ b/modules/csg/csg_shape.h
@@ -35,7 +35,7 @@
#include "scene/3d/path_3d.h"
#include "scene/3d/visual_instance_3d.h"
-#include "scene/resources/concave_polygon_shape_3d.h"
+#include "scene/resources/3d/concave_polygon_shape_3d.h"
#include "thirdparty/misc/mikktspace.h"
diff --git a/modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.cpp b/modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.cpp
index 2af716b867..1e64a6daa4 100644
--- a/modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.cpp
+++ b/modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.cpp
@@ -32,7 +32,7 @@
#include "scene/3d/importer_mesh_instance_3d.h"
#include "scene/3d/mesh_instance_3d.h"
-#include "scene/resources/importer_mesh.h"
+#include "scene/resources/3d/importer_mesh.h"
void GLTFDocumentExtensionConvertImporterMesh::_bind_methods() {
}
diff --git a/modules/gltf/extensions/physics/gltf_physics_shape.cpp b/modules/gltf/extensions/physics/gltf_physics_shape.cpp
index af4ac10313..467499a03f 100644
--- a/modules/gltf/extensions/physics/gltf_physics_shape.cpp
+++ b/modules/gltf/extensions/physics/gltf_physics_shape.cpp
@@ -34,13 +34,13 @@
#include "core/math/convex_hull.h"
#include "scene/3d/area_3d.h"
-#include "scene/resources/box_shape_3d.h"
-#include "scene/resources/capsule_shape_3d.h"
-#include "scene/resources/concave_polygon_shape_3d.h"
-#include "scene/resources/convex_polygon_shape_3d.h"
-#include "scene/resources/cylinder_shape_3d.h"
-#include "scene/resources/importer_mesh.h"
-#include "scene/resources/sphere_shape_3d.h"
+#include "scene/resources/3d/box_shape_3d.h"
+#include "scene/resources/3d/capsule_shape_3d.h"
+#include "scene/resources/3d/concave_polygon_shape_3d.h"
+#include "scene/resources/3d/convex_polygon_shape_3d.h"
+#include "scene/resources/3d/cylinder_shape_3d.h"
+#include "scene/resources/3d/importer_mesh.h"
+#include "scene/resources/3d/sphere_shape_3d.h"
void GLTFPhysicsShape::_bind_methods() {
ClassDB::bind_static_method("GLTFPhysicsShape", D_METHOD("from_node", "shape_node"), &GLTFPhysicsShape::from_node);
diff --git a/modules/gltf/gltf_document.cpp b/modules/gltf/gltf_document.cpp
index 7949d64920..740c9a2aa7 100644
--- a/modules/gltf/gltf_document.cpp
+++ b/modules/gltf/gltf_document.cpp
@@ -50,9 +50,9 @@
#include "scene/3d/light_3d.h"
#include "scene/3d/mesh_instance_3d.h"
#include "scene/3d/multimesh_instance_3d.h"
+#include "scene/resources/3d/skin.h"
#include "scene/resources/image_texture.h"
#include "scene/resources/portable_compressed_texture.h"
-#include "scene/resources/skin.h"
#include "scene/resources/surface_tool.h"
#ifdef TOOLS_ENABLED
diff --git a/modules/gltf/structures/gltf_mesh.cpp b/modules/gltf/structures/gltf_mesh.cpp
index d04d3fcd7f..9566cc2379 100644
--- a/modules/gltf/structures/gltf_mesh.cpp
+++ b/modules/gltf/structures/gltf_mesh.cpp
@@ -30,7 +30,7 @@
#include "gltf_mesh.h"
-#include "scene/resources/importer_mesh.h"
+#include "scene/resources/3d/importer_mesh.h"
void GLTFMesh::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_original_name"), &GLTFMesh::get_original_name);
diff --git a/modules/gltf/structures/gltf_mesh.h b/modules/gltf/structures/gltf_mesh.h
index c33e39df84..6983efeb2a 100644
--- a/modules/gltf/structures/gltf_mesh.h
+++ b/modules/gltf/structures/gltf_mesh.h
@@ -33,7 +33,7 @@
#include "../gltf_defines.h"
-#include "scene/resources/importer_mesh.h"
+#include "scene/resources/3d/importer_mesh.h"
class GLTFMesh : public Resource {
GDCLASS(GLTFMesh, Resource);
diff --git a/modules/gltf/structures/gltf_skin.cpp b/modules/gltf/structures/gltf_skin.cpp
index 8097c7b3d0..18aa90a628 100644
--- a/modules/gltf/structures/gltf_skin.cpp
+++ b/modules/gltf/structures/gltf_skin.cpp
@@ -33,7 +33,7 @@
#include "../gltf_template_convert.h"
#include "core/variant/typed_array.h"
-#include "scene/resources/skin.h"
+#include "scene/resources/3d/skin.h"
void GLTFSkin::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_skin_root"), &GLTFSkin::get_skin_root);
diff --git a/modules/gltf/structures/gltf_skin.h b/modules/gltf/structures/gltf_skin.h
index ce863da45d..4649a918e3 100644
--- a/modules/gltf/structures/gltf_skin.h
+++ b/modules/gltf/structures/gltf_skin.h
@@ -34,7 +34,7 @@
#include "../gltf_defines.h"
#include "core/io/resource.h"
-#include "scene/resources/skin.h"
+#include "scene/resources/3d/skin.h"
template <typename T>
class TypedArray;
diff --git a/modules/gridmap/grid_map.cpp b/modules/gridmap/grid_map.cpp
index e3475b3959..fb449a67f8 100644
--- a/modules/gridmap/grid_map.cpp
+++ b/modules/gridmap/grid_map.cpp
@@ -33,9 +33,9 @@
#include "core/core_string_names.h"
#include "core/io/marshalls.h"
#include "scene/3d/light_3d.h"
-#include "scene/resources/mesh_library.h"
+#include "scene/resources/3d/mesh_library.h"
+#include "scene/resources/3d/primitive_meshes.h"
#include "scene/resources/physics_material.h"
-#include "scene/resources/primitive_meshes.h"
#include "scene/resources/surface_tool.h"
#include "scene/scene_string_names.h"
#include "servers/navigation_server_3d.h"
diff --git a/modules/gridmap/grid_map.h b/modules/gridmap/grid_map.h
index 348ac5194c..7398a540de 100644
--- a/modules/gridmap/grid_map.h
+++ b/modules/gridmap/grid_map.h
@@ -32,7 +32,7 @@
#define GRID_MAP_H
#include "scene/3d/node_3d.h"
-#include "scene/resources/mesh_library.h"
+#include "scene/resources/3d/mesh_library.h"
#include "scene/resources/multimesh.h"
//heh heh, godotsphir!! this shares no code and the design is completely different with previous projects i've done..
diff --git a/modules/navigation/3d/nav_mesh_generator_3d.cpp b/modules/navigation/3d/nav_mesh_generator_3d.cpp
index 95854f29e7..4cd4f60edc 100644
--- a/modules/navigation/3d/nav_mesh_generator_3d.cpp
+++ b/modules/navigation/3d/nav_mesh_generator_3d.cpp
@@ -38,18 +38,18 @@
#include "scene/3d/mesh_instance_3d.h"
#include "scene/3d/multimesh_instance_3d.h"
#include "scene/3d/physics_body_3d.h"
-#include "scene/resources/box_shape_3d.h"
-#include "scene/resources/capsule_shape_3d.h"
-#include "scene/resources/concave_polygon_shape_3d.h"
-#include "scene/resources/convex_polygon_shape_3d.h"
-#include "scene/resources/cylinder_shape_3d.h"
-#include "scene/resources/height_map_shape_3d.h"
+#include "scene/resources/3d/box_shape_3d.h"
+#include "scene/resources/3d/capsule_shape_3d.h"
+#include "scene/resources/3d/concave_polygon_shape_3d.h"
+#include "scene/resources/3d/convex_polygon_shape_3d.h"
+#include "scene/resources/3d/cylinder_shape_3d.h"
+#include "scene/resources/3d/height_map_shape_3d.h"
+#include "scene/resources/3d/primitive_meshes.h"
+#include "scene/resources/3d/shape_3d.h"
+#include "scene/resources/3d/sphere_shape_3d.h"
+#include "scene/resources/3d/world_boundary_shape_3d.h"
#include "scene/resources/navigation_mesh.h"
#include "scene/resources/navigation_mesh_source_geometry_data_3d.h"
-#include "scene/resources/primitive_meshes.h"
-#include "scene/resources/shape_3d.h"
-#include "scene/resources/sphere_shape_3d.h"
-#include "scene/resources/world_boundary_shape_3d.h"
#include "modules/modules_enabled.gen.h" // For csg, gridmap.
diff --git a/scene/3d/collision_object_3d.cpp b/scene/3d/collision_object_3d.cpp
index 0cfe0f8cb7..bbd2ef2fb8 100644
--- a/scene/3d/collision_object_3d.cpp
+++ b/scene/3d/collision_object_3d.cpp
@@ -30,7 +30,7 @@
#include "collision_object_3d.h"
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
#include "scene/scene_string_names.h"
void CollisionObject3D::_notification(int p_what) {
diff --git a/scene/3d/collision_polygon_3d.cpp b/scene/3d/collision_polygon_3d.cpp
index 9c1a7181aa..abde05778d 100644
--- a/scene/3d/collision_polygon_3d.cpp
+++ b/scene/3d/collision_polygon_3d.cpp
@@ -32,7 +32,7 @@
#include "collision_object_3d.h"
#include "core/math/geometry_2d.h"
-#include "scene/resources/convex_polygon_shape_3d.h"
+#include "scene/resources/3d/convex_polygon_shape_3d.h"
void CollisionPolygon3D::_build_polygon() {
if (!collision_object) {
diff --git a/scene/3d/collision_polygon_3d.h b/scene/3d/collision_polygon_3d.h
index 61290a7947..fe4cf40ee3 100644
--- a/scene/3d/collision_polygon_3d.h
+++ b/scene/3d/collision_polygon_3d.h
@@ -32,7 +32,7 @@
#define COLLISION_POLYGON_3D_H
#include "scene/3d/node_3d.h"
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
class CollisionObject3D;
class CollisionPolygon3D : public Node3D {
diff --git a/scene/3d/collision_shape_3d.cpp b/scene/3d/collision_shape_3d.cpp
index 61941a0e53..08fc62ae4f 100644
--- a/scene/3d/collision_shape_3d.cpp
+++ b/scene/3d/collision_shape_3d.cpp
@@ -32,9 +32,9 @@
#include "mesh_instance_3d.h"
#include "physics_body_3d.h"
-#include "scene/resources/concave_polygon_shape_3d.h"
-#include "scene/resources/convex_polygon_shape_3d.h"
-#include "scene/resources/world_boundary_shape_3d.h"
+#include "scene/resources/3d/concave_polygon_shape_3d.h"
+#include "scene/resources/3d/convex_polygon_shape_3d.h"
+#include "scene/resources/3d/world_boundary_shape_3d.h"
#include "vehicle_body_3d.h"
void CollisionShape3D::make_convex_from_siblings() {
diff --git a/scene/3d/collision_shape_3d.h b/scene/3d/collision_shape_3d.h
index bc0e70f8ac..15f6ef73cb 100644
--- a/scene/3d/collision_shape_3d.h
+++ b/scene/3d/collision_shape_3d.h
@@ -32,7 +32,7 @@
#define COLLISION_SHAPE_3D_H
#include "scene/3d/node_3d.h"
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
class CollisionObject3D;
class CollisionShape3D : public Node3D {
diff --git a/scene/3d/gpu_particles_3d.h b/scene/3d/gpu_particles_3d.h
index 0c9f2c1378..b5aee6fe34 100644
--- a/scene/3d/gpu_particles_3d.h
+++ b/scene/3d/gpu_particles_3d.h
@@ -32,7 +32,7 @@
#define GPU_PARTICLES_3D_H
#include "scene/3d/visual_instance_3d.h"
-#include "scene/resources/skin.h"
+#include "scene/resources/3d/skin.h"
class GPUParticles3D : public GeometryInstance3D {
private:
diff --git a/scene/3d/importer_mesh_instance_3d.cpp b/scene/3d/importer_mesh_instance_3d.cpp
index 2216b3818d..ad44c9e56a 100644
--- a/scene/3d/importer_mesh_instance_3d.cpp
+++ b/scene/3d/importer_mesh_instance_3d.cpp
@@ -30,7 +30,7 @@
#include "importer_mesh_instance_3d.h"
-#include "scene/resources/importer_mesh.h"
+#include "scene/resources/3d/importer_mesh.h"
void ImporterMeshInstance3D::set_mesh(const Ref<ImporterMesh> &p_mesh) {
mesh = p_mesh;
diff --git a/scene/3d/importer_mesh_instance_3d.h b/scene/3d/importer_mesh_instance_3d.h
index d48721383f..fbd95d4b68 100644
--- a/scene/3d/importer_mesh_instance_3d.h
+++ b/scene/3d/importer_mesh_instance_3d.h
@@ -33,8 +33,8 @@
#include "scene/3d/node_3d.h"
#include "scene/3d/visual_instance_3d.h"
+#include "scene/resources/3d/skin.h"
#include "scene/resources/immediate_mesh.h"
-#include "scene/resources/skin.h"
class ImporterMesh;
diff --git a/scene/3d/mesh_instance_3d.cpp b/scene/3d/mesh_instance_3d.cpp
index 35baf81e89..eeb41573f7 100644
--- a/scene/3d/mesh_instance_3d.cpp
+++ b/scene/3d/mesh_instance_3d.cpp
@@ -32,8 +32,8 @@
#include "collision_shape_3d.h"
#include "physics_body_3d.h"
-#include "scene/resources/concave_polygon_shape_3d.h"
-#include "scene/resources/convex_polygon_shape_3d.h"
+#include "scene/resources/3d/concave_polygon_shape_3d.h"
+#include "scene/resources/3d/convex_polygon_shape_3d.h"
bool MeshInstance3D::_set(const StringName &p_name, const Variant &p_value) {
//this is not _too_ bad performance wise, really. it only arrives here if the property was not set anywhere else.
diff --git a/scene/3d/node_3d.h b/scene/3d/node_3d.h
index 20030210c6..7f8c3e6e68 100644
--- a/scene/3d/node_3d.h
+++ b/scene/3d/node_3d.h
@@ -32,7 +32,7 @@
#define NODE_3D_H
#include "scene/main/node.h"
-#include "scene/resources/world_3d.h"
+#include "scene/resources/3d/world_3d.h"
class Node3DGizmo : public RefCounted {
GDCLASS(Node3DGizmo, RefCounted);
diff --git a/scene/3d/occluder_instance_3d.cpp b/scene/3d/occluder_instance_3d.cpp
index a76488e479..8d995a8785 100644
--- a/scene/3d/occluder_instance_3d.cpp
+++ b/scene/3d/occluder_instance_3d.cpp
@@ -36,7 +36,7 @@
#include "core/math/triangulate.h"
#include "scene/3d/importer_mesh_instance_3d.h"
#include "scene/3d/mesh_instance_3d.h"
-#include "scene/resources/importer_mesh.h"
+#include "scene/resources/3d/importer_mesh.h"
#include "scene/resources/surface_tool.h"
#ifdef TOOLS_ENABLED
diff --git a/scene/3d/shape_cast_3d.cpp b/scene/3d/shape_cast_3d.cpp
index 4d9eeada06..2da5f52928 100644
--- a/scene/3d/shape_cast_3d.cpp
+++ b/scene/3d/shape_cast_3d.cpp
@@ -32,7 +32,7 @@
#include "scene/3d/collision_object_3d.h"
#include "scene/3d/mesh_instance_3d.h"
-#include "scene/resources/concave_polygon_shape_3d.h"
+#include "scene/resources/3d/concave_polygon_shape_3d.h"
void ShapeCast3D::_notification(int p_what) {
switch (p_what) {
diff --git a/scene/3d/shape_cast_3d.h b/scene/3d/shape_cast_3d.h
index 043e35090f..9052db9046 100644
--- a/scene/3d/shape_cast_3d.h
+++ b/scene/3d/shape_cast_3d.h
@@ -32,7 +32,7 @@
#define SHAPE_CAST_3D_H
#include "scene/3d/node_3d.h"
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
class CollisionObject3D;
diff --git a/scene/3d/skeleton_3d.h b/scene/3d/skeleton_3d.h
index 458bbfb979..979e2e52b7 100644
--- a/scene/3d/skeleton_3d.h
+++ b/scene/3d/skeleton_3d.h
@@ -32,7 +32,7 @@
#define SKELETON_3D_H
#include "scene/3d/node_3d.h"
-#include "scene/resources/skin.h"
+#include "scene/resources/3d/skin.h"
typedef int BoneId;
diff --git a/scene/3d/spring_arm_3d.cpp b/scene/3d/spring_arm_3d.cpp
index 9151fa9593..8d2f10310c 100644
--- a/scene/3d/spring_arm_3d.cpp
+++ b/scene/3d/spring_arm_3d.cpp
@@ -31,7 +31,7 @@
#include "spring_arm_3d.h"
#include "scene/3d/camera_3d.h"
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
void SpringArm3D::_notification(int p_what) {
switch (p_what) {
diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp
index a29311af43..8d0bad6942 100644
--- a/scene/main/scene_tree.cpp
+++ b/scene/main/scene_tree.cpp
@@ -55,12 +55,12 @@
#include "scene/resources/mesh.h"
#include "scene/resources/packed_scene.h"
#include "scene/resources/world_2d.h"
-#include "scene/resources/world_3d.h"
#include "scene/scene_string_names.h"
#include "servers/display_server.h"
#include "servers/navigation_server_3d.h"
#include "servers/physics_server_2d.h"
#ifndef _3D_DISABLED
+#include "scene/resources/3d/world_3d.h"
#include "servers/physics_server_3d.h"
#endif // _3D_DISABLED
#include "window.h"
diff --git a/scene/register_scene_types.cpp b/scene/register_scene_types.cpp
index 77a331f52c..b156cd0422 100644
--- a/scene/register_scene_types.cpp
+++ b/scene/register_scene_types.cpp
@@ -194,7 +194,6 @@
#include "scene/resources/shader_include.h"
#include "scene/resources/skeleton_profile.h"
#include "scene/resources/sky.h"
-#include "scene/resources/sky_material.h"
#include "scene/resources/style_box.h"
#include "scene/resources/style_box_flat.h"
#include "scene/resources/style_box_line.h"
@@ -265,20 +264,21 @@
#include "scene/3d/xr_hand_modifier_3d.h"
#include "scene/3d/xr_nodes.h"
#include "scene/animation/root_motion_view.h"
-#include "scene/resources/box_shape_3d.h"
-#include "scene/resources/capsule_shape_3d.h"
-#include "scene/resources/concave_polygon_shape_3d.h"
-#include "scene/resources/convex_polygon_shape_3d.h"
-#include "scene/resources/cylinder_shape_3d.h"
-#include "scene/resources/fog_material.h"
-#include "scene/resources/height_map_shape_3d.h"
-#include "scene/resources/importer_mesh.h"
-#include "scene/resources/mesh_library.h"
-#include "scene/resources/primitive_meshes.h"
-#include "scene/resources/separation_ray_shape_3d.h"
-#include "scene/resources/sphere_shape_3d.h"
-#include "scene/resources/world_3d.h"
-#include "scene/resources/world_boundary_shape_3d.h"
+#include "scene/resources/3d/box_shape_3d.h"
+#include "scene/resources/3d/capsule_shape_3d.h"
+#include "scene/resources/3d/concave_polygon_shape_3d.h"
+#include "scene/resources/3d/convex_polygon_shape_3d.h"
+#include "scene/resources/3d/cylinder_shape_3d.h"
+#include "scene/resources/3d/fog_material.h"
+#include "scene/resources/3d/height_map_shape_3d.h"
+#include "scene/resources/3d/importer_mesh.h"
+#include "scene/resources/3d/mesh_library.h"
+#include "scene/resources/3d/primitive_meshes.h"
+#include "scene/resources/3d/separation_ray_shape_3d.h"
+#include "scene/resources/3d/sky_material.h"
+#include "scene/resources/3d/sphere_shape_3d.h"
+#include "scene/resources/3d/world_3d.h"
+#include "scene/resources/3d/world_boundary_shape_3d.h"
#endif // _3D_DISABLED
static Ref<ResourceFormatSaverText> resource_saver_text;
diff --git a/scene/resources/3d/SCsub b/scene/resources/3d/SCsub
new file mode 100644
index 0000000000..fdf20e0bde
--- /dev/null
+++ b/scene/resources/3d/SCsub
@@ -0,0 +1,6 @@
+#!/usr/bin/env python
+
+Import("env")
+
+env.add_source_files(env.scene_sources, "*.cpp")
+env.add_source_files(env.scene_sources, "skeleton/*.cpp")
diff --git a/scene/resources/box_shape_3d.cpp b/scene/resources/3d/box_shape_3d.cpp
index 313aeb1bca..313aeb1bca 100644
--- a/scene/resources/box_shape_3d.cpp
+++ b/scene/resources/3d/box_shape_3d.cpp
diff --git a/scene/resources/box_shape_3d.h b/scene/resources/3d/box_shape_3d.h
index 8903a049e1..45c1cde5d7 100644
--- a/scene/resources/box_shape_3d.h
+++ b/scene/resources/3d/box_shape_3d.h
@@ -31,7 +31,7 @@
#ifndef BOX_SHAPE_3D_H
#define BOX_SHAPE_3D_H
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
class BoxShape3D : public Shape3D {
GDCLASS(BoxShape3D, Shape3D);
diff --git a/scene/resources/capsule_shape_3d.cpp b/scene/resources/3d/capsule_shape_3d.cpp
index 9e16801060..9e16801060 100644
--- a/scene/resources/capsule_shape_3d.cpp
+++ b/scene/resources/3d/capsule_shape_3d.cpp
diff --git a/scene/resources/capsule_shape_3d.h b/scene/resources/3d/capsule_shape_3d.h
index 48e5851c18..90ee3b584a 100644
--- a/scene/resources/capsule_shape_3d.h
+++ b/scene/resources/3d/capsule_shape_3d.h
@@ -31,7 +31,7 @@
#ifndef CAPSULE_SHAPE_3D_H
#define CAPSULE_SHAPE_3D_H
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
class CapsuleShape3D : public Shape3D {
GDCLASS(CapsuleShape3D, Shape3D);
diff --git a/scene/resources/concave_polygon_shape_3d.cpp b/scene/resources/3d/concave_polygon_shape_3d.cpp
index 82b125905f..82b125905f 100644
--- a/scene/resources/concave_polygon_shape_3d.cpp
+++ b/scene/resources/3d/concave_polygon_shape_3d.cpp
diff --git a/scene/resources/concave_polygon_shape_3d.h b/scene/resources/3d/concave_polygon_shape_3d.h
index 89ff742cb1..a5e46474d5 100644
--- a/scene/resources/concave_polygon_shape_3d.h
+++ b/scene/resources/3d/concave_polygon_shape_3d.h
@@ -31,7 +31,7 @@
#ifndef CONCAVE_POLYGON_SHAPE_3D_H
#define CONCAVE_POLYGON_SHAPE_3D_H
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
class ConcavePolygonShape3D : public Shape3D {
GDCLASS(ConcavePolygonShape3D, Shape3D);
diff --git a/scene/resources/convex_polygon_shape_3d.cpp b/scene/resources/3d/convex_polygon_shape_3d.cpp
index 3bfeeca461..3bfeeca461 100644
--- a/scene/resources/convex_polygon_shape_3d.cpp
+++ b/scene/resources/3d/convex_polygon_shape_3d.cpp
diff --git a/scene/resources/convex_polygon_shape_3d.h b/scene/resources/3d/convex_polygon_shape_3d.h
index deb3d30f9b..7d1ac123c6 100644
--- a/scene/resources/convex_polygon_shape_3d.h
+++ b/scene/resources/3d/convex_polygon_shape_3d.h
@@ -31,7 +31,7 @@
#ifndef CONVEX_POLYGON_SHAPE_3D_H
#define CONVEX_POLYGON_SHAPE_3D_H
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
class ConvexPolygonShape3D : public Shape3D {
GDCLASS(ConvexPolygonShape3D, Shape3D);
diff --git a/scene/resources/cylinder_shape_3d.cpp b/scene/resources/3d/cylinder_shape_3d.cpp
index a91282fd33..a91282fd33 100644
--- a/scene/resources/cylinder_shape_3d.cpp
+++ b/scene/resources/3d/cylinder_shape_3d.cpp
diff --git a/scene/resources/cylinder_shape_3d.h b/scene/resources/3d/cylinder_shape_3d.h
index ea4b3bb96c..bd57bc2a97 100644
--- a/scene/resources/cylinder_shape_3d.h
+++ b/scene/resources/3d/cylinder_shape_3d.h
@@ -31,7 +31,7 @@
#ifndef CYLINDER_SHAPE_3D_H
#define CYLINDER_SHAPE_3D_H
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
class CylinderShape3D : public Shape3D {
GDCLASS(CylinderShape3D, Shape3D);
diff --git a/scene/resources/fog_material.cpp b/scene/resources/3d/fog_material.cpp
index 5e4f1970ee..5e4f1970ee 100644
--- a/scene/resources/fog_material.cpp
+++ b/scene/resources/3d/fog_material.cpp
diff --git a/scene/resources/fog_material.h b/scene/resources/3d/fog_material.h
index 7557fd5114..7557fd5114 100644
--- a/scene/resources/fog_material.h
+++ b/scene/resources/3d/fog_material.h
diff --git a/scene/resources/height_map_shape_3d.cpp b/scene/resources/3d/height_map_shape_3d.cpp
index 35c905bd43..35c905bd43 100644
--- a/scene/resources/height_map_shape_3d.cpp
+++ b/scene/resources/3d/height_map_shape_3d.cpp
diff --git a/scene/resources/height_map_shape_3d.h b/scene/resources/3d/height_map_shape_3d.h
index eff025c816..363d9ec0e9 100644
--- a/scene/resources/height_map_shape_3d.h
+++ b/scene/resources/3d/height_map_shape_3d.h
@@ -31,7 +31,7 @@
#ifndef HEIGHT_MAP_SHAPE_3D_H
#define HEIGHT_MAP_SHAPE_3D_H
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
class HeightMapShape3D : public Shape3D {
GDCLASS(HeightMapShape3D, Shape3D);
diff --git a/scene/resources/importer_mesh.cpp b/scene/resources/3d/importer_mesh.cpp
index 952e99608d..952e99608d 100644
--- a/scene/resources/importer_mesh.cpp
+++ b/scene/resources/3d/importer_mesh.cpp
diff --git a/scene/resources/importer_mesh.h b/scene/resources/3d/importer_mesh.h
index 7a19aabd29..ff8683449b 100644
--- a/scene/resources/importer_mesh.h
+++ b/scene/resources/3d/importer_mesh.h
@@ -33,8 +33,8 @@
#include "core/io/resource.h"
#include "core/templates/local_vector.h"
-#include "scene/resources/concave_polygon_shape_3d.h"
-#include "scene/resources/convex_polygon_shape_3d.h"
+#include "scene/resources/3d/concave_polygon_shape_3d.h"
+#include "scene/resources/3d/convex_polygon_shape_3d.h"
#include "scene/resources/mesh.h"
#include "scene/resources/navigation_mesh.h"
diff --git a/scene/resources/mesh_library.cpp b/scene/resources/3d/mesh_library.cpp
index c2f721a80f..c2f721a80f 100644
--- a/scene/resources/mesh_library.cpp
+++ b/scene/resources/3d/mesh_library.cpp
diff --git a/scene/resources/mesh_library.h b/scene/resources/3d/mesh_library.h
index f1a1e3e273..f1a1e3e273 100644
--- a/scene/resources/mesh_library.h
+++ b/scene/resources/3d/mesh_library.h
diff --git a/scene/resources/primitive_meshes.cpp b/scene/resources/3d/primitive_meshes.cpp
index b8b4854109..b8b4854109 100644
--- a/scene/resources/primitive_meshes.cpp
+++ b/scene/resources/3d/primitive_meshes.cpp
diff --git a/scene/resources/primitive_meshes.h b/scene/resources/3d/primitive_meshes.h
index 5b788b726e..5b788b726e 100644
--- a/scene/resources/primitive_meshes.h
+++ b/scene/resources/3d/primitive_meshes.h
diff --git a/scene/resources/separation_ray_shape_3d.cpp b/scene/resources/3d/separation_ray_shape_3d.cpp
index 07e93b8b79..07e93b8b79 100644
--- a/scene/resources/separation_ray_shape_3d.cpp
+++ b/scene/resources/3d/separation_ray_shape_3d.cpp
diff --git a/scene/resources/separation_ray_shape_3d.h b/scene/resources/3d/separation_ray_shape_3d.h
index bf42aba77f..f24f0eae9e 100644
--- a/scene/resources/separation_ray_shape_3d.h
+++ b/scene/resources/3d/separation_ray_shape_3d.h
@@ -31,7 +31,7 @@
#ifndef SEPARATION_RAY_SHAPE_3D_H
#define SEPARATION_RAY_SHAPE_3D_H
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
class SeparationRayShape3D : public Shape3D {
GDCLASS(SeparationRayShape3D, Shape3D);
diff --git a/scene/resources/shape_3d.cpp b/scene/resources/3d/shape_3d.cpp
index 5a79392ba5..5a79392ba5 100644
--- a/scene/resources/shape_3d.cpp
+++ b/scene/resources/3d/shape_3d.cpp
diff --git a/scene/resources/shape_3d.h b/scene/resources/3d/shape_3d.h
index 5e6cdbe421..5e6cdbe421 100644
--- a/scene/resources/shape_3d.h
+++ b/scene/resources/3d/shape_3d.h
diff --git a/scene/resources/skin.cpp b/scene/resources/3d/skin.cpp
index a4fb371ece..a4fb371ece 100644
--- a/scene/resources/skin.cpp
+++ b/scene/resources/3d/skin.cpp
diff --git a/scene/resources/skin.h b/scene/resources/3d/skin.h
index 5df820660c..5df820660c 100644
--- a/scene/resources/skin.h
+++ b/scene/resources/3d/skin.h
diff --git a/scene/resources/sky_material.cpp b/scene/resources/3d/sky_material.cpp
index 640261d615..640261d615 100644
--- a/scene/resources/sky_material.cpp
+++ b/scene/resources/3d/sky_material.cpp
diff --git a/scene/resources/sky_material.h b/scene/resources/3d/sky_material.h
index 4ffb18c6b4..4ffb18c6b4 100644
--- a/scene/resources/sky_material.h
+++ b/scene/resources/3d/sky_material.h
diff --git a/scene/resources/sphere_shape_3d.cpp b/scene/resources/3d/sphere_shape_3d.cpp
index 56b78471ec..56b78471ec 100644
--- a/scene/resources/sphere_shape_3d.cpp
+++ b/scene/resources/3d/sphere_shape_3d.cpp
diff --git a/scene/resources/sphere_shape_3d.h b/scene/resources/3d/sphere_shape_3d.h
index e98eff12e2..8e95cea608 100644
--- a/scene/resources/sphere_shape_3d.h
+++ b/scene/resources/3d/sphere_shape_3d.h
@@ -31,7 +31,7 @@
#ifndef SPHERE_SHAPE_3D_H
#define SPHERE_SHAPE_3D_H
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
class SphereShape3D : public Shape3D {
GDCLASS(SphereShape3D, Shape3D);
diff --git a/scene/resources/world_3d.cpp b/scene/resources/3d/world_3d.cpp
index bf91b1eb33..bf91b1eb33 100644
--- a/scene/resources/world_3d.cpp
+++ b/scene/resources/3d/world_3d.cpp
diff --git a/scene/resources/world_3d.h b/scene/resources/3d/world_3d.h
index 06b06aea98..06b06aea98 100644
--- a/scene/resources/world_3d.h
+++ b/scene/resources/3d/world_3d.h
diff --git a/scene/resources/world_boundary_shape_3d.cpp b/scene/resources/3d/world_boundary_shape_3d.cpp
index beaaddc95e..beaaddc95e 100644
--- a/scene/resources/world_boundary_shape_3d.cpp
+++ b/scene/resources/3d/world_boundary_shape_3d.cpp
diff --git a/scene/resources/world_boundary_shape_3d.h b/scene/resources/3d/world_boundary_shape_3d.h
index 1f4cc67475..06cff6aa9a 100644
--- a/scene/resources/world_boundary_shape_3d.h
+++ b/scene/resources/3d/world_boundary_shape_3d.h
@@ -31,7 +31,7 @@
#ifndef WORLD_BOUNDARY_SHAPE_3D_H
#define WORLD_BOUNDARY_SHAPE_3D_H
-#include "scene/resources/shape_3d.h"
+#include "scene/resources/3d/shape_3d.h"
class WorldBoundaryShape3D : public Shape3D {
GDCLASS(WorldBoundaryShape3D, Shape3D);
diff --git a/scene/resources/SCsub b/scene/resources/SCsub
index 060b47d687..ceff213a02 100644
--- a/scene/resources/SCsub
+++ b/scene/resources/SCsub
@@ -24,3 +24,4 @@ env.scene_sources += scene_obj
env.Depends(scene_obj, thirdparty_obj)
SConscript("2d/SCsub")
+SConscript("3d/SCsub")
diff --git a/scene/resources/mesh.cpp b/scene/resources/mesh.cpp
index dcad58e6e2..a4e634af36 100644
--- a/scene/resources/mesh.cpp
+++ b/scene/resources/mesh.cpp
@@ -34,8 +34,8 @@
#include "core/templates/pair.h"
#include "scene/resources/surface_tool.h"
-#include "scene/resources/concave_polygon_shape_3d.h"
-#include "scene/resources/convex_polygon_shape_3d.h"
+#include "scene/resources/3d/concave_polygon_shape_3d.h"
+#include "scene/resources/3d/convex_polygon_shape_3d.h"
void MeshConvexDecompositionSettings::set_max_concavity(real_t p_max_concavity) {
max_concavity = CLAMP(p_max_concavity, 0.001, 1.0);
diff --git a/scene/resources/mesh.h b/scene/resources/mesh.h
index 5233d75009..5c0e4e60aa 100644
--- a/scene/resources/mesh.h
+++ b/scene/resources/mesh.h
@@ -34,6 +34,7 @@
#include "core/io/resource.h"
#include "core/math/face3.h"
#include "core/math/triangle_mesh.h"
+#include "scene/resources/3d/shape_3d.h"
#include "scene/resources/material.h"
#include "servers/rendering_server.h"
diff --git a/scu_builders.py b/scu_builders.py
index 740b4ca571..1a75f19b30 100644
--- a/scu_builders.py
+++ b/scu_builders.py
@@ -316,6 +316,7 @@ def generate_scu_files(max_includes_per_scu):
process_folder(["scene/main"])
process_folder(["scene/resources"])
process_folder(["scene/resources/2d"])
+ process_folder(["scene/resources/3d"])
process_folder(["servers"])
process_folder(["servers/rendering"])
diff --git a/tests/scene/test_arraymesh.h b/tests/scene/test_arraymesh.h
index 1623b41300..67aa19c5d3 100644
--- a/tests/scene/test_arraymesh.h
+++ b/tests/scene/test_arraymesh.h
@@ -31,8 +31,8 @@
#ifndef TEST_ARRAYMESH_H
#define TEST_ARRAYMESH_H
+#include "scene/resources/3d/primitive_meshes.h"
#include "scene/resources/mesh.h"
-#include "scene/resources/primitive_meshes.h"
#include "tests/test_macros.h"
diff --git a/tests/scene/test_navigation_region_3d.h b/tests/scene/test_navigation_region_3d.h
index f7cf7c7912..372f6dc505 100644
--- a/tests/scene/test_navigation_region_3d.h
+++ b/tests/scene/test_navigation_region_3d.h
@@ -34,7 +34,7 @@
#include "scene/3d/mesh_instance_3d.h"
#include "scene/3d/navigation_region_3d.h"
#include "scene/main/window.h"
-#include "scene/resources/primitive_meshes.h"
+#include "scene/resources/3d/primitive_meshes.h"
#include "tests/test_macros.h"
diff --git a/tests/scene/test_primitives.h b/tests/scene/test_primitives.h
index 36b9b17b27..f105e1ac04 100644
--- a/tests/scene/test_primitives.h
+++ b/tests/scene/test_primitives.h
@@ -31,7 +31,7 @@
#ifndef TEST_PRIMITIVES_H
#define TEST_PRIMITIVES_H
-#include "scene/resources/primitive_meshes.h"
+#include "scene/resources/3d/primitive_meshes.h"
#include "tests/test_macros.h"
diff --git a/tests/servers/test_navigation_server_3d.h b/tests/servers/test_navigation_server_3d.h
index 5b5c1faac8..b5547f2c94 100644
--- a/tests/servers/test_navigation_server_3d.h
+++ b/tests/servers/test_navigation_server_3d.h
@@ -32,7 +32,7 @@
#define TEST_NAVIGATION_SERVER_3D_H
#include "scene/3d/mesh_instance_3d.h"
-#include "scene/resources/primitive_meshes.h"
+#include "scene/resources/3d/primitive_meshes.h"
#include "servers/navigation_server_3d.h"
#include "tests/test_macros.h"