1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
|
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PhysicsDirectBodyState" inherits="Object" version="3.2">
<brief_description>
Direct access object to a physics body in the [PhysicsServer].
</brief_description>
<description>
Provides direct access to a physics body in the [PhysicsServer], allowing safe changes to physics properties. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body. See [method RigidBody._integrate_forces].
</description>
<tutorials>
</tutorials>
<methods>
<method name="add_central_force">
<return type="void">
</return>
<argument index="0" name="force" type="Vector3">
</argument>
<description>
Adds a constant directional force without affecting rotation.
This is equivalent to [code]add_force(force, Vector3(0,0,0))[/code].
</description>
</method>
<method name="add_force">
<return type="void">
</return>
<argument index="0" name="force" type="Vector3">
</argument>
<argument index="1" name="position" type="Vector3">
</argument>
<description>
Adds a positioned force to the body. Both the force and the offset from the body origin are in global coordinates.
</description>
</method>
<method name="add_torque">
<return type="void">
</return>
<argument index="0" name="torque" type="Vector3">
</argument>
<description>
Adds a constant rotational force without affecting position.
</description>
</method>
<method name="apply_central_impulse">
<return type="void">
</return>
<argument index="0" name="j" type="Vector3">
</argument>
<description>
Applies a single directional impulse without affecting rotation.
This is equivalent to [code]apply_impulse(Vector3(0, 0, 0), impulse)[/code].
</description>
</method>
<method name="apply_impulse">
<return type="void">
</return>
<argument index="0" name="position" type="Vector3">
</argument>
<argument index="1" name="j" type="Vector3">
</argument>
<description>
Applies a positioned impulse to the body. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason it should only be used when simulating one-time impacts. The position uses the rotation of the global coordinate system, but is centered at the object's origin.
</description>
</method>
<method name="apply_torque_impulse">
<return type="void">
</return>
<argument index="0" name="j" type="Vector3">
</argument>
<description>
Apply a torque impulse (which will be affected by the body mass and shape). This will rotate the body around the vector [code]j[/code] passed as parameter.
</description>
</method>
<method name="get_contact_collider" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Returns the collider's [RID].
</description>
</method>
<method name="get_contact_collider_id" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Returns the collider's object id.
</description>
</method>
<method name="get_contact_collider_object" qualifiers="const">
<return type="Object">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Returns the collider object.
</description>
</method>
<method name="get_contact_collider_position" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Returns the contact position in the collider.
</description>
</method>
<method name="get_contact_collider_shape" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Returns the collider's shape index.
</description>
</method>
<method name="get_contact_collider_velocity_at_position" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Returns the linear velocity vector at the collider's contact point.
</description>
</method>
<method name="get_contact_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the number of contacts this body has with other bodies.
[b]Note:[/b] By default, this returns 0 unless bodies are configured to monitor contacts. See [member RigidBody.contact_monitor].
</description>
</method>
<method name="get_contact_impulse" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Impulse created by the contact. Only implemented for Bullet physics.
</description>
</method>
<method name="get_contact_local_normal" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Returns the local normal at the contact point.
</description>
</method>
<method name="get_contact_local_position" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Returns the local position of the contact point.
</description>
</method>
<method name="get_contact_local_shape" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Returns the local shape index of the collision.
</description>
</method>
<method name="get_space_state">
<return type="PhysicsDirectSpaceState">
</return>
<description>
Returns the current state of the space, useful for queries.
</description>
</method>
<method name="integrate_forces">
<return type="void">
</return>
<description>
Calls the built-in force integration code.
</description>
</method>
</methods>
<members>
<member name="angular_velocity" type="Vector3" setter="set_angular_velocity" getter="get_angular_velocity">
The body's rotational velocity.
</member>
<member name="center_of_mass" type="Vector3" setter="" getter="get_center_of_mass">
</member>
<member name="inverse_inertia" type="Vector3" setter="" getter="get_inverse_inertia">
The inverse of the inertia of the body.
</member>
<member name="inverse_mass" type="float" setter="" getter="get_inverse_mass">
The inverse of the mass of the body.
</member>
<member name="linear_velocity" type="Vector3" setter="set_linear_velocity" getter="get_linear_velocity">
The body's linear velocity.
</member>
<member name="principal_inertia_axes" type="Basis" setter="" getter="get_principal_inertia_axes">
</member>
<member name="sleeping" type="bool" setter="set_sleep_state" getter="is_sleeping">
If [code]true[/code], this body is currently sleeping (not active).
</member>
<member name="step" type="float" setter="" getter="get_step">
The timestep (delta) used for the simulation.
</member>
<member name="total_angular_damp" type="float" setter="" getter="get_total_angular_damp">
The rate at which the body stops rotating, if there are not any other forces moving it.
</member>
<member name="total_gravity" type="Vector3" setter="" getter="get_total_gravity">
The total gravity vector being currently applied to this body.
</member>
<member name="total_linear_damp" type="float" setter="" getter="get_total_linear_damp">
The rate at which the body stops moving, if there are not any other forces moving it.
</member>
<member name="transform" type="Transform" setter="set_transform" getter="get_transform">
The body's transformation matrix.
</member>
</members>
<constants>
</constants>
</class>
|