Commit graph

2274 commits

Author SHA1 Message Date
Rémi Verschelde
da68c707f2
Merge pull request #78025 from lyuma/skeleton3d_rest_dirty
Skeleton3D: Only reset rest_dirty after ALL bone transforms have finished update
2023-06-09 11:07:42 +02:00
Lyuma
c567d46a2f Skeleton3D: Only reset rest_dirty after ALL bone transforms have finished update 2023-06-08 19:23:14 -07:00
Aaron Franke
ec09cff7f3
Internally rename parent to collision_object in CollisionShape(2D/3D) 2023-06-07 12:02:27 -05:00
Hugo Locurcio
fc4ec42a09
Increase precision in particle damping properties in the editor 2023-06-07 15:26:02 +02:00
Rémi Verschelde
2a1bc05901
Merge pull request #77469 from lyuma/skeleton_ik_roll_fix
Fix for SkeletonIK3D interpolation and bone roll
2023-06-06 20:39:46 +02:00
Lyuma
9aa46bf3f5 Fix for SkeletonIK3D interpolation and bone roll
Fix bug in internal Basis::rotate_to_align function (also used with identity Basis in scene/resources/curve.cpp)
Use ChainItem children rather than local bone rest to determine IK bone roll to match Godot 3.x behavior
2023-06-05 20:44:45 -07:00
detomon
ea80213eee Fix adding bones with the same name after calling Skeleton3D.clear_bones() 2023-06-05 11:55:09 +02:00
Lyuma
300aa06dba SkeletonIK3D: Avoid holding hard pointers to Skeleton3D 2023-05-25 03:23:24 -07:00
Silc Renew
42aa5398d9 Fix Pathfollow direction
Co-authored-by: aaronfranke <arnfranke@yahoo.com>
2023-05-24 17:37:00 +09:00
Rémi Verschelde
6f34a23439
Merge pull request #76082 from reduz/ability-to-look-at-in-model-space
Add the ability to look-at in model-space.
2023-05-24 08:46:53 +02:00
Juan Linietsky
5fdc1232ef Add the ability to look-at in model-space.
This is a much simpler attempt to solve the same problem as #76060, but without breaking any compatibility.

* Adds a description of what model space is in the Vector3 enums (MODEL_* constants). This has the proper axes laid out for imported 3D assets.
* Adds the option to `look_at` using model_space, which uses Vector3.MODEL_FRONT as forward vector.

The attempt of this PR is to still break the assumption that there is a single direction of forward (which is not the case in Godot)
and make it easier to understand where 3D models are facing, as well as orienting them via look_at.
2023-05-24 10:10:24 +09:00
Artyom Lunchenkov
f645eee62e Improve Skeleton3D::find_bone() performance 2023-05-23 21:02:46 +06:00
Yuri Sizov
ca8bbf24ae
Merge pull request #77194 from lyuma/pose_global_no_override
Fix get_bone_pose_global_no_override()
2023-05-18 18:55:00 +02:00
Lyuma
565803ce3d Fix get_bone_pose_global_no_override() 2023-05-18 03:14:45 -07:00
Pedro J. Estébanez
50cf3d6966 Optimize threading-sensitive node data for single-threaded processing 2023-05-17 02:04:41 +02:00
Rémi Verschelde
59c19a7172
Merge pull request #75250 from bruvzg/lbl_rtl_jst_flags
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification.
2023-05-16 10:48:45 +02:00
Rémi Verschelde
8cfa19a078
Merge pull request #77000 from reduz/make-more-base-nodes-thread-safe
Make more base nodes thread safe
2023-05-16 00:31:56 +02:00
bruvzg
9163d8c336
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification. 2023-05-15 19:23:54 +03:00
Juan Linietsky
0a9f72d5a8 Make more base nodes thread safe
Ongoing work to make more of the base nodes thread safe.
2023-05-15 16:54:10 +02:00
kleonc
d3d84d90de Fix AnimatedSprite3D autoplay warning 2023-05-13 13:10:38 +02:00
Rémi Verschelde
cc48827e4a
Merge pull request #76946 from AThousandShips/shadow_warning
Enable shadow warnings and fix raised errors
2023-05-12 10:04:09 +02:00
smix8
f986b52b3c Make navigation mesh edge connections optional
Makes navigation mesh edge connections optional.
2023-05-11 18:46:34 +02:00
Ninni Pipping
71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +02:00
smix8
7e1a261cc6 Prevent unnecessary navigation map synchronizations
Prevents unnecessary navigation map synchronizations triggered by redundant calls to setters of e.g. region, link or map properties.
2023-05-11 07:38:16 +02:00
Rémi Verschelde
5271186f2f
Merge pull request #75901 from reduz/refactor-node-processing
Refactor Node Processing to allow Scene Multithreading
2023-05-10 12:46:44 +02:00
smix8
a6ac305f96 Rework Navigation Avoidance
Rework Navigation Avoidance.
2023-05-10 05:01:58 +02:00
Juan Linietsky
98c655ec8d Refactor Node Processing
* Node processing works on the concept of process groups.
* A node group can be inherited, run on main thread, or a sub-thread.
* Groups can be ordered.
* Process priority is now present for physics.

