summaryrefslogtreecommitdiff
path: root/scene/3d
AgeCommit message (Collapse)Author
2021-11-11Merge pull request #54810 from nekomatata/area-separate-override-modesCamille Mohr-Daurat
Separate space override modes for gravity/damping in Area
2021-11-10Add raycast options to hit when starting inside / hit back facesPouleyKetchoupp
Makes the results consistent for all shape types with options to set the desired behavior.
2021-11-10Merge pull request #54847 from nekomatata/fix-test-move-regressionRémi Verschelde
2021-11-10Fix test_move reporting collision when touching another bodyPouleyKetchoupp
Reporting rest collision information is needed for move_and_collide and move_and_slide so floor detection can be done properly, but in the case of just testing the motion for collision, it makes sense to return false if the body is able to move all along the path without being stopped. Updated the logic in test_move and clarified the documentation for test_move and move_and_collide.
2021-11-10Fix errors in CharacterBody when floor is destroyed or removedPouleyKetchoupp
In all physics servers, body_get_direct_state() now silently returns nullptr when the body has been already freed or is removed from space, so the client code can detect this state and invalidate the body rid. In 2D, there is no change in behavior (just no more errors). In 3D, the Bullet server returned a valid direct body state when the body was removed from the physics space, but in this case it didn't make sense to use the information from the body state.
2021-11-09Separate space override modes for gravity/damping in AreaPouleyKetchoupp
Also make inspector clearer for gravity point properties.
2021-11-07Rename `GradientTexture` to `GradientTexture1D`Andrii Doroshenko (Xrayez)
1. Explicit and unambiguous when comparing to `GradientTexture2D` 2. Consistent with other class names where 1D is used in the engine.
2021-11-05Merge pull request #54573 from nekomatata/query-parametersRémi Verschelde
2021-11-04Use parameter classes instead of arguments for all physics queriesPouleyKetchoupp
Same as what is already done for shape queries, applied to point and ray queries. Easier to document and more flexible to add more parameters. Also expose intersect_point method to script in 3D. Remove intersect_point_on_canvas in 2D, replaced with a parameter.
2021-11-03Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`Hugo Locurcio
This is consistent with other constants that include `NO`, such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-11-03Merge pull request #54072 from KoBeWi/hrcr_is_dedRémi Verschelde
2021-11-03Merge pull request #54104 from Scony/improve-navigation-obstaclesRémi Verschelde
Improve NavigationObstacle3D usability
2021-11-02Merge pull request #54471 from rafallus/callable_area_monitorRémi Verschelde
2021-11-01Validate fog volume propertiesclayjohn
2021-11-01Use `Callable` in Area monitor callbackrafallus
2021-11-01Merge pull request #37880 from nekomatata/rigid-body-damping-overrideCamille Mohr-Daurat
Improved RigidDynamicBody linear/angular damping override
2021-10-30Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio
- Use lowercase driver names for the `--rendering-driver` command line argument.
2021-10-29Fix crashing of `FogVolume`s when `WorldEnvironment` was addedYuri Roubinsky
2021-10-29Merge pull request #53353 from clayjohn/VULKAN-fog-volumesRémi Verschelde
FogVolumes, FogShaders, FogMaterial, and overhaul of VolumetricFog
2021-10-28Addition of FogVolumes, FogShaders, FogMaterial, and overhaul of VolumetricFogclayjohn
Co-authored-by: Brian Semrau <brian.semrau@gmail.com>
2021-10-28Fix crash due to reentrancy in AudioStreamPlayer* finished signal.Lyuma
This crash occurred when an audio stream finished playing in NOTIFICATION_INTERNAL_PROCESS, during which it would iterate through a loop of playbacks, leading to a "finished" signal, which removed the audio player from the tree which led to a NOTIFICATION_EXIT_TREE, which would mutate the array of playbacks while within the above loop. This moves the signal callback outside of the loop which avoids the crash. Note: previously, the signal was called multiple times if the same player finishes multiple times in one frame. Now it is at most once per frame. Affects AudioStreamPlayer, AudioStreamPlayer2D and AudioStreamPlayer3D
2021-10-28Merge pull request #54350 from akien-mga/clang-format-dont-align-operandsRémi Verschelde
2021-10-28Merge pull request #54222 from JFonS/instance-fadeRémi Verschelde
2021-10-28clang-format: Enable `BreakBeforeTernaryOperators`Rémi Verschelde
clang-format keeps breaking the way it handles break *after* ternary operators, so I give up and go with the only style they seem to actually test.
2021-10-28clang-format: Various fixes to comments alignment from `clang-format` 13Rémi Verschelde
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28clang-format: Disable alignment of operands, too unreliableRémi Verschelde
Sets `AlignOperands` to `DontAlign`. `clang-format` developers seem to mostly care about space-based indentation and every other version of clang-format breaks the bad mismatch of tabs and spaces that it seems to use for operand alignment. So it's better without, so that it respects our two-tabs `ContinuationIndentWidth`.
2021-10-28Remove node_hrcr hackkobewi
2021-10-27Merge pull request #54157 from bjauny/fix_potential_nullpointer_collision3dCamille Mohr-Daurat
Fix potential null pointer use, based on #54094 fix
2021-10-27Fix potential null pointer use, based on #54094 fixBastien JAUNY
2021-10-25Improved RigidDynamicBody linear/angular damping overridePouleyKetchoupp
Damping values are now non-negative. Add new properties linear_damp_mode and angular_damp_mode to set the way RigidDynamicBody and PhysicalBone (2D & 3D) use damping values. It can now be Combine (default) to add to the default/areas, or Replace to override the value completely (current behavior).
2021-10-25Fix properties being displayed when they shouldn't in DirectionalLight3DHugo Locurcio
The parent `_validate_property()` wasn't called, which led to shadow properties being visible even if shadows were disabled on a DirectionalLight3D node.
2021-10-25Merge pull request #54084 from reduz/node3d-rotation-optionsRémi Verschelde
2021-10-25Merge pull request #54147 from ↵Rémi Verschelde
Calinou/editor-directionallight-3d-only-show-relevant-properties
2021-10-25Improve NavigationObstacle3D usabilityPawel Lampe
Fix NavigationObstacle3D to be attached to navigation map - without it the NavigationObstacle3D is not working. Replace radius approximation algorithm with simple "radius" property.
2021-10-25Refactored Node3D rotation modesreduz
* Made the Basis euler orders indexed via enum. * Node3D has a new rotation_order property to choose Euler rotation order. * Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations. The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
2021-10-25Only show relevant properties in the DirectionalLight3D inspectorHugo Locurcio
Some split distance properties are unused depending on the current shadow mode. Also, Blend Splits can only be used if the shadow mode is PSSM 2 Splits or PSSM 4 Splits. This also moves the Fade Start property to be located after the split properties. This avoids intertwining "conditional" properties with a property that's always available.
2021-10-25Implement distance fade and transparencyJFonS
The built-in ALPHA in spatial shaders comes pre-set with a per-instance transparency value. Multiply by it if you want to keep it. The transparency value of any given GeometryInstance3D is affected by: - Its new "transparency" property. - Its own visiblity range when the new "visibility_range_fade_mode" property is set to "Self". - Its parent visibility range when the parent's fade mode is set to "Dependencies". The "Self" mode will fade-out the instance when reaching the visibility range limits, while the "Dependencies" mode will fade-in its dependencies. Per-instance transparency is only implemented in the forward clustered renderer, support for mobile should be added in the future. Co-authored-by: reduz <reduzio@gmail.com>
2021-10-24Setting the visible multimesh instance to -1 so that they are updated ↵Hristo Stamenov
correctly on set_amount. When emitting stops CPUParticles3D::_set_redraw(bool p_redraw) will set that value to 0 so when you change the amount after that it will actually not update correclty. This fixes an issue where if it was not emitting when the scene loaded and it start after that the amount is not reflected correclty. This also happened when you checked out the box for emitting in the editor, changed the value of amount and then checked on the box for emitting. With this change if it is emitting during the change it does interrupt the previous particles when you change. The amount and the emit starts from beginning but that is to be expected on an amount of particles change.
2021-10-23Fixed animation insertion in SkeletonEditorSilc 'Tokage' Renew
2021-10-22Merge pull request #54088 from madmiraal/remove-unimplemented-methodsRémi Verschelde
2021-10-21Remove unimplemented methodsMarcel Admiraal
2021-10-21Merge pull request #52367 from Duroxxigar/improve-nav-error-messagesRémi Verschelde
Improve readability for failing errors in nav area
2021-10-21Merge pull request #54053 from nekomatata/fix-soft-body-disable-modeRémi Verschelde
Fix SoftDynamicBody3D crash when setting disable mode
2021-10-21Fix SoftDynamicBody3D crash when setting disable modePouleyKetchoupp
Proper logic for changing physics state when disabled and disabled mode is changed (it was unnecessarily making calls to re-initialize physics). Extra error handling in soft body implementations to avoid crashes with invalid mesh.
2021-10-21Change the unreacheable return value of shape_find_owner()Kemikal1
Update collision_object_3d.cpp 2d modified and UINT32 usage Proper uINT32max usage Change the unreacheable return value of shape_find_owner() This reverts commit 5be98b81428169ba2dd5baecd00f1adfd9260e5c, reversing changes made to efa3ff6b9587d674cd448aca32abfd31b2c7f4d3. Change the unreacheable return value of shape_find_owner() changed from 0 to uint32_max" This reverts commit c143bb099af2666454f82428a57f2721af60a84d. Revert "changed from 0 to uint32_max"" This reverts commit 59e94edb9a32edff15f3cb881e6fc394d2aa7f65. Revert "changed from 0 to uint32_max" This reverts commit c143bb099af2666454f82428a57f2721af60a84d. Revert "Revert "changed from 0 to uint32_max""" This reverts commit c81d1073ec21b4cde4684a6dbd595f3359283bad. Revert "changed from 0 to uint32_max" This reverts commit c143bb099af2666454f82428a57f2721af60a84d. Revert "changed from 0 to uint32_max"" This reverts commit 59e94edb9a32edff15f3cb881e6fc394d2aa7f65. Revert "Revert "changed from 0 to uint32_max""" This reverts commit 6dbd972aa5c4580d4f6270ead6c66eea18617f29. Revert "changed from 0 to uint32_max"" This reverts commit 59e94edb9a32edff15f3cb881e6fc394d2aa7f65. Revert "Revert "changed from 0 to uint32_max""" This reverts commit b769ac2d11ad12f02a388d9dad17519f81d9c3b6. Revert "Revert "Revert "changed from 0 to uint32_max"""" This reverts commit 1e8d84f7ec12da01c3153e08bb8609cf2c6fd58a. Revert "Revert "Revert "Revert "changed from 0 to uint32_max""""" This reverts commit 0dc17abefad6d540c18bba7b4df9d8c04e090d0c. Change the unreacheable return value of shape_find_owner()
2021-10-21Merge pull request #54036 from nekomatata/fix-soft-body-memory-corruptionRémi Verschelde
2021-10-20Fix SoftDynamicBody3D memory corruption when switching mesh at runtimePouleyKetchoupp
When switching the mesh at runtime, the physics server wasn't properly updated with the new mesh. Now we keep track of the soft body mesh to make sure everything is properly initialized on pre-draw. Also cleaned a few things around private methods.
2021-10-20doctool: Fix differences between headless and Vulkan rendering backendsRémi Verschelde
Fixes #53913.
2021-10-19Merge pull request #52210 from BastiaanOlij/enhance_xr_trackersRémi Verschelde
2021-10-18Merge pull request #52773 from Calinou/audiostreamplayer3d-tweak-max-distanceRémi Verschelde