Document behavior of areas with concave shapes

(cherry picked from commit be5d18163d)
This commit is contained in:
Ricardo Buring 2022-09-20 11:58:27 +02:00 committed by Rémi Verschelde
parent ea5d5704d6
commit 553c9aba6f
6 changed files with 11 additions and 3 deletions

View File

@ -4,7 +4,9 @@
3D area for detection and physics and audio influence. 3D area for detection and physics and audio influence.
</brief_description> </brief_description>
<description> <description>
3D area that detects [CollisionObject] nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping) and route audio to custom audio buses. 3D area that detects [CollisionObject] nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping) and route audio to a custom audio bus.
To give the area its shape, add a [CollisionShape] or a [CollisionPolygon] node as a [i]direct[/i] child (or add multiple such nodes as direct children) of the area.
[b]Warning:[/b] See [ConcavePolygonShape] (also called "trimesh") for a warning about possibly unexpected behavior when using that shape for an area.
</description> </description>
<tutorials> <tutorials>
<link title="3D Platformer Demo">https://godotengine.org/asset-library/asset/125</link> <link title="3D Platformer Demo">https://godotengine.org/asset-library/asset/125</link>

View File

@ -5,6 +5,8 @@
</brief_description> </brief_description>
<description> <description>
2D area that detects [CollisionObject2D] nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping) and route audio to a custom audio bus. 2D area that detects [CollisionObject2D] nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping) and route audio to a custom audio bus.
To give the area its shape, add a [CollisionShape2D] or a [CollisionPolygon2D] node as a [i]direct[/i] child (or add multiple such nodes as direct children) of the area.
[b]Warning:[/b] See [ConcavePolygonShape2D] for a warning about possibly unexpected behavior when using that shape for an area.
</description> </description>
<tutorials> <tutorials>
<link title="Using Area2D">$DOCS_URL/tutorials/physics/using_area_2d.html</link> <link title="Using Area2D">$DOCS_URL/tutorials/physics/using_area_2d.html</link>

View File

@ -4,7 +4,8 @@
Node that represents collision shape data in 3D space. Node that represents collision shape data in 3D space.
</brief_description> </brief_description>
<description> <description>
Editor facility for creating and editing collision shapes in 3D space. You can use this node to represent all sorts of collision shapes, for example, add this to an [Area] to give it a detection shape, or add it to a [PhysicsBody] to create a solid object. [b]IMPORTANT[/b]: this is an Editor-only helper to create shapes, use [method CollisionObject.shape_owner_get_shape] to get the actual shape. Editor facility for creating and editing collision shapes in 3D space. Set the [member shape] property to configure the shape. [b]IMPORTANT[/b]: this is an Editor-only helper to create shapes, use [method CollisionObject.shape_owner_get_shape] to get the actual shape.
You can use this node to represent all sorts of collision shapes, for example, add this to an [Area] to give it a detection shape, or add it to a [PhysicsBody] to create a solid object.
</description> </description>
<tutorials> <tutorials>
<link title="Physics introduction">$DOCS_URL/tutorials/physics/physics_introduction.html</link> <link title="Physics introduction">$DOCS_URL/tutorials/physics/physics_introduction.html</link>

View File

@ -4,7 +4,8 @@
Node that represents collision shape data in 2D space. Node that represents collision shape data in 2D space.
</brief_description> </brief_description>
<description> <description>
Editor facility for creating and editing collision shapes in 2D space. You can use this node to represent all sorts of collision shapes, for example, add this to an [Area2D] to give it a detection shape, or add it to a [PhysicsBody2D] to create a solid object. [b]IMPORTANT[/b]: this is an Editor-only helper to create shapes, use [method CollisionObject2D.shape_owner_get_shape] to get the actual shape. Editor facility for creating and editing collision shapes in 2D space. Set the [member shape] property to configure the shape. [b]IMPORTANT[/b]: this is an Editor-only helper to create shapes, use [method CollisionObject2D.shape_owner_get_shape] to get the actual shape.
You can use this node to represent all sorts of collision shapes, for example, add this to an [Area2D] to give it a detection shape, or add it to a [PhysicsBody2D] to create a solid object.
</description> </description>
<tutorials> <tutorials>
<link title="Physics introduction">$DOCS_URL/tutorials/physics/physics_introduction.html</link> <link title="Physics introduction">$DOCS_URL/tutorials/physics/physics_introduction.html</link>

View File

@ -6,6 +6,7 @@
<description> <description>
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.
[b]Note:[/b] When used for collision, [ConcavePolygonShape] is intended to work with static [PhysicsBody] nodes like [StaticBody] and will not work with [KinematicBody] or [RigidBody] with a mode other than Static. [b]Note:[/b] When used for collision, [ConcavePolygonShape] is intended to work with static [PhysicsBody] nodes like [StaticBody] and will not work with [KinematicBody] or [RigidBody] with a mode other than Static.
[b]Warning:[/b] Using this shape for an [Area] (via a [CollisionShape] node, created e.g. by using the [i]Create Trimesh Collision Sibling[/i] option in the [i]Mesh[/i] menu that appears when selecting a [MeshInstance] node) may give unexpected results: when using Godot Physics, the area will only detect collisions with the triangle faces in the [ConcavePolygonShape] (and not with any "inside" of the shape, for example), and when using Bullet Physics the area will not detect any collisions with the concave shape at all (this is a known bug).
</description> </description>
<tutorials> <tutorials>
<link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link> <link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link>

View File

@ -6,6 +6,7 @@
<description> <description>
Concave polygon 2D shape resource for physics. It is made out of segments and is optimal for complex polygonal concave collisions. However, it is not advised to use for [RigidBody2D] 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. Concave polygon 2D shape resource for physics. It is made out of segments and is optimal for complex polygonal concave collisions. However, it is not advised to use for [RigidBody2D] 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. 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.
[b]Warning:[/b] Using this shape for an [Area2D] (via a [CollisionShape2D] node) may give unexpected results: the area will only detect collisions with the segments in the [ConcavePolygonShape2D] (and not with any "inside" of the shape, for example).
</description> </description>
<tutorials> <tutorials>
</tutorials> </tutorials>