This is the first steps towards implementing https://github.com/godotengine/godot-proposals/issues/6424.
No threading or thread guards exist yet in most of the scene code other than Node. That will have to be added later.
2023-05-09 19:17:51 +02:00
RedworkDE
8e7afec479 Fix various errors when running the unit tests
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-05-09 18:40:56 +02:00
Max Hilbrunner
03dfae4208
Merge pull request #76004 from mashumafi/wait-nav-region-thread 2023-05-05 13:50:09 +02:00
mashumafi
a93a2e519d Wait for navigation baking to finish before destruction 2023-05-02 21:05:47 -04:00
VolTer
818d57b5b4 Light3D show scaling warning immediately 2023-05-01 02:55:17 +02:00
Samuele Panzeri
4aaa2e6477 Fix wait for thread not started 2023-04-27 20:28:22 +02:00
Samuele Panzeri
a2be742f97 Fix editor lock on sdf collision bake on error 2023-04-19 11:00:11 +02:00
Rémi Verschelde
b5b371cf7c
Merge pull request #70332 from aaronfranke/rigid-body-units
Improve some units in RigidBody nodes
2023-04-18 23:38:20 +02:00
Yuri Sizov
8f113c6532
Merge pull request #72749 from aaronfranke/area-priority
Make Area physics priority consistently int and allow negative numbers
2023-04-18 14:21:06 +02:00
Aaron Franke
87bd8d2dcf Make Area physics priority consistently int and allow negative numbers 2023-04-18 13:50:20 +02:00
smix8
4490a3303b Fix NavigationMesh debug visuals for non-triangulated meshes
Fixes NavigationMesh debug visuals for non-triangulated meshes.
2023-04-16 23:31:54 +02:00
Aaron Franke
a83ce0b104
Improve some units in RigidBody nodes 2023-04-15 22:03:24 -05:00
clayjohn
821917ba9f Use angle_rand to calculate base_angle in particles process material 2023-04-13 15:10:47 -07:00
smix8
1549aeaef8 Add Mesh ConvexDecompositionSettings wrapper
Adds wrapper MeshConvexDecompositionSettings to control parameters for Mesh ConvexDecomposition operations.
2023-04-07 22:39:25 +02:00
smix8
aadf33efd8 Fix NavigationObstacles not being added to avoidance simulation
Fixes NavigationObstacles not being added to avoidance simulation.
2023-04-06 16:32:49 +02:00
Aaron Franke
dd0eb1ab47
Change VehicleWheel3D suspension travel to use meters internally 2023-04-03 12:34:05 -07:00
Rémi Verschelde
b237df8cea
Merge pull request #75326 from smix8/navigationagent_expose_parameters_4.x
Expose NavigationAgent path postprocessing and pathfinding algorithm options
2023-04-03 16:02:21 +02:00
Brennen Shaughnessy
2d16fe681d Fixed property hint for platform layers on 3D physics body 2023-03-31 19:40:45 -04:00
Yuri Sizov
1222d35cdd
Merge pull request #75398 from newobj/issue-75218
Update GPUParticles2D/3D speed scale on ENTER_TREE
2023-03-28 16:34:58 +02:00
Brian Long
4652fbd09e Update GPUParticles2D/3D speed scale on ENTER_TREE
Fix for https://github.com/godotengine/godot/issues/75218

