Age | Commit message (Collapse) | Author |
|
fabriceci/fix-move-and-slide-regression-multiple-collision-4
Fix move and slide regression by allowing multiple collision direction
|
|
Uniformize layer names, script methods and documentation
|
|
- Back to 1-based layer names to make it clearer in editor UI
- Layer bit accessors are renamed to layer value and 1-based too
- Uniform errors and documentation in render and physics
- Fix a few remaining collision_layer used in place of collision_mask
|
|
Same as https://github.com/godotengine/godot/pull/51565 but ported to master.
|
|
|
|
Rename `iterations_per_second` to `physics_ticks_per_second`
|
|
This makes it clearer that this property is only about physics FPS,
not rendering FPS.
The `physics_fps` project setting was also renamed to
`physics_ticks_per_second` for consistency.
|
|
Infinite inertia:
Not needed anymore, since it's now possible to set one-directional
collision layers in order for characters to ignore rigid bodies, while
rigid bodies still collide with characters.
Ray shapes:
They were introduced as a work around to allow constant speed on slopes,
which is now possible with the new property in CharacterBody instead.
|
|
|
|
Fix 3D moving platform logic
|
|
Move code for looking_at to Basis
|
|
Same thing that was already done in 2D, applies moving platform motion
by using a call to move_and_collide that excludes the platform itself,
instead of making it part of the body motion.
Helps with handling walls and slopes correctly when the character walks
on the moving platform.
Also made some minor adjustments to the 2D version and documentation.
Co-authored-by: fabriceci <fabricecipolla@gmail.com>
|
|
|
|
Fix applied rotation from moving platforms in move_and_slide
|
|
When synchronizing CharacterBody motion with moving the platform using
direct body state, only the linear velocity was taken into account.
This change exposes velocity at local point in direct body state and
uses it in move_and_slide to get the proper velocity that includes
rotations.
|
|
|
|
Use real_t in 3D nodes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Node3D gizmo improvements
|
|
* Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs.
* Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins.
* Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes.
* Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles.
* Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
|
|
Ring emitter for 4.0
|
|
|
|
add viewport.get_camera_2d()
|
|
Explicitly cast real_t to float when creating a float array
|
|
|
|
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.
This is part of ongoing work to optimize GUI and the editor.
|
|
Same implementation as in 2D.
|
|
Fix color properties of particle nodes/material
|
|
Make move_and_slide collision detection more accurate
|
|
Add node configuration warnings for the Decal node
|
|
|
|
and 3D CPU particles. The new emitter is called "ring"
and it can emit either in a ring or cylinder fashion.
This adds the following properties for the emitter:
1. emission_ring_axis: the axis along which the ring/cylinder
will be constructed
2. emission_ring_radius: outer radius of the ring/cylinder
3. emission_ring_inner_radius: inner radius of the cylinder.
when set to zero, particles will emit in the full volume.
4. emission_ring_height: height of the ring/cylinder emitter.
|
|
Clean: remove duplicate and interior vertices (uses Bullet algorithm)
Simplify: modify the geometry for further simplification (uses VHACD
algorithm)
In the editor, single convex hull now uses the clean option.
Added a new editor entry to create a simplified convex hull, can be
useful for creating convex hull from highly tessellated triangle meshes.
|
|
Fix Command Queue Crash
|
|
Calinou/occluderinstance3d-add-node-configuration-warnings
Add node configuration warnings to OccluderInstance3D
|
|
* No longer allow sending an object (texture) to the server as material parameter
* Keep a parameter cache locally in ShaderMaterial
|
|
|
|
Previously, only StandardMaterial3D could be defined as an alternative
to ShaderMaterial.
This also reorders the CanvasItemMaterial property hints to follow
alphabetical order (which is enforced by the inspector).
|
|
|
|
* there is now a more clear distinction between camera_2d and camera_3d functions in the engine code
* simplified camera2d's exported interface - now everything happens directly with the 'current' variable and make_current and clear_current are no longer exposed- there were some situations where calling one instead of set_current would result in incomplete results
* rebased to current godot master
|
|
The Optimized shadow depth range was removed in late 2020 in favor
of the Stable shadow depth range, but it still had a (broken) property
that allowed to enable it.
|