summaryrefslogtreecommitdiff
path: root/scene/3d
AgeCommit message (Collapse)Author
2022-01-05Added material_overlay property to MeshInstance3DFernando Cosentino
Applying overlay materials into multi-surface meshes currently requires adding a next pass material to all the surfaces, which might be cumbersome when the material is to be applied to a range of different geometries. This also makes it not trivial to use AnimationPlayer to control the material in case of visual effects. The material_override property is not an option as it works replacing the active material for the surfaces, not adding a new pass. This commit adds the material_overlay property to GeometryInstance3D (and therefore MeshInstance3D), having the same reach as material_override (that is, all surfaces) but adding a new material pass on top of the active materials, instead of replacing them.
2022-01-05Merge pull request #56491 from hinlopen/n3d-minor-improvementRémi Verschelde
Minor code improvements in Node3D
2022-01-04Minor code improvements in Node3D. Refactor Node3D::show/hide/set_visible to ↵Stijn
a shared implementation.
2022-01-04Merge pull request #55332 from Calinou/voxelgidata-tweak-default-dynamic-rangeRémi Verschelde
Decrease the default dynamic range in VoxelGIData to 2.0
2022-01-04Merge pull request #56305 from Calinou/rename-lod-thresholdRémi Verschelde
2022-01-04Merge pull request #55370 from ↵JFonS
Calinou/geometryinstance3d-lod-fade-node-configuration-warning Emit node configuration warnings for GeometryInstance3D distance fade
2022-01-04Merge pull request #55331 from Calinou/voxelgidata-fix-dynamic-range-propertyRémi Verschelde
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-29Rename Lod Threshold to Mesh Lod ThresholdHugo Locurcio
This makes it more obvious that the setting only affects mesh LOD, not manual (H)LOD achieved using visibility ranges.
2021-12-11GPULightMapper: convert colors of lights to linearWilliam Deurwaarder
To make baked colors of lights equal to dynamic colors of lights they have to be converted to linear as the colors of dynamic lights are converted to linear by RendererSceneRenderRD.
2021-12-10Improve RigidDynamicBody force and torque APIPouleyKetchoupp
Makes the API for forces and impulses more flexible, easier to understand and harmonized between 2D and 3D. Rigid bodies now have 3 sets of methods for forces and impulses: -apply_impulse() for impulses (one-shot and time independent) -apply_force() for forces (time dependent) applied for the current step -add_constant_force() for forces that keeps being applied each step Also updated the documentation to clarify the different methods and parameters in rigid body nodes, body direct state and physics servers.
2021-12-10VehicleWheel can now return the surface it's colliding with.Steve Szilágyi
Fixed PR issues. Update vehicle_body_3d.cpp Apply suggestions from code review Co-authored-by: Camille Mohr-Daurat <pouleyKetchoup@gmail.com>
2021-12-10Merge pull request #55263 from RPicster/ParticleMaterial-random-start-colorRémi Verschelde
2021-12-10Merge pull request #55572 from aaronfranke/ci-doubleRémi Verschelde
2021-12-09Add a double-precision editor build to CIAaron Franke
2021-12-09Replace String comparisons with "", String() to is_empty()Nathan Franke
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
2021-12-08Fix _validate_property on AnimatedSprite 2D and 3DJonathan Gollnick
2021-12-08Decrease the default dynamic range in VoxelGIData to 2.0Hugo Locurcio
This reduces visible banding in indirect lighting and reflections. Sharp reflections now match more closely the original scene. The downside of this change is that clipping may appear in reflections in extremely bright scenes, but this should not be a concern in most scenes.
2021-12-08Rename GPUParticles attractor and collision nodes to have a 3D suffixHugo Locurcio
GPUParticles attractors and collision are currently only available in 3D. Their 2D counterparts haven't been implemented yet, but they will use separate nodes.
2021-12-06Remove ProximityGroup3D nodekobewi
2021-12-06Merge pull request #55544 from V-Sekai/audio_camera_null_mitigationRémi Verschelde
2021-12-03Fix WorldEnvironment node warning about unset resourcesPedro J. Estébanez
2021-12-03Random initial color parameter for ParticleMaterialRaffaele Picca
Works with 2D and 3D GPU Particles
2021-12-02Merge pull request #55474 from akien-mga/copy-operators-no-referenceRémi Verschelde
2021-12-02Merge pull request #53287 from Chaosus/sprite3d_fixRémi Verschelde
2021-11-30Don't return reference on copy assignment operatorsRémi Verschelde
We prefer to prevent using chained assignment (`T a = b = c = T();`) as this can lead to confusing code and subtle bugs. According to https://en.wikipedia.org/wiki/Assignment_operator_(C%2B%2B), C++ allows any arbitrary return type, so this is standard compliant. This could be re-assessed if/when we have an actual need for a behavior more akin to that of the C++ STL, for now this PR simply changes a handful of cases which were inconsistent with the rest of the codebase (`void` return type was already the most common case prior to this commit).
2021-11-26Emit node configuration warnings for GeometryInstance3D distance fadeHugo Locurcio
The visibility range begin/end margin properties must be set above 0.0 for the fade transition to be visible.
2021-11-26Fixed texture animation speed when using random lifetime ( Particle2D gpu + ↵Raffaele Picca
cpu) as mentioned here: https://github.com/godotengine/godot/issues/54993
2021-11-26Fix VoxelGIData dynamic range property being treated as integerHugo Locurcio
Floating-point values are accepted as dynamic range settings. This also clamps the lowest value to 1.0, as there's no practical use case for going below 1.0 (it introduces clipping without improving precision).
2021-11-23Rename `remove()` to `remove_at()` when removing by indexLightning_A
2021-11-23Fix horizontal velocity being always reset when the body hit a wall in 3dfabriceci
2021-11-22Merge pull request #55202 from fabriceci/fix-wall-acceleration-in-3dCamille Mohr-Daurat
Fix wall acceleration in move and slide (3D)
2021-11-22Fix body stuck in some 3d advanced scenariofabriceci
2021-11-21Fix wall acceleration in move and slide (3D)fabriceci
2021-11-18Remove outdated comments related to the 20-layer editor limitationHugo Locurcio
All 32 layers are now exposed in the editor.
2021-11-16Rename built-in `SGN()` macro to `SIGN()`Hugo Locurcio
This matches the name of the GDScript function (except it's uppercase here).
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