Commit Graph

2573 Commits

Author SHA1 Message Date
Birk Magnussen dd97ff44ab
Fixes the issue where setting global rotation would reset scale.
This was caused because the basis for the target global transform was entirely recreated. This process did not account for the scale of the basis of the current global transform.
This PR amends this by scaling the recreated basis for the global transform by the current global scale of the Node3D.
Note that this scaling has to be done from the current global scale and not from the local scale of the Node3D, otherwise issues would arise if parents of this Node3D would be scaled.
2024-04-16 13:43:00 +02:00
Aaron Franke 77e35cf781
Move NavigationMeshSourceGeometryData(2D/3D) to the 2D/3D subfolders 2024-04-15 18:40:43 -07:00
Per Melin a990e42207 LightmapGI: Reduce warnings and increase probe accuracy 2024-04-15 18:57:53 +02:00
Rémi Verschelde 4e1ed6bc23
Merge pull request #90668 from timothyqiu/owner-id
Store `ObjectID` instead of pointer for KinematicCollision owner
2024-04-15 10:00:32 +02:00
Haoyu Qiu 4176102a5e Store ObjectID instead of pointer for KinematicCollision owner 2024-04-15 12:28:36 +08:00
Silc Lizard (Tokage) Renew 78a5ef4158 replace bone_pose_updated to skeleton_updated signal 2024-04-13 05:48:42 +09:00
smix8 1c134f4a3d Add navigation path simplification
Adds navigation path simplification for NavigationServer and NavigationAgent.
2024-04-11 12:32:21 +02:00
smix8 5d6e8d7dff Add option to bake a mesh from blend shape mix
Adds option to bake a mesh from blend shape mix.
2024-04-10 23:35:28 +02:00
Lyuma 2854d0a7ca
Expose MeshInstance3D.get_skin_reference and add docs 2024-04-10 14:12:25 +02:00
Bastiaan Olij 509d8dba2a Add reflection probe support to compatibility renderer using 2 probe approach. 2024-04-09 16:53:28 +10:00
Kusok c0cc9d2b5e Fix deprecated=no build 2024-04-06 23:13:38 +08:00
Rémi Verschelde 4d20840b11
Merge pull request #90231 from TokageItLab/mod-reset
Remove unavailable property binding `reset_on_save` from Skeleton3D
2024-04-05 12:16:44 +02:00
Rémi Verschelde 63db50654a
Merge pull request #90217 from Calinou/editor-decal-allow-greater-emission-energy
Allow Decal Emission Energy values above 128 in the inspector
2024-04-05 12:16:31 +02:00
Silc Lizard (Tokage) Renew bf3ef56c2f Remove unavailable property binding reset_on_save from Skeleton3D 2024-04-05 08:47:50 +09:00
Hugo Locurcio ae12244e13
Allow Decal Emission Energy values above 128 in the inspector
This also sets the maximum value for the slider to 16 to match
BaseMaterial3D (higher values can be entered or dragged manually).
2024-04-04 21:19:17 +02:00
Silc Lizard (Tokage) Renew 04dd299cba Skeleton3D: Add SkeletonModifier / Deprecate Override / Separate PB 2024-04-05 01:28:26 +09:00
Rémi Verschelde 7c6892662d
Merge pull request #90095 from QbieShay/qbe/fix-cpuparticle-instancew
Fix `INSTANCE_CUSTOM.w` not being assigned correctly in CPUParticles 2D and 3D
2024-04-04 14:37:15 +02:00
QbieShay 1d81068be7 Fixed INSTANCE_CUSTOM.w not being assigned correctly in CPUParticles 2D and 3D 2024-04-01 14:00:40 +02:00
kobewi 25f9f923a1 Rename some arguments called "position" 2024-03-27 01:28:24 +01:00
Rémi Verschelde 21dc88bf74
Merge pull request #89727 from Malcolmnixon/fix-avatars-without-root-bone
Fix XRBodyModifier3D hip driving for avatars no Root bone
2024-03-24 01:22:50 +01:00
Malcolm Nixon 435eb06e4b Fix for avatars without a root bone. 2024-03-20 23:56:10 -04:00
A Thousand Ships 79ba22a73f
Use `Vector*` component-wise `min/max/clamp` functions where applicable 2024-03-20 13:47:42 +01:00
Apples a002b212df Fixed CPUParticles3D using angle incorrectly when ROTATE_Y is set. 2024-03-17 01:07:10 -05:00
smix8 5d5e85fe07 Add NavigationObstacle options to affect and carve navigation mesh
Adds NavigationObstacle options to affect and carve navigation mesh.
2024-03-15 01:45:44 +01:00
Rémi Verschelde c6d5a782c7
Merge pull request #89468 from MrPersonDev/increase-rigidbody-mass-precision
Increase precision of RigidBody `mass` property
2024-03-14 22:35:16 +01:00
MrPersonDev f63d76427d Increase precision of rigidbody mass 2024-03-13 21:17:25 -07:00
Hugo Locurcio b2a3e8cb34
Move Max Contacts Reported below Contact Monitor in RigidBody inspector
This also changes the code used to hide the custom center of mass
property for consistency with other places in the editor
(only this approach worked for Contact Monitor as well).

