Expose the new 3D debug-draw via two GDevelop actions in the Debugger
Tools extension:
- `EnableDebugDraw3D` — enable/disable with explicit color (R;G;B)
and depth-test parameters. Mirrors the existing `EnableDebugDraw`
action used for 2D.
- `ToggleDebugDraw3D` — flips the current state, reusing the last
color and depth-test values stored on the instance container.
Both delegate to `RuntimeInstanceContainer.enableDebugDraw3D`.
Extract the field initialization from the constructor into a private
`_applyBehaviorData` helper, and reuse it for both the constructor
(full data) and the hot-reload hook `applyBehaviorOverriding` (diff
containing only changed fields). When any shape-related property is
present in the diff, the body is rebuilt via `recreateBody()`.
Previously the default `applyBehaviorOverriding` returned false, so
hot reload of Physics3D properties was silently dropped, forcing a
full restart of the app or closing and reopening the tab to see any
tweak made in the editor.
- This is an advanced, experimental feature which is subject to changes. It's in most cases not useful, unless you have a large game or low end devices for which controlling memory usage is important. It's mostly useful to delay loading of large custom objects.
- Objects can be configured so that its resources are not loaded when the scene is loaded. Instead, you can use an action to manually load the resources used by it. When the loading is done (this can be checked using a condition), the object can then be created.
Be careful: if an object assets are not loaded, it will be broken when displayed on screen.
* For now, this is limited to instances inside custom objects. This will be made available in the future for all instances in scenes if this works well.
- Extensions, behaviors and objects lists now follow the same layout
- Assets are suggested for most custom objects provided by extensions
- Also fix private objects not appearing in the list from within the
extension
- This allows your characters and other dynamic objects to collide exactly with the shape of a platform, background or any **static** 3D object.
- By default, the model of the 3D model itself is used. You can choose to use another model if needed (useful in case of a very complex 3D model: you can make the collision happen on a simplified version).
- Also ugrade to [Jolt-Physics.js
0.39.0](https://github.com/jrouwe/JoltPhysics.js/releases).
* Typically, when resources are downloaded from a CDN, then sometimes, for
various reasons, a request for a resource may fail. In such cases, it’s
very useful to have retry for avoiding intermittent issues.