diff --git a/doc/base/classes.xml b/doc/base/classes.xml
index da53cb90a5..32ff75efbd 100644
--- a/doc/base/classes.xml
+++ b/doc/base/classes.xml
@@ -6628,7 +6628,7 @@
- Radius of the [CapsuleShape2D].
+ Set the radius of the [CapsuleShape2D].
@@ -6642,7 +6642,7 @@
- Height of the [CapsuleShape2D].
+ Set the height of the [CapsuleShape2D].
@@ -6947,7 +6947,7 @@
Base node for 2D collisionables.
- CollisionObject2D is the base class for 2D physics collisionables. They can hold any number of 2D collision shapes. Usually, they are edited by placing CollisionBody2D and CollisionPolygon2D nodes as children. Such nodes are for reference ant not present outside the editor, so code should use the regular shape API.
+ CollisionObject2D is the base class for 2D physics collisionables. They can hold any number of 2D collision shapes. Usually, they are edited by placing [CollisionBody2D] and [CollisionPolygon2D] nodes as children. Such nodes are for reference and not present outside the editor, so code should use the regular shape API.
@@ -7143,58 +7143,69 @@
- Editor-Only class.
+ Editor-only class for easy editing of collision polygons.
- Editor-Only class. This is not present when running the game. It's used in the editor to properly edit and position collision shapes in [CollisionObject2D]. This is not accessible from regular code. This class is for editing custom shape polygons.
+ Editor-only class. This is not present when running the game. It's used in the editor to properly edit and position collision shapes in [CollisionObject2D]. This is not accessible from regular code. This class is for editing custom shape polygons.
+ Set the array of points forming the polygon.
+ When editing the point list via the editor, depending on [method get_build_mode], it has to be a list of points (for [code]build_mode[/code]=0), or a list of lines (for [code]build_mode[/code]=1). In the second case, the even elements of the array define the start point of the line, and the odd elements the end point.
+ Return the list of points that define the polygon.
-
+
+ Set whether the polygon is to be a [ConvexPolygon2D] ([code]build_mode[/code]=0), or a [ConcavePolygon2D] ([code]build_mode[/code]=1).
+ Return whether the polygon is a [ConvexPolygon2D] ([code]build_mode[/code]=0), or a [ConcavePolygon2D] ([code]build_mode[/code]=1).
-
+
+ Set whether this polygon is a trigger. A trigger polygon detects collisions, but is otherwise unaffected by physics (i.e. colliding objects will not get blocked).
+ Return whether this polygon is a trigger.
+ Return the index of the first shape generated by the editor.
+ When [code]build_mode[/code] is set to generate convex polygons, the shape shown in the editor may be decomopsed into many convex polygons. In that case, a range of indexes is needed to directly access the [Shape2D]s.
+ When [code]build_mode[/code] is set to generate concave polygons, there is only one [Shape2D] generated, so the start index and the end index are the same.
+ Return the index of the last shape generated by the editor.
@@ -7253,40 +7264,45 @@
- Editor-Only class.
+ Editor-only class for easy editing of shapes.
- Editor-Only class. This is not present when running the game. It's used in the editor to properly edit and position collision shapes in [CollisionObject2D]. This is not accessible from regular code.
+ Editor-only class. This is not present when running the game. It's used in the editor to properly edit and position collision shapes in [CollisionObject2D]. This is not accessible from regular code.
+ Set this shape's [Shape2D]. This will not appear as a node, but can be directly edited as a property.
+ Return this shape's [Shape2D].
+ Set whether this shape is a trigger. A trigger shape detects collisions, but is otherwise unaffected by physics (i.e. will not block movement of colliding objects).
+ Return whether this shape is a trigger.
+ Return the index of this shape inside its container [CollisionObject2D]. This can be used to directly access the underlying [Shape2D].
@@ -7666,7 +7682,7 @@
Concave polygon shape.
- Concave polygon shape resource, which can be set into a [PhysicsBody] or area. This shape is created by feeding a list of triangles.
+ Concave polygon shape resource, which can be set into a [PhysicsBody] or area. This shape is created by feeding a list of triangles.
@@ -7693,6 +7709,7 @@
Concave polygon 2D shape resource for physics. It is made out of segments and is very optimal for complex polygonal concave collisions. It is really not advised to use for RigidBody nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.
+ The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
@@ -8583,14 +8600,15 @@
Convex Polygon Shape for 2D physics.
- Convex Polygon Shape for 2D physics.
+ Convex Polygon Shape for 2D physics. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check).
+ The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
- Create the point set from a point cloud. The resulting convex hull will be set as the shape.
+ Currently, this method does nothing.
@@ -26584,19 +26602,21 @@ This method controls whether the position between two cached points is interpola
Ray 2D shape resource for physics.
- Ray 2D shape resource for physics. A ray is not really a collision body, isntead it tries to separate itself from whatever is touching its far endpoint. It's often useful for ccharacters.
+ Ray 2D shape resource for physics. A ray is not really a collision body, isntead it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
+ Set the length of the ray.
+ Return the length of the ray.
@@ -29543,24 +29563,28 @@ This method controls whether the position between two cached points is interpola
+ Set the first point's position.
+ Return the first point's position.
+ Set the second point's position.
+ Return the second point's position.
@@ -30608,13 +30632,14 @@ This method controls whether the position between two cached points is interpola
Use a custom solver bias. No need to change this unless you really know what you are doing.
+ The solver bias is a factor controlling how much two objects "rebound" off each other, when colliding, to avoid them getting into each other because of numerical imprecision.
- Return the custom solver bias. No need to change this unless you really know what you are doing.
+ Return the custom solver bias.
@@ -30627,6 +30652,8 @@ This method controls whether the position between two cached points is interpola
+ Return whether this shape is colliding with another.
+ This method needs the transformation matrix for this shape ([code]local_xform[/code]), the shape to check collisions with ([code]with_shape[/code]), and the transformation matrix of that shape ([code]shape_xform[/code]).
@@ -30643,9 +30670,13 @@ This method controls whether the position between two cached points is interpola
+ Return whether this shape would collide with another, if a given movemen was applied.
+ This method needs the transformation matrix for this shape ([code]local_xform[/code]), the movement to test on this shape ([code]local_motion[/code]), the shape to check collisions with ([code]with_shape[/code]), the transformation matrix of that shape ([code]shape_xform[/code]), and the movement to test ont the other object ([code]shape_motion[/code]).
+
+
@@ -30653,9 +30684,13 @@ This method controls whether the position between two cached points is interpola
+ Return a list of the points where this shape touches another. If there are no collisions, the list is empty.
+ This method needs the transformation matrix for this shape ([code]local_xform[/code]), the shape to check collisions with ([code]with_shape[/code]), and the transformation matrix of that shape ([code]shape_xform[/code]).
+
+
@@ -30667,6 +30702,8 @@ This method controls whether the position between two cached points is interpola
+ Return a list of the points where this shape would touch another, if a given movement was applied. If there are no collisions, the list is empty.
+ This method needs the transformation matrix for this shape ([code]local_xform[/code]), the movement to test on this shape ([code]local_motion[/code]), the shape to check collisions with ([code]with_shape[/code]), the transformation matrix of that shape ([code]shape_xform[/code]), and the movement to test ont the other object ([code]shape_motion[/code]).