The Center of Mass property hint in RigidBody2D was also modified
for better usability.
2024-03-13 23:17:35 +01:00
clayjohn d8f2768b90 Improve warning when XR shaders are not enabled 2024-03-11 14:17:37 -07:00
Micky ba867042a2 Fix Label3D, TextMesh & Font not following project default theme in editor 2024-03-09 17:35:48 +01:00
Rémi Verschelde 6c9a166308
Merge pull request #89219 from devloglogan/xr-profile-changed
Expose `profile_changed` signal to XRController3D
2024-03-07 00:24:03 +01:00
Rémi Verschelde fcb0adf132
Merge pull request #89130 from Malcolmnixon/xr-hand-scaling
Fix XRHandModifier3D scaling
2024-03-07 00:23:56 +01:00
Logan Lang 1383401c71 Expose profile_changed signal to XRController3D 2024-03-06 16:48:25 -06:00
Rémi Verschelde ee3c01068c
Merge pull request #89103 from Malcolmnixon/xr-body-hips-height
Fix XR Body crouching and climbing
2024-03-06 09:50:18 +01:00
Malcolm Nixon 2fdabd97f9 Modify the XRHandModifier3D to scale appropriately with Skeleton3D.motion_scale and XRServer.world_scale 2024-03-05 19:26:15 -05:00
Malcolm Nixon d2db147805 Allow the hips joint to be positioned even if the bone update mode is set to "Rotation Only". Apply appropriate world and skeleton scaling. 2024-03-05 19:25:02 -05:00
Rémi Verschelde 257f1f6596
Merge pull request #89145 from bruvzg/lbl3d_aabb
[Label3D] Calculate AABB from the full text rect instead of individual glyphs.
2024-03-05 09:56:09 +01:00
bruvzg e866ab4a72
[Label3D] Calculate AABB from the full text rect instead of individual glyphs. 2024-03-04 15:53:26 +02:00
Rémi Verschelde 8e6661cb48
Merge pull request #89056 from YeldhamDev/rotulo_tres_de
Make `Label3D` obey auto translation
2024-03-04 13:33:49 +01:00
Rémi Verschelde d824b2c28e
Merge pull request #88884 from MajorMcDoom/bone-attach-global
Fix `BoneAttachment3D` responding to only local transform changes
2024-03-04 13:33:19 +01:00
Malcolm Nixon 8fcf385ac5 Allow the hips joint to be positioned even if the bone update mode is set to "Rotation Only". 2024-03-02 22:17:29 -05:00
Michael Alexsander 55b22c2bf6
Make `Label3D` obey auto translation 2024-03-01 14:19:17 -03:00
Rémi Verschelde d9a881b37c
Merge pull request #89009 from smix8/navobstacle_debug_visibility
Fix NavigationObstacle3D debug not reacting to visiblity changes
2024-03-01 15:00:38 +01:00
Rémi Verschelde 79005978b7
Merge pull request #88947 from lawnjelly/fix_physics_platform_rid
Fix physics platform crash
2024-03-01 15:00:35 +01:00
Rémi Verschelde c1377920cd
Merge pull request #86743 from Mickeon/autocompletion-optimise-object
Optimise comparisons for Object's `get_argument_options`
2024-03-01 14:56:06 +01:00
Micky cd2032a90b Optimise Object's `get_argument_options` 2024-02-29 18:00:54 +01:00
smix8 785b5f4574 Fix NavigationObstacle3D debug not reacting to visiblity changes
Fixes NavigationObstacle3D debug not reacting to visiblity changes.
2024-02-29 15:45:43 +01:00
Rémi Verschelde 810a0dbff1
Don't access Node3D/Node2D/Control global transform in `reparent` unless needed
Fixes #89002.