Pause notifications are not sent when a node is added as a child. So GPUParticles2D should also obey its can_process status on ENTER_TREE, not just PAUSED/UNPAUSED.
2023-03-27 13:24:59 -07:00
Yuri Sizov
2659fc1a34
Merge pull request #75266 from rburing/shapecast2d_disconnect
Port robust signal (dis)connection to `ShapeCast2D`
2023-03-27 13:08:58 +02:00
smix8
6e324bb341 Expose NavigationAgent path postprocessing and pathfinding algorithm options
Exposes the path postprocessing and pathfinding algorithm options of the NavigationAgent internal NavigationPathQueryParameters object.
2023-03-25 21:37:18 +01:00
Ricardo Buring
5bed055cdd Port robust signal (dis)connection to ShapeCast2D
Ported from ShapeCast3D.
2023-03-24 09:23:03 +01:00
Adam Scott
fd1dfdb960 Set VehiculeWheel3D suspension_travel default value to a resonable one 2023-03-18 16:33:33 -04:00
smix8
0b8798a995 Fix NavigationAgent3D debug path duplicated points
Fixes duplicated points in NavigationAgent3D debug path.
2023-03-16 09:19:04 +01:00
Rémi Verschelde
449e658583
Merge pull request #74555 from RedworkDE/cpuparticles3d-update-buffer-overrun
Fix buffer overrun in `CPUParticles3D` in `precision=double` builds
2023-03-08 08:58:11 +01:00
RedworkDE
89980dd9c9 Fix buffer overrun in CPUParticles3D 2023-03-07 15:46:51 +01:00
Johan Aires Rastén
007b488a5c Fixed incorrect ERROR message when setting new PrimitiveMesh
If calling set_mesh with a PrimitiveMesh that has pending update, the
_mesh_changed function would be called twice. The first time before
set_base had been called, which could lead to an ERROR message about
trying to set an invalid surface override material.
2023-03-04 10:48:47 +01:00
Rémi Verschelde
a2ecbb7c37
Merge pull request #73749 from fabriceci/expose-apply-floor-snap
Exposes the apply_floor_snap function to allow manual snap
2023-03-03 11:03:42 +01:00
clayjohn
c69b14e96e Add warnings for unsupported features in mobile and gl_compatibility backends 2023-02-26 12:28:02 -08:00
smix8
5d1a6e9b12 Fix ShapeCast3D add and remove exception functions
Fixes that ShapeCast3D would accept any parameter object and silently return when it was not a CollisionObject3D.
2023-02-23 23:45:16 +01:00
fabriceci
1381e6da4f Exposes the apply_floor_snap function to allow a snap to be made regardless of velocity. 2023-02-22 14:08:32 +01:00
PrecisionRender
e713c270ea Fix crash when reparenting SoftBody3D with pinned points 2023-02-20 12:12:58 +01:00
Albin
82b90c0e08 Remove visual limit for damping in CPUParticles
Issue #56324 notes that you may can't set the damping property of
CPUParticles2D to anything more that 100 in the editor inspector
while you may set it to anything in code, this is considered a bug and
changed in this commit
2023-02-19 12:47:34 +01:00
Rémi Verschelde
9583c20171
Merge pull request #70515 from stmSi/fix-hanging-audio-pitch-scale
Fix hanging if audiostream's pitch_scale is NaN
2023-02-17 14:06:55 +01:00
Rémi Verschelde
db9007aef4
Merge pull request #73428 from smix8/navigation_tweak_agent3d_4.x
Tweak NavigationAgent3D defaults
2023-02-17 09:56:49 +01:00
clayjohn
76093d6a03 Only include emission when enabled in material during VoxelGI bake 2023-02-16 14:29:17 -08:00
smix8
8be4af38e4 Tweak NavigationAgent3D defaults
Tweaks default values for NavigationAgent3D to work better out of the box within a new 3D project.
2023-02-16 14:26:39 +01:00
Rémi Verschelde
953383328a
Merge pull request #73229 from smix8/navlink_global_positions_4.x
Add NavigationLink helper functions for global positions
2023-02-16 11:02:17 +01:00
smix8
d87f124768 Add NavigationLink helper functions for global positions
Adds helper functions to set the links start and end position with global positions or get them as global positions.

