Age | Commit message (Collapse) | Author |
|
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.
|
|
Excludes disabled CollisionShapes from the geometry parsing for the NavigationMesh baking.
|
|
Also replace has_no_surface with has_surface
|
|
Adds HeightMapShape for StaticColliders and GridMap to the NavigationMeshGenerator for baking NavigationMesh.
|
|
|
|
Adds two new properties to NavigationMesh resources to restrict the navmesh baking to an area enclosed by an AABB with volume.
|
|
Disables navmesh baking EditorProgress for now until fixed as EditorProgress is not thread-safe and uses hacks and Main::iteration() for steps which can result in random crashes when baking navmesh.
|
|
Add warnings when NavigationMesh bake settings result in precision loss.
|
|
Fix MultiMeshInstance crash in navmesh baking when MultiMesh Resource is empty
|
|
While default ReCast library has support for 0.0 'sample_distance' the Godot implementation does not an crashes.
Previously Godot would set all sample_distance values below 0.9 to 0 which causes the crashes.
This limits the sample_distance range selection to 0.1 - 16.0 and also clamps sample_distance that are below 0.1 before ReCast receives them.
|
|
Adds Warning when users try to bake a NavigationMesh with suspiciously big source geometry and small cellsizes as this baking process will likely fail or result in a NavigationMesh that will create serious pathfinding performance issues.
|
|
instead of collecting CollisionShape3D nodes
|
|
- improved mesh data calculation from standalone static colliders so that no
VisualServer calls are performed - and thus no VS mutexes need to
be locked in case of on-thread baking
- improved the same for GridMap's static colliders
|
|
Removes some unnecessary includes from `editor_node.h`, and instead add
those where they're used.
Removes unnecessary `editor_node.h` includes in various editor classes.
Renames `dynamicfont` to `dynamic_font` in a couple files.
Misc cleanup while jumping through that rabbit hole.
|
|
Within the context of parsing navigation geometry, this commit:
- added missing transform of `MultiMeshInstance`
- changed all transforms to global ones so that they don't need to be
calculated by hand
|
|
|
|
Happy new year to the wonderful Godot community!
|
|
|
|
|
|
|
|
Improve readability for failing errors in nav area
|
|
|
|
|
|
Also changed CapsuleMesh to make settings consistent between render and
physics.
|
|
|
|
|
|
Was looking for misuse of module headers without checking that the module is
actually enabled and got carried away...
|
|
And rename `gdnavigation` module to simply `navigation`.
|