Co-authored-by: Tamás Gálffy <ezittgtx@gmail.com>
2024-02-29 14:07:48 +01:00
Rémi Verschelde df78c0636d
Merge pull request #88798 from Malcolmnixon/xr-body-tracker
XR: Add body tracking support.
2024-02-28 09:34:40 +01:00
lawnjelly 0b1266b812 Fix physics platform crash
Physics body previously stored the RID of a collision object and accessed it on the next frame, leading to a crash if the object had been deleted.
This PR checks the object still exists via the ObjectID prior to access.
2024-02-28 08:24:32 +00:00
Malcolm Nixon 57aa734562 Add body tracking support. 2024-02-27 19:51:59 -05:00
smix8 f556d7a54b Change ShapeCast3D and RayCast3D debug to use RenderingServer directly
Changes ShapeCast3D and RayCast3D debug to use RenderingServer directly.
2024-02-27 20:33:27 +01:00
smix8 35dafc9fa8 Split monolithic physics class files
Splits monolithic physics class files.
2024-02-27 11:18:16 +01:00
Zi Ye 8768db5c33 Fix BoneAttachment3D responding to only local transform changes 2024-02-26 12:59:57 -06:00
Aaron Franke c399424db9
Move 3D-only resources to their own folder 2024-02-26 05:23:04 -06:00
Zi Ye 995bc8d049 Make Skeleton3D::add_bone return the new bone index right away, instead of requiring an additional call to get_bone_count. 2024-02-25 05:24:48 -06:00
Rémi Verschelde 0d83267923
Merge pull request #88639 from dsnopek/xrserver-hand-tracker
Provide generic interface for XR hand tracking
2024-02-23 22:19:05 +01:00
David Snopek 2184fa9698 Provide generic interface for XR hand tracking 2024-02-23 12:20:22 -06:00
Rémi Verschelde 0072a0ba31
Merge pull request #88684 from clayjohn/GLES3-visibility-notifier
Implement VisibilityNotifier3D in the compatibility backend
2024-02-23 11:29:50 +01:00
clayjohn 3c2f30ed23 Implement VisibilityNotifier3D in the compatibility backend 2024-02-22 12:35:24 -08:00
Rémi Verschelde 150f002092
Merge pull request #82984 from smix8/revert_blendshapes_4.x
Show revert button for MeshInstance3D blendshape values
2024-02-22 14:39:02 +01:00
Rémi Verschelde 292f4c7f97
Merge pull request #80214 from BastiaanOlij/rendering_effect
Implement hooks into renderer
2024-02-20 23:59:27 +01:00
Arman Elgudzhyan c41725c9c6 Removed unnecessary AABB initialization for CPUParticles
Setting an AABB manually for CPUParticles unnecessarily registers as a custom AABB and can cause issues on some platforms and hardware.
2024-02-20 09:48:18 -08:00
Rémi Verschelde aa7ac130c0
Merge pull request #88312 from Malcolmnixon/face-tracker-provider
Add XR Face Tracking support
2024-02-19 10:43:45 +01:00
Rémi Verschelde 7d4e24dc78
Merge pull request #88009 from nikitalita/Skeleton3D-missing-pose
Fix converted 3.x `Skeleton3D` missing pose
2024-02-19 10:43:41 +01:00
Bastiaan Olij 5a98845655 Implement hooks into renderer 2024-02-18 21:54:21 +11:00
Malcolm Nixon 7d1a1abe76 Initial XRFaceTrackingProvider and XRFaceTracker work.
Updated to XRFaceModifier3D.
2024-02-17 20:12:47 -05:00
Rémi Verschelde 21f0529aa9
Revert "Update Node::get_configuration_warnings signature"
This reverts commit d3852deaa4.
2024-02-17 19:03:21 +01:00
Rémi Verschelde cde454434f
Merge pull request #88403 from Mickeon/VisibleOnScreenNotifier-is-differently-abled
Allow VisibleOnScreenNotifier2D/3D to have empty `enable_node_path`
2024-02-17 00:27:17 +01:00
Rémi Verschelde d094b86d20
Merge pull request #88402 from mihe/double-soft-body
Fix `SoftBody3D` for double-precision builds
2024-02-17 00:27:11 +01:00
Micky 445b1e9c5f Allow VisibleOnScreenNotifier2D/3D to have empty `enable_node_path` 2024-02-16 17:34:02 +01:00
Mikael Hermansson 701ecd3a0d Fix `SoftBody3D` for double-precision builds 2024-02-16 15:49:56 +01:00
Arman Elgudzhyan ec6518d9cd Custom ("visiblity") AABB support for CPUParticles
- Improves performance by reducing time spent on AABB generation.
- Also adds an option to generate the AABB manually in the CPUParticles3D dropdown.
2024-02-15 22:37:07 -08:00
Rémi Verschelde 4859f8090f
Merge pull request #85455 from xiongyaohua/fix_CSGPolygon_not_following_Path3D
Notify CSGPolygon about transform changes in Path3D
2024-02-15 15:44:39 +01:00
Rémi Verschelde ca733a4bf8
Merge pull request #88019 from mihe/wrong-contact-count
Fix `get_contact_count` sometimes being incorrect in `_process`
2024-02-14 10:59:45 +01:00
Rémi Verschelde eb77418075
Merge pull request #87006 from AThousandShips/frame_fix
Fix member names of `AudioFrame` to match extension
2024-02-13 17:23:37 +01:00
Rémi Verschelde 473c27904a
Merge pull request #80233 from xiongyaohua/fix_pathfollower3d_rotation_mode
Fix PathFollow3D update issues
2024-02-13 17:22:59 +01:00
A Thousand Ships d8b29efe66
Fix member names of `AudioFrame` to match extension 2024-02-13 15:37:09 +01:00
smix8 2dfa023135 Show revert button for MeshInstance3D blendshape values
Shows revert button for MeshInstance3D blendshape values.
2024-02-13 00:43:05 +01:00
Rémi Verschelde 5306b917e6
Merge pull request #87164 from 0x0ACB/camera_fix
Rename camera `near` and `far` private members to avoid conflict with `Windows.h` defines
2024-02-12 23:29:22 +01:00
smix8 c914e63464 Fix NavigationRegion errors from signal changes
Fixes NavigationRegion errors from signal changes.
2024-02-10 03:04:24 +01:00
A Thousand Ships 684752e75b
Replace error checks against `size` with `is_empty` 2024-02-09 12:50:15 +01:00
Rémi Verschelde dd275238d1
Merge pull request #86907 from aaronfranke/getter-const
Change AudioStreamPlayer autoplay and GLTFBufferView getters to be const
2024-02-09 12:33:09 +01:00
RedMser d3852deaa4 Update Node::get_configuration_warnings signature 2024-02-08 23:05:20 +01:00
Aaron Franke 35c99bbcc1
Change AudioStreamPlayer autoplay and GLTFBufferView getters to be const 2024-02-08 13:01:50 -06:00
Rémi Verschelde 9484a3776b
Merge pull request #87583 from milkiq/master
Modify display and documentation of attenuation for Light3D
2024-02-08 10:53:40 +01:00
Rémi Verschelde 251d5b3669
Merge pull request #87715 from Scony/add-is-baking
Expose `is_baking` method in navigation servers and region nodes.
2024-02-07 10:58:27 +01:00
Mikael Hermansson f2d615cdc7 Fix contact count sometimes being incorrect in `_process` 2024-02-06 14:29:43 +01:00
nikitalita 3fbbc3bbd6 Fix `Skeleton3D` deprecated format missing pose 2024-02-05 23:36:31 -08:00
milkiq cf453ae8d9 Modify display and documentation of attenuation for Light3D 2024-02-06 12:41:30 +08:00
Pawel Lampe c2cfc0d409 Expose `is_baking` method in navigation servers and region nodes. 2024-02-05 22:04:22 +01:00
Hugo Locurcio 93be97e6a7
Make ShaderMaterial always the last option in inspector resource dropdowns
ShaderMaterial is the "advanced" option, while the "basic" options
should be listed first for easier accessibility (and because they're
generally used more often).

