summaryrefslogtreecommitdiff
path: root/scene/3d
AgeCommit message (Collapse)Author
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-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-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-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
2021-10-17Rework XR positional trackersBastiaan Olij
2021-10-16Merge pull request #53821 from ↵Rémi Verschelde
TwistedTwigleg/Godot_Master_SkeletonModificationIK_FixPoseChange Fix for SkeletonModification3Ds to work with the new bone pose changes.
2021-10-16Fix for SkeletonModification3Ds to work with the new bone pose changes, ↵TwistedTwigleg
fixed global_pose_to_local_pose function
2021-10-16Merge pull request #53865 from reduz/implement-blend-shape-tracksRémi Verschelde
2021-10-16Implement Animation Blend Shape Tracksreduz
* New track type BLEND_SHAPE * Blend shapes are imported via this new track type * Processing is more optimized (no longer relies on variants) * Modified the Blend Shape API in MeshInstance3D to use indices rather than StringNames (more optimizes) * Promo: Fixed a small bug in gizmo updating in Node3D that affected performance Dedicated BlendShape tracks are required for both optimization and eventually implementing them in animation compression.
2021-10-15Swap args of Plane(point, normal) constructormennomax
Now (normal, point)
2021-10-14Merge pull request #53054 from MaxLap/doc_shape_signalsCamille Mohr-Daurat
Improve area/body_shape_entered/exited signals parameter names and doc
2021-10-14Improve area/body_shape_entered/exited signals parameter names and docMaxime Lapointe
Fix some typoed names from the doc Add _index to "index" parameters of *_shape_* signals, this is both in doc and in the template. This makes the code, signature and doc easier to understand Add method to get Node from the _index params of those signals. This was not as easy to find as one would expect. Putting this information where it is needed will help.
2021-10-15get rid set_bone_pose and fix some function in SkeletonEditorSilc 'Tokage' Renew
2021-10-13Remove REST transform influence in skeleton bonesreduz
* Animations and Skeletons are now pose-only. * Rest transform is kept as reference (when it exists) and for IK * Improves 3D model compatibility (non uniform transforms will properly work, as well as all animations coming from Autodesk products).
2021-10-13Merge pull request #53578 from RedHeadphone/patch-1Rémi Verschelde
2021-10-13Merge pull request #53689 from reduz/remove-animation-transform3d-trackRémi Verschelde
2021-10-12Remove animation 3D transform track, replace by loc/rot/scale tracks.reduz
* `Animation.TYPE_TRANSFORM3D` track is gone. * Added POSITION_3D, ROTATION_3D, SCALE_3D tracks. * GLTF2, Collada, FBX importers will only import the track types found. * Skeleton3D bone poses are now Pos/Rot/Scale, pose matrix removed. * AnimationPlayer and AnimationTree animate these tracks separately, only when found. * Removed BakeReset code, is useless with these changes. This is the first in a series of commits designed to make the animation system in Godot more useful, which includes: * Better compatibility with Autodesk products * Better reusability of animations across models (including retargeting). * Proper animation compression. * etc. *Note* GLTF2 animation saving went broken with this PR, needs to be fixed in a subsequent one.
2021-10-12Merge pull request #53676 from Klowner/camera-get-pyramid-rid-shape-crashRémi Verschelde
Fix Camera3D::get_pyramid_shape_rid() crash when not in scene
2021-10-12Fix some LGTM errors of "Multiplication result converted to larger type"Aaron Franke
2021-10-11add failure condition for get_pyramid_shape_rid() when camera3d is not in ↵Mark Riedesel
tree. fixes #53564
2021-10-10Allow AudioStreamPlayer(2D) to provide `pitch_scale` on playbackDouglas Leão
2021-10-09Fix missing argument names in bindingsRémi Verschelde
While at it, tweak some boolean setters to use `p_enabled` for the bool. Also renames `draw_minimap()` to `set_draw_minimap()`.
2021-10-08Improved readability for failing error conditionsDuroxxigar
2021-10-08no limit of negative value for engine_force (VehicleBody class)Red Headphone