[DOCS] PhysicsDirectSpaceState

This commit is contained in:
homer666 2017-12-19 12:59:16 +11:00
parent 8297ea903a
commit 75c3812ab5

View file

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PhysicsDirectSpaceState" inherits="Object" category="Core" version="3.0-beta">
<brief_description>
Direct access object to a space in the [PhysicsServer].
</brief_description>
<description>
Direct access object to a space in the [PhysicsServer]. It's used mainly to do queries against objects and areas residing in a given space.
</description>
<tutorials>
</tutorials>
@ -17,6 +19,8 @@
<argument index="1" name="motion" type="Vector3">
</argument>
<description>
Check whether the shape can travel to a point. If it can, the method will return an array with two floats between 0 and 1: The first is how far the shape can move toward the point without colliding, and the second is the distance at which it will collide. If no collision is detected, the returned array will be [1, 1].
If the shape can not move, the array will be empty (dir.empty()==true).
</description>
</method>
<method name="collide_shape">
@ -27,6 +31,7 @@
<argument index="1" name="max_results" type="int" default="32">
</argument>
<description>
Check the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time.
</description>
</method>
<method name="get_rest_info">
@ -35,6 +40,14 @@
<argument index="0" name="shape" type="PhysicsShapeQueryParameters">
</argument>
<description>
Check the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. If it collides with more than a shape, the nearest one is selected. The returned object is a dictionary containing the following fields:
collider_id: ID of the object against which the shape intersected.
linear_velocity: The movement vector of the object the shape intersected, if it was a body. If it was an area, it is (0,0).
normal: Normal of the object at the point where the shapes intersect.
point: Place where the shapes intersect.
rid: [RID] of the object against which the shape intersected.
shape: Shape index within the object against which the shape intersected.
If the shape did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead.
</description>
</method>
<method name="intersect_ray">
@ -49,6 +62,15 @@
<argument index="3" name="collision_layer" type="int" default="2147483647">
</argument>
<description>
Intersect a ray in a given space. The returned object is a dictionary with the following fields:
collider: Object against which the ray was stopped.
collider_id: ID of the object against which the ray was stopped.
normal: Normal of the object at the point where the ray was stopped.
position: Place where ray is stopped.
rid: [RID] of the object against which the ray was stopped.
shape: Shape index within the object against which the ray was stopped.
If the ray did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead.
Additionally, the method can take an array of objects or [RID]s that are to be excluded from collisions, or a bitmask representing the physics layers to check in.
</description>
</method>
<method name="intersect_shape">
@ -59,6 +81,12 @@
<argument index="1" name="max_results" type="int" default="32">
</argument>
<description>
Check the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields:
collider: Object the shape intersected.
collider_id: ID of the object the shape intersected.
rid: [RID] of the object the shape intersected.
shape: Shape index within the object the shape intersected.
The number of intersections can be limited with the second parameter, to reduce the processing time.
</description>
</method>
</methods>