Adds global start and end position for the navigation link to the 'link_reached' signal of NavigationAgent. That signal gets emitted when a navigation link waypoint is reached. Requires that 'owner' meta data is enabled on the NavigationAgent.
2023-02-14 21:56:58 +01:00
Hugo Locurcio
8b1de103a8
Clamp Decal size to positive values
This prevents using negative size, while also preventing
error messages from being spammed if one of the decal's dimensions
is set to exactly 0.
2023-02-13 22:01:49 +01:00
Rémi Verschelde
a90bbc3544
Merge pull request #72225 from MinusKube/shaped_text_invalidated_bug
Mark dirty flags when shaped texts are invalidated
2023-02-13 09:13:27 +01:00
Rémi Verschelde
c3a04f71fd
Merge pull request #73136 from clayjohn/LightmapGI-exr
Set Default compression to VRAM uncompressed for LightmapGI
2023-02-12 10:35:58 +01:00
clayjohn
340c3b84fd Set Default compression to VRAM uncompressed for LightmapGI
This increases the speed to be near instant and removes the perceived lightmap bake speed regression

We need to investigate the speed and quality issues with BPTC and re-enable compression when we can
2023-02-11 16:26:09 -08:00
Haoyu Qiu
65223e98de Strip name prefix of navigation agent debug properties in the inspector 2023-02-11 16:34:08 +08:00
Haoyu Qiu
a40ccc2d7e Improve some editor strings for localization 2023-02-09 19:32:02 +08:00
Rémi Verschelde
d69809cab6
Merge pull request #72947 from DarkKilauea/nav-fix-avoidance-callback
Fix missing avoidance updates when using same velocity
2023-02-09 10:13:35 +01:00
Josh Jones
097f8a5fdb Fix missing avoidance updates when using same velocity
When using avoidance, if you set the same velocity for the agent, you won't get an update from the avoidance system.

This changes both the `set_target_position` and `set_velocity` setters to always accept user provided values, even if they are the same. This ensures that repathing and avoidance logic is always run when the user expects.
2023-02-08 23:18:53 -08:00
smix8
820b841fcb Fix NavigationAgent debug functions bindings in release builds
Fixes that certain NavigationAgent debug functions bindings were not available in release builds.
2023-02-08 21:49:04 +01:00
Markus Sauermann
826e54fa73 Some code simplifications
1. `number_width` isn't used later
2. `return_type` is used only once
3. AudioServer::get_singleton()->get_channel_count() always returns a channel_count of 1 or larger
4. negative `aa->backward` conditional
5. `current_canvas` == `find_world_2d()->get_canvas()`
6. identical if `render_shadows`
2023-02-07 14:30:16 +01:00
Josh Jones
20fdfd466b Improve consistency of NavigationAgent setters 2023-02-02 22:51:37 -08:00
Rémi Verschelde
e52213e2fa
More codespell fixes, do more changes from previous ignore list 2023-02-01 12:11:36 +01:00
Rémi Verschelde
64f0dad2dc
Merge pull request #70446 from akien-mga/meshoptimizer-4a287848f
meshoptimizer: Sync with upstream commit 4a287848f
2023-02-01 07:40:23 +01:00
Rémi Verschelde
3eb1ac9fd2
Merge pull request #72075 from Maran23/extents-to-size
Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal  and GPUParticles*3D
2023-02-01 07:30:09 +01:00
Rémi Verschelde
a350b42e4b
Merge pull request #72473 from aXu-AP/animatablebody3d-editor-move-fix
Fix AnimatableBody3D not being movable in editor
2023-02-01 07:28:47 +01:00
Rémi Verschelde
cf9df3b5d4 meshoptimizer: Sync with upstream commit 4a287848f
4a287848fd
2023-01-31 22:27:49 -08:00
aXu-AP
fab6065e35 Fix AnimatableBody3D not being movable in editor 2023-01-31 23:41:40 +02:00
Marius Hanl
a59819630d Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and GPUParticles*3D
- Extents are replaced by Size (Size is Extents * 2)
- The UI text displays 'Size'
- Snapping is adjusted to work with Size
- _set and _get handle extents for compatibility

