diff --git a/doc/classes/PhysicsServer.xml b/doc/classes/PhysicsServer.xml
index 592d3d8e4ec8..c9f4accee264 100644
--- a/doc/classes/PhysicsServer.xml
+++ b/doc/classes/PhysicsServer.xml
@@ -1467,7 +1467,7 @@
If [code]set[/code] there is a linear motor on this axis that targets a specific velocity.
- The [Shape] is a [PlaneShape].
+ The [Shape] is a [WorldMarginShape].
The [Shape] is a [RayShape].
diff --git a/doc/classes/PlaneShape.xml b/doc/classes/WorldMarginShape.xml
similarity index 65%
rename from doc/classes/PlaneShape.xml
rename to doc/classes/WorldMarginShape.xml
index b40e133d00c6..54f76a066b07 100644
--- a/doc/classes/PlaneShape.xml
+++ b/doc/classes/WorldMarginShape.xml
@@ -1,10 +1,10 @@
-
+
Infinite plane shape for 3D collisions.
- An infinite plane shape for 3D collisions. Note that the [Plane]'s normal matters; anything "below" the plane will collide with it. If the [PlaneShape] is used in a [PhysicsBody], it will cause colliding objects placed "below" it to teleport "above" the plane.
+ An infinite plane shape for 3D collisions. Note that the [Plane]'s normal matters; anything "below" the plane will collide with it. If the [WorldMarginShape] is used in a [PhysicsBody], it will cause colliding objects placed "below" it to teleport "above" the plane.
@@ -12,7 +12,7 @@
- The [Plane] used by the [PlaneShape] for collision.
+ The [Plane] used by the [WorldMarginShape] for collision.
diff --git a/editor/icons/PlaneMesh.svg b/editor/icons/PlaneMesh.svg
deleted file mode 100644
index ddcc623c674e..000000000000
--- a/editor/icons/PlaneMesh.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/editor/icons/WorldMarginShape.svg b/editor/icons/WorldMarginShape.svg
new file mode 100644
index 000000000000..2c90cf6d53d5
--- /dev/null
+++ b/editor/icons/WorldMarginShape.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp
index dbd67d1e2293..5651197fa33e 100644
--- a/editor/import/resource_importer_scene.cpp
+++ b/editor/import/resource_importer_scene.cpp
@@ -41,10 +41,10 @@
#include "scene/resources/animation.h"
#include "scene/resources/box_shape.h"
#include "scene/resources/packed_scene.h"
-#include "scene/resources/plane_shape.h"
#include "scene/resources/ray_shape.h"
#include "scene/resources/resource_format_text.h"
#include "scene/resources/sphere_shape.h"
+#include "scene/resources/world_margin_shape.h"
uint32_t EditorSceneImporter::get_import_flags() const {
@@ -446,9 +446,9 @@ Node *ResourceImporterScene::_fix_node(Node *p_node, Node *p_root, Map[
colshape->set_name("RayShape");
Object::cast_to(sb)->rotate_x(Math_PI / 2);
} else if (empty_draw_type == "IMAGE") {
- PlaneShape *planeShape = memnew(PlaneShape);
- colshape->set_shape(planeShape);
- colshape->set_name("PlaneShape");
+ WorldMarginShape *world_margin_shape = memnew(WorldMarginShape);
+ colshape->set_shape(world_margin_shape);
+ colshape->set_name("WorldMarginShape");
} else {
SphereShape *sphereShape = memnew(SphereShape);
sphereShape->set_radius(1);
diff --git a/editor/spatial_editor_gizmos.cpp b/editor/spatial_editor_gizmos.cpp
index f2406544870a..c155430eae92 100644
--- a/editor/spatial_editor_gizmos.cpp
+++ b/editor/spatial_editor_gizmos.cpp
@@ -58,11 +58,11 @@
#include "scene/resources/convex_polygon_shape.h"
#include "scene/resources/cylinder_shape.h"
#include "scene/resources/height_map_shape.h"
-#include "scene/resources/plane_shape.h"
#include "scene/resources/primitive_meshes.h"
#include "scene/resources/ray_shape.h"
#include "scene/resources/sphere_shape.h"
#include "scene/resources/surface_tool.h"
+#include "scene/resources/world_margin_shape.h"
#define HANDLE_HALF_SIZE 9.5
@@ -3575,9 +3575,9 @@ void CollisionShapeSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) {
p_gizmo->add_handles(handles, handles_material);
}
- if (Object::cast_to(*s)) {
+ if (Object::cast_to(*s)) {
- Ref ps = s;
+ Ref ps = s;
Plane p = ps->get_plane();
Vector points;
diff --git a/main/tests/test_physics.cpp b/main/tests/test_physics.cpp
index 43958a949373..0304e8f6dd13 100644
--- a/main/tests/test_physics.cpp
+++ b/main/tests/test_physics.cpp
@@ -110,13 +110,13 @@ class TestPhysicsMainLoop : public MainLoop {
PhysicsServer *ps = PhysicsServer::get_singleton();
- RID plane_shape = ps->shape_create(PhysicsServer::SHAPE_PLANE);
- ps->shape_set_data(plane_shape, p_plane);
+ RID world_margin_shape = ps->shape_create(PhysicsServer::SHAPE_PLANE);
+ ps->shape_set_data(world_margin_shape, p_plane);
RID b = ps->body_create(PhysicsServer::BODY_MODE_STATIC);
ps->body_set_space(b, space);
//todo set space
- ps->body_add_shape(b, plane_shape);
+ ps->body_add_shape(b, world_margin_shape);
return b;
}
diff --git a/modules/gdnavigation/navigation_mesh_generator.cpp b/modules/gdnavigation/navigation_mesh_generator.cpp
index 7f8761dac885..e7038b38a2e1 100644
--- a/modules/gdnavigation/navigation_mesh_generator.cpp
+++ b/modules/gdnavigation/navigation_mesh_generator.cpp
@@ -42,10 +42,10 @@
#include "scene/resources/concave_polygon_shape.h"
#include "scene/resources/convex_polygon_shape.h"
#include "scene/resources/cylinder_shape.h"
-#include "scene/resources/plane_shape.h"
#include "scene/resources/primitive_meshes.h"
#include "scene/resources/shape.h"
#include "scene/resources/sphere_shape.h"
+#include "scene/resources/world_margin_shape.h"
#include "modules/modules_enabled.gen.h"
#ifdef TOOLS_ENABLED
diff --git a/scene/3d/collision_shape.cpp b/scene/3d/collision_shape.cpp
index d0d775d55787..c7a92b66e1a5 100644
--- a/scene/3d/collision_shape.cpp
+++ b/scene/3d/collision_shape.cpp
@@ -33,9 +33,9 @@
#include "scene/resources/capsule_shape.h"
#include "scene/resources/concave_polygon_shape.h"
#include "scene/resources/convex_polygon_shape.h"
-#include "scene/resources/plane_shape.h"
#include "scene/resources/ray_shape.h"
#include "scene/resources/sphere_shape.h"
+#include "scene/resources/world_margin_shape.h"
#include "servers/visual_server.h"
//TODO: Implement CylinderShape and HeightMapShape?
#include "core/math/quick_hull.h"
@@ -123,10 +123,6 @@ String CollisionShape::get_configuration_warning() const {
return TTR("A shape must be provided for CollisionShape to function. Please create a shape resource for it.");
}
- if (shape->is_class("PlaneShape")) {
- return TTR("Plane shapes don't work well and will be removed in future versions. Please don't use them.");
- }
-
return String();
}
diff --git a/scene/register_scene_types.cpp b/scene/register_scene_types.cpp
index f11d0a21d46c..ae365a5064dd 100644
--- a/scene/register_scene_types.cpp
+++ b/scene/register_scene_types.cpp
@@ -151,7 +151,6 @@
#include "scene/resources/packed_scene.h"
#include "scene/resources/particles_material.h"
#include "scene/resources/physics_material.h"
-#include "scene/resources/plane_shape.h"
#include "scene/resources/polygon_path_finder.h"
#include "scene/resources/primitive_meshes.h"
#include "scene/resources/ray_shape.h"
@@ -169,6 +168,7 @@
#include "scene/resources/visual_shader_nodes.h"
#include "scene/resources/world.h"
#include "scene/resources/world_2d.h"
+#include "scene/resources/world_margin_shape.h"
#include "scene/scene_string_names.h"
#ifndef _3D_DISABLED
@@ -190,8 +190,8 @@
#include "scene/3d/multimesh_instance.h"
#include "scene/3d/navigation.h"
#include "scene/3d/navigation_agent.h"
-#include "scene/3d/navigation_region.h"
#include "scene/3d/navigation_obstacle.h"
+#include "scene/3d/navigation_region.h"
#include "scene/3d/particles.h"
#include "scene/3d/path.h"
#include "scene/3d/physics_body.h"
@@ -643,7 +643,7 @@ void register_scene_types() {
ClassDB::register_class();
ClassDB::register_class();
ClassDB::register_class();
- ClassDB::register_class();
+ ClassDB::register_class();
ClassDB::register_class();
ClassDB::register_class();
diff --git a/scene/resources/plane_shape.cpp b/scene/resources/world_margin_shape.cpp
similarity index 86%
rename from scene/resources/plane_shape.cpp
rename to scene/resources/world_margin_shape.cpp
index ddc820233e44..b5b701327c92 100644
--- a/scene/resources/plane_shape.cpp
+++ b/scene/resources/world_margin_shape.cpp
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* plane_shape.cpp */
+/* world_margin_shape.cpp */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,11 +28,11 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#include "plane_shape.h"
+#include "world_margin_shape.h"
#include "servers/physics_server.h"
-Vector PlaneShape::get_debug_mesh_lines() {
+Vector WorldMarginShape::get_debug_mesh_lines() {
Plane p = get_plane();
Vector points;
@@ -61,13 +61,13 @@ Vector PlaneShape::get_debug_mesh_lines() {
return points;
}
-void PlaneShape::_update_shape() {
+void WorldMarginShape::_update_shape() {
PhysicsServer::get_singleton()->shape_set_data(get_shape(), plane);
Shape::_update_shape();
}
-void PlaneShape::set_plane(Plane p_plane) {
+void WorldMarginShape::set_plane(Plane p_plane) {
plane = p_plane;
_update_shape();
@@ -75,20 +75,20 @@ void PlaneShape::set_plane(Plane p_plane) {
_change_notify("plane");
}
-Plane PlaneShape::get_plane() const {
+Plane WorldMarginShape::get_plane() const {
return plane;
}
-void PlaneShape::_bind_methods() {
+void WorldMarginShape::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_plane", "plane"), &PlaneShape::set_plane);
- ClassDB::bind_method(D_METHOD("get_plane"), &PlaneShape::get_plane);
+ ClassDB::bind_method(D_METHOD("set_plane", "plane"), &WorldMarginShape::set_plane);
+ ClassDB::bind_method(D_METHOD("get_plane"), &WorldMarginShape::get_plane);
ADD_PROPERTY(PropertyInfo(Variant::PLANE, "plane"), "set_plane", "get_plane");
}
-PlaneShape::PlaneShape() :
+WorldMarginShape::WorldMarginShape() :
Shape(PhysicsServer::get_singleton()->shape_create(PhysicsServer::SHAPE_PLANE)) {
set_plane(Plane(0, 1, 0, 0));
diff --git a/scene/resources/plane_shape.h b/scene/resources/world_margin_shape.h
similarity index 90%
rename from scene/resources/plane_shape.h
rename to scene/resources/world_margin_shape.h
index 360f9dbbe9bd..055107c956e8 100644
--- a/scene/resources/plane_shape.h
+++ b/scene/resources/world_margin_shape.h
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* plane_shape.h */
+/* world_margin_shape.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,14 +28,14 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef PLANE_SHAPE_H
-#define PLANE_SHAPE_H
+#ifndef world_margin_shape_H
+#define world_margin_shape_H
#include "scene/resources/shape.h"
-class PlaneShape : public Shape {
+class WorldMarginShape : public Shape {
- GDCLASS(PlaneShape, Shape);
+ GDCLASS(WorldMarginShape, Shape);
Plane plane;
protected:
@@ -52,6 +52,6 @@ class PlaneShape : public Shape {
return 0;
}
- PlaneShape();
+ WorldMarginShape();
};
-#endif // PLANE_SHAPE_H
+#endif // world_margin_shape_H
]