Commit graph

2247 commits

Author SHA1 Message Date
Pawel Lampe
fcbb521392 Fix crash in 'NavigationAgent3D', fixes #78910 2023-07-02 22:30:03 +02:00
Ricardo Buring
104da478a8 Fix CharacterBody3D get_position_delta()
Calculate the difference of global positions.
This also fixes get_real_velocity().
2023-06-26 23:15:57 +02:00
Rémi Verschelde
c1ad74d4c3
Merge pull request #78579 from aaronfranke/col-poly-obj-name
Internally rename `parent` to `collision_object` in CollisionPolygon(2D/3D)
2023-06-23 00:06:09 +02:00
Aaron Franke
7c4921e794
Internally rename parent to collision_object in CollisionPolygon(2D/3D) 2023-06-22 14:06:05 -05:00
Rémi Verschelde
cb73a6e9f9
Merge pull request #78490 from clayjohn/GLES3-particles-subemit
Add warnings and fallbacks for particles sub emitters when using the GL Compatibility rendering backend
2023-06-22 21:02:38 +02:00
Markus Sauermann
399bce02cf Fix 3D top_level resetting
There is no need to erase the top_level flag on EXIT_TREE.
During ENTER_TREE, `top_level = true` is not necessary, because it is
already set to true.
2023-06-22 18:58:29 +02:00
clayjohn
8a5af8183a Add warnings and fallbacks for particles sub emitters when using the GL Compatibility rendering backend
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-06-21 12:56:52 -07:00
Rémi Verschelde
243c8e0b40
Merge pull request #77465 from lyuma/ik_skeleton_reference_bug
SkeletonIK3D: Avoid holding hard pointers to Skeleton3D
2023-06-20 00:02:47 +02:00
Rémi Verschelde
d63794d466
Merge pull request #77629 from GameDevLlama/bugifx/issue-50813
Fix non-functional Node3D `top_level` property
2023-06-18 16:30:42 +02:00
Christian Ringshofer
20e8189f5d Fix non functional Node3D op_level property
Fixes #50813.
2023-06-18 15:01:01 +02:00
smix8
ae9dd47d0c Add agent pause mode to NavigationServer
Adds agent pause mode to NavigationServer.
2023-06-18 12:37:03 +02:00
Rémi Verschelde
c6d9139f16
Merge pull request #78280 from raulsntos/path-follow-3d-clamp
Clamp `PathFollow3D` progress when not looping
2023-06-16 10:20:43 +02:00
Rémi Verschelde
6fb391bc23
Fix various typos with codespell
And ignore some false positives introduced by recent versions of codespell.
2023-06-16 08:45:35 +02:00
Raul Santos
0b4ec4027c
Clamp PathFollow3D progress when not looping 2023-06-15 16:59:14 +02:00
Rémi Verschelde
0da20d019e
Merge pull request #77412 from smix8/fix_threaded_navmesh_baking_4.x
Fix for threaded NavigationMesh baking under new thread guards
2023-06-15 10:49:58 +02:00
Rémi Verschelde
b1d3070648
Merge pull request #77175 from smix8/region_refactor_4.x
Refactor NavigationRegion internals
2023-06-15 10:39:53 +02:00
smix8
4c970f1a67 Refactor NavigationRegion internals
Refactors NavigationRegion internals.
2023-06-15 09:52:14 +02:00
Hugo Locurcio
f683230a8b
Tweak VehicleBody3D and VehicleWheel3D property hints
These property hints are better aligned with the documentation
and typical use cases, while still allowing values to go outside
those ranges (except for steering, where steering above 180° doesn't
make sense).
2023-06-15 07:45:55 +02:00
smix8
ee14b010ac Fix for threaded NavigationMesh baking under new thread guards
Fixes threaded NavigationMesh baking under new SceneTree thread guards that blocked the process.
2023-06-14 01:53:37 +02:00
Yuri Sizov
991f4d5183 Avoid error spam when (un)pausing GPUParticles out of tree 2023-06-12 18:18:51 +02:00
smix8
c1fc331b88 Update navigation obstacle API
Updates navigation obstacle API.
2023-06-12 14:26:45 +02:00
Ninni Pipping
0c16082e1e Use get_node_or_null when null checks are present
Avoids duplicate or unnecessary errors
2023-06-10 13:22:56 +02:00
Ninni Pipping
dcd2b883eb Use NULL instead of COND checks when appropriate
Restricted to scene
2023-06-10 08:56:30 +02:00
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