Apply delta in move and collide
This commit is contained in:
parent
5aa099aaed
commit
60fee25c44
4 changed files with 32 additions and 16 deletions
|
|
@ -32,12 +32,13 @@
|
|||
</method>
|
||||
<method name="move_and_collide">
|
||||
<return type="KinematicCollision3D" />
|
||||
<argument index="0" name="rel_vec" type="Vector3" />
|
||||
<argument index="0" name="linear_velocity" type="Vector3" />
|
||||
<argument index="1" name="test_only" type="bool" default="false" />
|
||||
<argument index="2" name="safe_margin" type="float" default="0.001" />
|
||||
<argument index="3" name="max_collisions" type="int" default="1" />
|
||||
<description>
|
||||
Moves the body along the vector [code]rel_vec[/code]. The body will stop if it collides. Returns a [KinematicCollision3D], which contains information about the collision.
|
||||
Moves the body along the vector [code]linear_velocity[/code]. This method should be used in [method Node._physics_process] (or in a method called by [method Node._physics_process]), as it uses the physics step's [code]delta[/code] value automatically in calculations. Otherwise, the simulation will run at an incorrect speed.
|
||||
The body will stop if it collides. Returns a [KinematicCollision3D], which contains information about the collision.
|
||||
If [code]test_only[/code] is [code]true[/code], the body does not move but the would-be collision information is given.
|
||||
[code]safe_margin[/code] is the extra margin used for collision recovery (see [member CharacterBody3D.collision/safe_margin] for more details).
|
||||
[code]max_collisions[/code] allows to retrieve more than one collision result.
|
||||
|
|
@ -61,12 +62,13 @@
|
|||
<method name="test_move">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="from" type="Transform3D" />
|
||||
<argument index="1" name="rel_vec" type="Vector3" />
|
||||
<argument index="1" name="linear_velocity" type="Vector3" />
|
||||
<argument index="2" name="collision" type="KinematicCollision3D" default="null" />
|
||||
<argument index="3" name="safe_margin" type="float" default="0.001" />
|
||||
<argument index="4" name="max_collisions" type="int" default="1" />
|
||||
<description>
|
||||
Checks for collisions without moving the body. Virtually sets the node's position, scale and rotation to that of the given [Transform3D], then tries to move the body along the vector [code]rel_vec[/code]. Returns [code]true[/code] if a collision would occur.
|
||||
Checks for collisions without moving the body. This method should be used in [method Node._physics_process] (or in a method called by [method Node._physics_process]), as it uses the physics step's [code]delta[/code] value automatically in calculations. Otherwise, the simulation will run at an incorrect speed.
|
||||
Virtually sets the node's position, scale and rotation to that of the given [Transform3D], then tries to move the body along the vector [code]linear_velocity[/code]. Returns [code]true[/code] if a collision would occur.
|
||||
[code]collision[/code] is an optional object of type [KinematicCollision3D], which contains additional information about the collision (should there be one).
|
||||
[code]safe_margin[/code] is the extra margin used for collision recovery (see [member CharacterBody3D.collision/safe_margin] for more details).
|
||||
[code]max_collisions[/code] allows to retrieve more than one collision result.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue