summaryrefslogtreecommitdiff
path: root/servers/physics_3d
AgeCommit message (Collapse)Author
2023-02-20Merge pull request #72917 from rburing/fix_trimesh_ccdRémi Verschelde
Fix CCD in case of multiple supports in motion direction
2023-02-17Merge pull request #68181 from MarianoGnu/fix-convex-hull-crashRémi Verschelde
Avoid memory corruption when GodotConvexPolygonShape3D is setup more than once
2023-02-13Move some worker_thread_pool.h includes out of header filesmyaaaaaaaaa
2023-02-10Fix CCD in case of multiple supports in motion directionRicardo Buring
For example, an axis-aligned box under the influence of gravity landing on a horizontal triangle could previously tunnel, because only one of the supports of the box was considered to be the candidate point that would collide first. Now all supports are considered as candidates. Also fix CCD always pushing the fast body into the other body, which works well for convex shapes but not for trimesh/concave shapes.
2023-01-31Create default World physics spaces on demand onlysmix8
Changes that the default physics spaces of World resources are only created on first use.
2023-01-31Merge pull request #72107 from rburing/separation_ray_normalRémi Verschelde
Fix separation ray normal direction
2023-01-29Replace Area gravity point distance scale with unit distanceAaron Franke
2023-01-29Remove deprecated AREA_PARAM_GRAVITY_POINT_ATTENUATIONAaron Franke
2023-01-26Fix separation ray normal directionRicardo Buring
2023-01-21Use range iterators in LocalVector loopskobewi
2023-01-19Collision detection supports uniform scalingPeter Eastman
2023-01-18Analytic collision normalsPeter Eastman
2023-01-12Merge pull request #70787 from peastman/cylinderRémi Verschelde
Analytic sphere-box, sphere-cylinder, and capsule-cylinder collisions
2023-01-12Merge pull request #70660 from Malcolmnixon/collision_sphere_capsuleRémi Verschelde
Fix sphere-capsule collision logic
2023-01-08Merge pull request #70281 from CherrySodaPop/get-impulse-3dRémi Verschelde
Implement collision impulse in Godot Physics 3D
2023-01-07Implement collision impulse in Godot Physics 3DLily Garcia
2023-01-07Merge pull request #70858 from Malcolmnixon/fast-concave-supportRémi Verschelde
Optimize GodotConvexPolygonShape3D::get_support
2023-01-06Merge pull request #68429 from KoBeWi/PropertySettingsRémi Verschelde
Add PropertyInfo overload for GLOBAL_DEF
2023-01-05One Copyright Update to rule them allRémi Verschelde
As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-03Merge pull request #63650 from fabriceci/apply-moving-platform-angular-velocityRémi Verschelde
Allow to apply the angular velocity of a moving platform
2023-01-02Micro-optimizations of the GodotConvexPolygonShape3D::get_support function. ↵Malcolm Nixon
Specifically this uses pointer-array-dereference rather than LocalVector<T> dereference as this performs range-checking on known-good indexes. Added more comments. Changed loops back to classic for-iteration style.
2023-01-02Analytic sphere-box, sphere-cylinder, and capsule-cylinder collisionsPeter Eastman
2023-01-02Modified the collision_sphere_capsule function to only test the one ↵Malcolm Nixon
"correct" axis which corresponds to the correct collision normal. Added logically identical fix to the capsule/capsule collision, and verified it now produces correct collision points and normals. Added analytic_sphere_collision helper function which reports the A and B points directly without using SAT. Modified _collision_sphere_sphere, _collision_sphere_capsule, and _collision_capsule_capsule to use the new analytic_sphere_collision. Fix white-space issue Additional code formatting fixes. Updated new analytic_sphere_collision to correctly handle null collector callback.
2022-12-27Remove unnecessary bail-out if shape A is concave. The test for A being ↵Malcolm Nixon
concave is already performed later.
2022-12-16Fix regression 70154 caused by my prior CCD fix.Geekotron
At high velocities `from - motion *.1` is *behind the RB* - not within its collider as the comment suggested - so it could not be used for determining movement length
2022-12-13Fix Physics3D and Physics2D CCD sometimes adjusting velocity too much ↵Geekotron
(preventing collision) or not enough (allowing tunneling)
2022-12-11Add PropertyInfo overload for GLOBAL_DEFkobewi
2022-12-11Merge pull request #69852 from rburing/heightmap_shape_typo_bugfixRémi Verschelde
Fix typo bug in heightmap shape
2022-12-10Fix typo bug in heightmap shapeRicardo Buring
2022-12-07Merge pull request #69674 from rburing/conStraintRémi Verschelde
Fix typo in physics step: contraint -> constraint
2022-12-06Merge pull request #69671 from rburing/cylinder-cylinder_sat_typoRémi Verschelde
Fix typo in cylinder-cylinder SAT collision solver
2022-12-06Fix typo in physics step: contraint -> constraintRicardo Buring
2022-12-06Fix typo in cylinder-cylinder SAT collision solverRicardo Buring
2022-12-06Fix collision detection for degenerate capsulesRicardo Buring
In GodotCapsuleShape3D::get_supports and GodotCapsuleShape2D::get_supports, return a point instead of an edge of length zero in case the capsule degenerates to a sphere or circle.
2022-11-21Code simplifications found by cppcheckMarkus Sauermann
They are based on: - Boolean arithmetic simplifications - setting variables that are not accessed - constant variables
2022-11-08Remove duplicate project settings definitionskobewi
2022-11-02Avoid memory corruption when GodotConvexPolygonShape3D is setup more than onceMariano Javier Suligoy
2022-11-02Move EulerOrder enum to math_defs.h and global scopeAaron Franke
2022-10-31Add safety check for at least 2 nodes and 1 link to ↵Mark Riedesel
GodotSoftBody3D.reoptimize_link_order() before proceeding. Fixes #61474
2022-10-27Merge pull request #64382 from peastman/supportClay John
Optimized support function for large meshes
2022-10-19Fix RigidBody3D inertia calculationCykyrios
2022-10-18Optimized support function for large meshesPeter Eastman
2022-10-13Optimize Convex CollisionJuan Linietsky
Implements the Gauss Mapping optimization to SAT convex collision test. * Described [here](https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2013/slides/822403Gregorius_Dirk_TheSeparatingAxisTest.pdf) by Dirk Gregorius. * Requires adding of face information to edges in MeshData * Took the chance to convert MeshData to LocalVector for performance.
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-05Merge pull request #66720 from qarmin/unintialized_memoryRémi Verschelde
Remove usage of unitialized variables
2022-10-01Remove usage of unitialized variablesRafał Mikrut
2022-09-30Fix crash when executing `PhysicsServer2D.joint_clear`Haoyu Qiu
2022-09-28Merge pull request #66568 from rburing/cylinder_support_is_deadRémi Verschelde
`GodotCylinderShape3D::get_supports`: delete dead code
2022-09-28GodotCylinderShape3D::get_supports: delete dead codeRicardo Buring
2022-09-28Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable usedRémi Verschelde