Document where the center of mass is for RigidBody nodes

This commit is contained in:
skyace65 2020-08-27 09:57:03 -04:00
parent 7a62b94bca
commit 555f4f3e17
2 changed files with 2 additions and 0 deletions

View file

@ -9,6 +9,7 @@
[b]Note:[/b] You should not change a RigidBody2D's [code]position[/code] or [code]linear_velocity[/code] every frame or even very often. If you need to directly affect the body's state, use [method _integrate_forces], which allows you to directly access the physics state. [b]Note:[/b] You should not change a RigidBody2D's [code]position[/code] or [code]linear_velocity[/code] every frame or even very often. If you need to directly affect the body's state, use [method _integrate_forces], which allows you to directly access the physics state.
Please also keep in mind that physics bodies manage their own transform which overwrites the ones you set. So any direct or indirect transformation (including scaling of the node or its parent) will be visible in the editor only, and immediately reset at runtime. Please also keep in mind that physics bodies manage their own transform which overwrites the ones you set. So any direct or indirect transformation (including scaling of the node or its parent) will be visible in the editor only, and immediately reset at runtime.
If you need to override the default physics behavior or add a transformation at runtime, you can write a custom force integration. See [member custom_integrator]. If you need to override the default physics behavior or add a transformation at runtime, you can write a custom force integration. See [member custom_integrator].
The center of mass is always located at the node's origin without taking into account the [CollisionShape2D] centroid offsets.
</description> </description>
<tutorials> <tutorials>
</tutorials> </tutorials>

View file

@ -8,6 +8,7 @@
A RigidBody3D has 4 behavior [member mode]s: Rigid, Static, Character, and Kinematic. A RigidBody3D has 4 behavior [member mode]s: Rigid, Static, Character, and Kinematic.
[b]Note:[/b] Don't change a RigidBody3D's position every frame or very often. Sporadic changes work fine, but physics runs at a different granularity (fixed Hz) than usual rendering (process callback) and maybe even in a separate thread, so changing this from a process loop may result in strange behavior. If you need to directly affect the body's state, use [method _integrate_forces], which allows you to directly access the physics state. [b]Note:[/b] Don't change a RigidBody3D's position every frame or very often. Sporadic changes work fine, but physics runs at a different granularity (fixed Hz) than usual rendering (process callback) and maybe even in a separate thread, so changing this from a process loop may result in strange behavior. If you need to directly affect the body's state, use [method _integrate_forces], which allows you to directly access the physics state.
If you need to override the default physics behavior, you can write a custom force integration function. See [member custom_integrator]. If you need to override the default physics behavior, you can write a custom force integration function. See [member custom_integrator].
With Bullet physics (the default), the center of mass is the RigidBody3D center. With GodotPhysics, the center of mass is the average of the [CollisionShape3D] centers.
</description> </description>
<tutorials> <tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html</link> <link>https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html</link>