This makes sky and particle materials consistent with
canvas/spatial/fog materials on this aspect.
2024-02-05 21:49:17 +01:00
A Thousand Ships fb1662b939
Fix crash with `PhysicsBody2D/3D::get_gravity` with invalid state 2024-02-05 16:40:49 +01:00
Rémi Verschelde acde2a81ff
Merge pull request #84640 from aaronfranke/gravity-get
Expose a method to get gravity for any physics body
2024-02-05 14:48:31 +01:00
A Thousand Ships 6d3c987808
Fix `max_collisions` not being passed in `PhysicsBody3D::test_move` 2024-02-03 16:19:09 +01:00
Rémi Verschelde 7de27ea56a
Merge pull request #84643 from rsburke4/top-level-problem-fix
Fix `Node3D` children using `top_level` in different position in-editor versus runtime
2024-02-02 12:01:25 +01:00
Aaron Franke b015fba2c8
Orthonormalize PhysicalBone3D transforms 2024-01-31 00:10:01 -06:00
Aaron Franke aed5ea9460
Expose a method to get gravity for any physics body 2024-01-30 23:57:38 -06:00
Aaron Franke 52aa5668fe
Fix AudioStreamPlayer3D autoplay and internal notifications 2024-01-30 00:56:12 -06:00
Rémi Verschelde fa48a51183
Merge pull request #87688 from AThousandShips/what_is_this
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +01:00
Rémi Verschelde 440d8cd989
Merge pull request #87167 from 0x0ACB/public_character_body
Make CharacterBody properties public
2024-01-29 13:16:48 +01:00