Age | Commit message (Collapse) | Author |
|
Now matches the class names to be consistent between 2D and 3D and with
other node types.
|
|
Remove scene code in physics servers
|
|
Remove editor code in PhysicalBone3D
|
|
Replaced Mesh with mesh RID in Godot Physics 3D and Bullet.
|
|
_set_gizmo_move_joint is only used in PhysicalBone3DEditor, so the
editor plugin call can be done directly there.
|
|
|
|
Fix #53255 when a body gets stuck when it hits a descending platform in 2D/3D
|
|
|
|
|
|
Shape metadata was only used to get tile information when colliding with
tilemaps. It's not needed anymore since there's an API in tilemap using
body ids instead.
|
|
Fix motion direction in slope for CharacterBody3D
|
|
- More accurate sliding in slopes to keep input direction correct
- More accurate constant speed calculation
- Renamed linear_velocity to motion_velocity for clarity
- General code cleaning and simplifications
|
|
|
|
_update_kinematic_motion() shouldn't be called in the constructor
It's too early and causes a first call to set the body position to 0.
Then the second call to set the actual position triggers kinematic
motion, colliding with objects on the path to the initial position.
Side effect of sync to physics now enabled by default.
|
|
|
|
|
|
|
|
Clarify RigidDynamicBody modes
|
|
|
|
Physic API change: apply the delta in move and collide like move and slide
|
|
|
|
|
|
|
|
|
|
Allows 2D character controller to work without applying gravity when
touching the ground (also more safely in 3D), and collision detection
is more flexible with different safe margin values.
Character body motion changes in 2D and 3D:
-Recovery only for depth > min contact depth to help with collision
detection consistency (rest info could be lost if recovery was too much)
-Adaptive min contact depth (based on margin) instead of space parameter
Extra CharacterBody changes:
-2D: apply changes made in 3D for stop on slope and floor snap that help
fixing some jittering cases
-3D: fix minor inconsistencies in stop on slope and floor snap logic
|
|
|
|
jmb462/missing-sname-macro-optimization-in-some-functions
|
|
|
|
|
|
In case the reference is stored in script, create a new instance to
avoid overriding the previous values.
Otherwise, re-use the reference as before to avoid extra allocations.
|
|
Co-authored-by: Camille Mohr-Daurat <pouleyketchoup@gmail.com>
|
|
|
|
|
|
The `out_of_range_mode` property is no longer used since audio mixing
was moved out of the various AudioStreamPlayer nodes.
|
|
RigidDynamicBody modes are replaced with several properties to make their
usage clearer:
-lock_rotation: disable body's rotation (instead of MODE_LOCKED)
-freeze: no gravity or forces (instead of MODE_STATIC and MODE_KINEMATIC)
-freeze_mode: Static (can be only teleported) or Kinematic (can be animated)
Also renamed MODE_DYNAMIC_LOCKED to MODE_DYNAMIC_LINEAR in the physics
servers.
|
|
|
|
Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBody
|
|
|
|
The icon was present in `editor/icons/`, but it was never implemented
in the editor gizmos code.
This also removes some unused gizmo drawing code (overridden methods
that are no longer called anywhere).
|
|
|
|
|
|
Fixed regression of skinning with skeleton
|
|
With this PR it's possible to add a collision during the Mesh import, directly in editor.
To generate the shape is possible to chose between the following options:
- Decompose Convex: The Mesh is decomposed in one or many Convex Shapes (Using the VHACD library).
- Simple Convex: Is generated a convex shape that enclose the entire mesh.
- Trimesh: Generate a trimesh shape using the Mesh faces.
- Box: Add a primitive box shape, where you can tweak the `size`, `position`, `rotation`.
- Sphere: Add a primitive sphere shape, where you can tweak the `radius`, `position`, `rotation`.
- Cylinder: Add a primitive cylinder shape, where you can tweak the `height`, `radius`, `position`, `rotation`.
- Capsule: Add a primitive capsule shape, where you can tweak the `height`, `radius`, `position`, `rotation`.
It's also possible to chose the generated body, so you can create:
- Rigid Body
- Static Body
- Area
|
|
Add optional polyphonic playback to built-in audio player nodes
|
|
|
|
|
|
Changes:
-Added support for custom inertia and center of mass in 3D
-Added support for custom center of mass in 2D
-Calculated center of mass from shapes in 2D (same as in 3D)
-Fixed mass properties calculation with disabled shapes in 2D/3D
-Removed first_integration which is not used in 2D and doesn't seem to
make a lot of sense (prevents omit_force_integration to work during the
first frame)
-Support for custom inertia on different axes for RigidBody3D
|
|
Instead of having a physics node named Static that can be either Static
or Kinematic, AnimatableBody is added again as a separate node:
-Inherited from StaticBody to make its usage clearer
-Still separated from CharacterBody to make its usage more focused
Properly implemented constant velocity for kinematic bodies in godot
physics servers (induced velocity without actually moving).
Also updated description for the different physics nodes to make their
usage clearer.
|
|
Clean physics direct body state usage in 2D and 3D physics
|
|
Change delta type to double in Physics_body_2/3D
|