From f2d4ff5c1f3ae4382f08497dd0b669bbe2e3c513 Mon Sep 17 00:00:00 2001
From: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Date: Sat, 21 Oct 2023 17:23:07 +0200
Subject: [PATCH] Add instructions to get shape of `RayCast2D/3D`
Adds details on how to get the intersected shape
---
doc/classes/RayCast2D.xml | 15 +++++++++++++++
doc/classes/RayCast3D.xml | 15 +++++++++++++++
2 files changed, 30 insertions(+)
diff --git a/doc/classes/RayCast2D.xml b/doc/classes/RayCast2D.xml
index 31daaab417c1..16643b0a710a 100644
--- a/doc/classes/RayCast2D.xml
+++ b/doc/classes/RayCast2D.xml
@@ -56,6 +56,21 @@
Returns the shape ID of the first object that the ray intersects, or [code]0[/code] if no object is intersecting the ray (i.e. [method is_colliding] returns [code]false[/code]).
+ To get the intersected shape node, for a [CollisionObject2D] target, use:
+ [codeblocks]
+ [gdscript]
+ var target = get_collider() # A CollisionObject2D.
+ var shape_id = get_collider_shape() # The shape index in the collider.
+ var owner_id = target.shape_find_owner(shape_id) # The owner ID in the collider.
+ var shape = target.shape_owner_get_owner(owner_id)
+ [/gdscript]
+ [csharp]
+ var target = (CollisionObject2D)GetCollider(); // A CollisionObject2D.
+ var shapeId = GetColliderShape(); // The shape index in the collider.
+ var ownerId = target.ShapeFindOwner(shapeId); // The owner ID in the collider.
+ var shape = target.ShapeOwnerGetOwner(ownerId);
+ [/csharp]
+ [/codeblocks]
diff --git a/doc/classes/RayCast3D.xml b/doc/classes/RayCast3D.xml
index f9f94e5cfc0a..6a4c40d22726 100644
--- a/doc/classes/RayCast3D.xml
+++ b/doc/classes/RayCast3D.xml
@@ -57,6 +57,21 @@
Returns the shape ID of the first object that the ray intersects, or [code]0[/code] if no object is intersecting the ray (i.e. [method is_colliding] returns [code]false[/code]).
+ To get the intersected shape node, for a [CollisionObject3D] target, use:
+ [codeblocks]
+ [gdscript]
+ var target = get_collider() # A CollisionObject3D.
+ var shape_id = get_collider_shape() # The shape index in the collider.
+ var owner_id = target.shape_find_owner(shape_id) # The owner ID in the collider.
+ var shape = target.shape_owner_get_owner(owner_id)
+ [/gdscript]
+ [csharp]
+ var target = (CollisionObject3D)GetCollider(); // A CollisionObject3D.
+ var shapeId = GetColliderShape(); // The shape index in the collider.
+ var ownerId = target.ShapeFindOwner(shapeId); // The owner ID in the collider.
+ var shape = target.ShapeOwnerGetOwner(ownerId);
+ [/csharp]
+ [/codeblocks]