Co-authored-by: ator-dev <dominic.codedeveloper@gmail.com>
2023-01-31 20:04:11 +01:00
smix8
0ab764e84b Add NavigationAgent Path Debug Visualization
Adds path debug visuals for NavigationAgent2D, NavigationAgent3D and NavigationServer.
2023-01-31 18:27:35 +01:00
Lyuma
0020d2aeb6 BoneAttachment3D: Remove duplicate override_pose
Also removes unused override_mode property since we removed the local pose override feature in #71137.

Fixes #72407
2023-01-31 03:31:47 -08:00
Rémi Verschelde
d14d6033a5
Merge pull request #72441 from bruvzg/lbl3d_aaa
[Sprite3D/Label3D] Expose alpha antialiasing properties.
2023-01-31 10:54:13 +01:00
Rémi Verschelde
c8446754dd
Merge pull request #72357 from aaronfranke/area-gravity-unit-dist
Replace Area gravity point distance scale with unit distance
2023-01-31 10:53:16 +01:00
bruvzg
b4fe514aa3
[Sprite3D/Label3D] Expose alpha antialiasing properties. 2023-01-31 10:46:38 +02:00
Rémi Verschelde
38f8411ed8
Merge pull request #71964 from bruvzg/mat_key
Fix unsafe murmur3 hash use for the default material keys, expose alpha hash transparency mode for default materials and Label3D and Sprite3D.
2023-01-30 10:03:49 +01:00
Aaron Franke
79215131b5
Replace Area gravity point distance scale with unit distance 2023-01-29 22:12:00 -06:00
Silc Renew
fa198c482e Fix AnimatedSprite play() don't redraw immediately 2023-01-29 08:00:42 +09:00
Rémi Verschelde
3a25148b9b
Merge pull request #72228 from DarkKilauea/nav-agent-callable
Use Callable for Navigation Agent callbacks
2023-01-28 15:58:49 +01:00
Silc Renew
75330887d7 Implement blending audio feature to AnimationTree 2023-01-28 20:08:29 +09:00
Josh Jones
22f9ef19e1 Use Callable for Navigation Agent callbacks 2023-01-27 23:14:36 -08:00
MinusKube
d59c221404 Mark dirty flags when shaped texts are invalidated 2023-01-28 03:31:55 +01:00
Rémi Verschelde
91c0ed5e33
Merge pull request #71907 from TokageItLab/change-animated-sprite-api
Make `AnimatedSprite`'s playback API consistent with `AnimationPlayer`
2023-01-27 10:32:23 +01:00
Rémi Verschelde
91ad92657e
Merge pull request #69689 from smix8/navagent_rename_location_4.x
Rename Navigation uses of 'location' to 'position'
2023-01-26 22:57:03 +01:00
smix8
bf1571979c Rename Navigation uses of 'location' to 'position'
Contrary to the entire rest of the engine NavigationAgent's and NavigationLinks decided to deal with locations instead of positions.
2023-01-26 18:19:03 +01:00
Silc Renew
17bf6238fc Make AnimatedSprite's playback API consistent with AnimationPlayer 2023-01-26 12:40:19 +09:00