Age | Commit message (Collapse) | Author |
|
With this change finally one can use compound collisions (like those created
by Gridmaps) without serious performance issues. The previous KinematicBody
code for Bullet was practically doing a whole bunch of unnecessary
calculations. Gridmaps with fairly large octant sizes (in my case 32) can get
up to 10000x speedup with this change (literally!). I expect the FPS demo to
get a fair speedup as well.
List of fixes and improvements:
- Fixed a general bug in move_and_slide that affects both GodotPhysics and
Bullet, where ray shapes would be ignored unless the stop_on_slope parameter
is disabled. Not sure where that came from, but looking at the 2D physics
code it was obvious there's a difference.
- Enabled the dynamic AABB tree that Bullet uses to allow broadphase collision
tests against individual shapes of compound shapes. This is crucial to get
good performance with Gridmaps and in general improves the performance
whenever a KinematicBody collides with compound collision shapes.
- Added code to the broadphase collision detection code used by the Bullet
module for KinematicBodies to also do broadphase on the sub-shapes of
compound collision shapes. This is possible thanks to the dynamic AABB
tree that was previously disabled and it's the change that provides the
biggest performance boost.
- Now broadphase test is only done once per KinematicBody in Bullet instead of
once per each of its shapes which was completely unnecessary.
- Fixed the way how the ray separation results are populated in Bullet which
was completely broken previously, overwriting previous results and similar
non-sense.
- Fixed ray shapes for good now. Previously the margin set in the editor was
not respected at all, and the KinematicBody code for ray separation was
complete bogus, thus all previous attempts to fix it were mislead.
- Fixed an obvious bug also in GodotPhysics where an out-of-bounds index was
used in the ray result array.
There are a whole set of other problems with the KinematicBody code of Bullet
which cost performance and may cause unexpected behavior, but those are not
addressed in this change (need to keep it "simple").
Not sure whether this fixes any outstanding Github issues but I wouldn't be
surprised.
|
|
[GDNative] various NativeScript fixes around editor functionality
|
|
C#: Bindings generator now translates BBCode docs to XML comments
|
|
|
|
|
|
|
|
This reverts commit fb37284c027b494ed3ec21124001fcb729f42cc4.
This reverts commit 4db0f51b9aa76cfc7649787fe1970af606ce8dab.
|
|
|
|
|
|
Fix parsing of generic type declarations in C# source files
|
|
Add support for new MSBuild directory naming introduced in VS 2019
|
|
|
|
|
|
Add missing check for 2d physics bounce and friction setters
|
|
Fix script editor attempting to set current line to -1 on script open
|
|
The override check was already present for 3d physics but missing for 2d
|
|
|
|
Remove unused 'fav_rm' ToolButton in EditorFileDialog
|
|
|
|
Fix misplaced hint for interface/theme/accent_color
|
|
Fix parameterised macros in core. Addresses #25488
|
|
Feature/fix toggle comment indent
|
|
Add search box and size slider to GridMap (similar to TileMap's)
|
|
Consider StaticBody and NavMesh position when converting to a MeshLibrary
|
|
Remove extraneous line breaks from text resources
|
|
Fix clearing scripts while multiple nodes are selected
|
|
RichTextLabel: Adding the ability to change the default cursor
|
|
Implement source lookup for class_name defined classes
|
|
Show in tabs custom class icons
|
|
Supersedes #26992.
|
|
Fix renaming actions in the Project settings
|
|
Fix toggling snap mode while transforming the Spatial object
|
|
Make bottom panel only try to hide editors when they're visible
|
|
[DOCS] Add tutorial link to Particles2D
|
|
Fix bone aabb calculation, which caused a skeletal mesh culling issue
|
|
[DOCS] minor classref updates
|
|
Resolve GLES 2 crash on older iOS devices
|
|
Fix duplicated newlines in GDScript bytecode
|
|
Fixes #27113, a regression from 6daed7d12294b3f47f1ecb309d2e2b5b225ee663
|
|
|
|
|
|
|
|
Ignore default ccls cache folder and compile commands json file
|
|
|
|
settings prior to creating our gl es context, so we can properly determine which driver to use.
|
|
|
|
|
|
Fixes #26789
|
|
There was a bug that could result in most bone aabb boxes ending up with
tiny size upon import and mess up with culling of skeletal meshes. This
fixes it.
|
|
Make the Tooltip Position Offset Configurable
|