Commit Graph

1639 Commits

Author SHA1 Message Date
0c46f73b5e Fixed incorrect property types 2022-01-11 17:17:11 +05:30
c9f5d88f3a Use fill() to fill an entire image instead of setting pixels individually. 2022-01-08 17:43:15 +05:45
726fbb821b Fix incorrect default transform values on foreign 3D nodes 2022-01-06 15:52:22 +00:00
6af77c7b09 Merge pull request #53684 from TokageItLab/orthogonal-mode 2022-01-05 16:05:40 +01:00
ca79373d13 Added material_overlay property to MeshInstance3D
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-05 11:47:51 +01:00
026de65e5f Merge pull request #56491 from hinlopen/n3d-minor-improvement
Minor code improvements in Node3D
2022-01-05 08:49:11 +01:00
805155e2f6 Minor code improvements in Node3D. Refactor Node3D::show/hide/set_visible to a shared implementation. 2022-01-04 23:22:49 +01:00
eab30316ee Merge pull request #55332 from Calinou/voxelgidata-tweak-default-dynamic-range
Decrease the default dynamic range in VoxelGIData to 2.0
2022-01-04 17:18:28 +01:00
851fb16350 Merge pull request #56305 from Calinou/rename-lod-threshold 2022-01-04 15:28:06 +01:00
6c25d05f70 Merge pull request #55370 from Calinou/geometryinstance3d-lod-fade-node-configuration-warning
Emit node configuration warnings for GeometryInstance3D distance fade
2022-01-04 13:58:32 +01:00
2536d6ca20 Merge pull request #55331 from Calinou/voxelgidata-fix-dynamic-range-property 2022-01-04 09:59:26 +01:00
fe52458154 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
df09bc38cb Rename Lod Threshold to Mesh Lod Threshold
This makes it more obvious that the setting only affects mesh LOD,
not manual (H)LOD achieved using visibility ranges.
2021-12-29 00:11:50 +01:00
61759da5b3 Fix some gizmo behavior to make more consistent 2021-12-25 03:24:04 +09:00
742f072c59 GPULightMapper: convert colors of lights to linear
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-11 13:01:07 +01:00
940f3fde5c Improve RigidDynamicBody force and torque API
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-10 15:55:40 -07:00
0c352407d8 VehicleWheel can now return the surface it's colliding with.
Fixed PR issues.

Update vehicle_body_3d.cpp

Apply suggestions from code review

Co-authored-by: Camille Mohr-Daurat <pouleyKetchoup@gmail.com>
2021-12-10 13:22:02 +01:00
3c448437f6 Merge pull request #55263 from RPicster/ParticleMaterial-random-start-color 2021-12-10 10:06:46 +01:00
f455660e93 Merge pull request #55572 from aaronfranke/ci-double 2021-12-10 10:02:38 +01:00
e9808e3d9a Add a double-precision editor build to CI 2021-12-09 09:52:48 -06:00
49403cbfa0 Replace String comparisons with "", String() to is_empty()
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
0c14b930ef Fix _validate_property on AnimatedSprite 2D and 3D 2021-12-08 16:59:11 -06:00
c5550108c8 Decrease the default dynamic range in VoxelGIData to 2.0
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-08 00:28:17 +01:00
cf936ae0dd Rename GPUParticles attractor and collision nodes to have a 3D suffix
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-08 00:21:05 +01:00
30e1478d0f Remove ProximityGroup3D node 2021-12-06 17:01:51 +01:00
ede7614fe2 Merge pull request #55544 from V-Sekai/audio_camera_null_mitigation 2021-12-06 14:19:40 +01:00
441928c7e3 Fix WorldEnvironment node warning about unset resources 2021-12-03 20:04:50 +01:00
ddf82697d7 Random initial color parameter for ParticleMaterial
Works with 2D and 3D GPU Particles
2021-12-03 13:58:17 +01:00
892a5a72cd Merge pull request #55474 from akien-mga/copy-operators-no-reference 2021-12-02 17:34:45 +01:00
ced07100d7 Merge pull request #53287 from Chaosus/sprite3d_fix 2021-12-02 16:23:33 +01:00
7da392bcc5 Don't return reference on copy assignment operators
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-30 16:26:29 +01:00
3135c6f03e Emit node configuration warnings for GeometryInstance3D distance fade
The visibility range begin/end margin properties must be set above 0.0
for the fade transition to be visible.
2021-11-26 21:46:32 +01:00
459e2a4b6f Fixed texture animation speed when using random lifetime ( Particle2D gpu + cpu) as mentioned here: https://github.com/godotengine/godot/issues/54993 2021-11-26 01:12:23 +01:00
4e593b3e9a Fix VoxelGIData dynamic range property being treated as integer
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-26 00:47:31 +01:00
e078f970db Rename remove() to remove_at() when removing by index 2021-11-23 18:58:57 -07:00
ed9b18be94 Fix horizontal velocity being always reset when the body hit a wall in 3d 2021-11-23 11:29:29 +01:00
66ba19a435 Merge pull request #55202 from fabriceci/fix-wall-acceleration-in-3d
Fix wall acceleration in move and slide (3D)
2021-11-22 08:27:56 -07:00
a86d73ef3b Fix body stuck in some 3d advanced scenario 2021-11-22 13:36:51 +01:00
b738af86da Fix wall acceleration in move and slide (3D) 2021-11-21 17:09:49 +01:00
652fd9ffcc Remove outdated comments related to the 20-layer editor limitation
All 32 layers are now exposed in the editor.
2021-11-18 23:02:40 +01:00
8fb7e622a6 Rename built-in SGN() macro to SIGN()
This matches the name of the GDScript function (except it's uppercase
here).
2021-11-16 20:40:49 +01:00
11e03ae7f0 Merge pull request #54810 from nekomatata/area-separate-override-modes
Separate space override modes for gravity/damping in Area
2021-11-11 15:11:21 -07:00
c3ae7ddedd Add raycast options to hit when starting inside / hit back faces
Makes the results consistent for all shape types with options to set
the desired behavior.
2021-11-10 17:43:35 -07:00
3668312e78 Merge pull request #54847 from nekomatata/fix-test-move-regression 2021-11-10 20:38:49 +01:00
5da057adaf Fix test_move reporting collision when touching another body
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-10 11:20:02 -07:00
bfd0d33244 Fix errors in CharacterBody when floor is destroyed or removed
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-10 08:27:33 -07:00
3d1c123d45 Separate space override modes for gravity/damping in Area
Also make inspector clearer for gravity point properties.
2021-11-09 10:29:24 -07:00
6742a338a8 Rename GradientTexture to GradientTexture1D
1. Explicit and unambiguous when comparing to `GradientTexture2D`
2. Consistent with other class names where 1D is used in the engine.
2021-11-07 15:11:04 +02:00
13aaa73124 Merge pull request #54573 from nekomatata/query-parameters 2021-11-05 21:52:39 +01:00
acbd24ea84 Use parameter classes instead of arguments for all physics queries
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-04 11:44:39 -07:00