clayjohn
1b5f422c73
Validate physical light units in GI classes.
...
Add checks for physical light units in a few more places to ensure they aren't used when disabled.
2022-09-14 17:39:25 -07:00
Micky
8142bc4ddd
Allow negative speed_scale
in AnimatedSprite2D & 3D
...
If the `speed_scale` is set to a negative value, the animation plays in reverse.
The second parameter of `play()` still reverses as before. if `speed_scale` and the second parameter of `play()` is true, the animation plays forward.
Also updates the documentation to better describe the pausing and playing behaviour.
2022-09-13 12:41:07 +02:00
Rémi Verschelde
3a82a1315b
Merge pull request #65591 from MewPurPur/area-overlapping-function
...
Implement `Area[2D/3D].has_overlapping_[bodies/areas]`
2022-09-13 10:58:55 +02:00
kobewi
d5c703b83e
Don't store frame of playing AnimatedSprite
2022-09-12 22:59:35 +02:00
Rémi Verschelde
97830e7187
Merge pull request #64155 from Mickeon/sprite-3d-backwards-speed-scale
2022-09-12 12:15:58 +02:00
VolTer
ed4fe1e2bd
Implement Area.has_overlapping_*
2022-09-10 12:17:37 +02:00
Micky
b648ee43ab
Harmonise AnimatedSprite3D and its 2D counterpart
...
Add the following properties to AnimatedSprite3D:
- `backwards` parameter in `play()`;
- `speed_scale`.
Both classes' internals are more similar, down to the line spacings. They've also been updated to be clearer and less inconsistent (e.g. `!frames.is_valid()` -> `frames.is_null()`, use SceneStringNames instead of CoreStringNames, rename the internal _queue_update to _queue_redraw)
2022-09-09 21:06:24 +02:00
Rémi Verschelde
ce6f284e5f
Merge pull request #64394 from smix8/navigation_obstacles_reparent_4.x
...
Fix NavigationObstacle 2D/3D (re)parent issues
2022-09-09 19:20:14 +02:00
smix8
d7f75fab60
Remove / Replace old Navigation Debug Visualization
...
- removes / replaces leftovers from old navigation debug code
- cleanes SceneTree and ProjectSettings from old navigation debug
2022-09-07 18:30:35 +02:00
Micky
a7ce7b1d3f
Fix AudioStreamPlayer not resuming after returning to SceneTree
2022-09-05 16:52:46 +02:00
Rémi Verschelde
904d8bdb3c
Merge pull request #65292 from AlmightyLaxz/prevent-shapecast3d-debug-without-debugcollisions
2022-09-05 13:59:51 +02:00
Haoyu Qiu
f0f24b9a62
Fix crash when executing LightmapGIData._set_light_textures_data
2022-09-04 20:43:25 +08:00
Almighty Laxz
44042a957f
Stop ShapeCast3D drawing when debug collisions off
2022-09-04 02:28:30 +09:30
Hugo Locurcio
f7292dbeb3
Rename or_lesser
range property hint to or_less
...
"less" should be used for quantity, rather than "lesser".
Existing scripts that use `or_lesser` in `_get_property_list()`
will need to be updated to account for this change.
2022-09-02 19:08:20 +02:00
Rémi Verschelde
3a62c294c7
Merge pull request #65170 from KoBeWi/your_argument_is_TypedArray
2022-09-02 13:57:02 +02:00
Rémi Verschelde
4fa3675ffa
Merge pull request #65218 from xX-Void-Xx/area2d/3d-optimization
2022-09-02 13:53:28 +02:00
Rémi Verschelde
c82bbc38a5
Merge pull request #64952 from Chaosus/vs_rename_uniform_to_param
2022-09-02 13:49:53 +02:00
Void
fdfe11d4b3
fixed and optimized Area2/3D get_overlapping_bodies/areas
...
fixed a type and made it so area3d get_overlapping_x is similar to its counterpart func in area2d so that it uses TypedArray instead of Array and ERR_FAIL_COND_V_MSG instead of no message, also minimized array resize calls
2022-09-02 12:00:04 +01:00
Jonathan Nicholl
15d057c521
Add is_zero_approx
methods to Vector2
, 3
, and 4
2022-09-02 00:29:50 -04:00
Rémi Verschelde
005aac2dbe
Merge pull request #65187 from JohanAR/vector_to_size
2022-09-01 23:50:59 +02:00
Rémi Verschelde
2e0cffdb6f
Merge pull request #63479 from DarkKilauea/nav-link
2022-09-01 23:44:22 +02:00
Johan Aires Rastén
b7e2d45233
Replace Vector2(i) with Size2(i) for methods returning a size
2022-09-01 20:04:17 +02:00
Rémi Verschelde
ca59f47f31
Merge pull request #64157 from Mickeon/remove-mysterious-is-playing
2022-09-01 17:40:32 +02:00
kobewi
7adc8376ed
Change Array arguments to TypedArray
2022-09-01 13:13:19 +02:00
Yuri Rubinsky
8191b3c110
Rename uniform
to parameter
across the engine
2022-09-01 11:42:57 +03:00
Rémi Verschelde
89f0886425
Merge pull request #65073 from bruvzg/trim_spaces
...
[TextServer] Add support for trimming edge spaces on line break.
2022-09-01 08:16:52 +02:00
bruvzg
7aad14a4b6
[TextServer] Add support for trimming edge spaces on line break.
2022-09-01 08:11:55 +03:00
clayjohn
385ee5c70b
Implement Physical Light Units as an optional setting.
...
This allows light sources to be specified in physical light units in addition to the regular energy multiplier. In order to avoid loss of precision at high values, brightness values are premultiplied by an exposure normalization value.
In support of Physical Light Units this PR also renames CameraEffects to CameraAttributes.
2022-08-31 12:14:46 -07:00
Rémi Verschelde
d58a1d65a9
Merge pull request #63413 from Calinou/volumetric-fog-add-per-light-energy-2
...
Add a per-light volumetric fog energy property
2022-08-31 08:47:03 +02:00
Rémi Verschelde
96b470b28e
Merge pull request #63394 from Calinou/curve-gradient-rename-interpolate
...
Rename Curve/Curve2D/Curve3D/Gradient `interpolate()` to `sample()`
2022-08-31 08:37:12 +02:00
Hugo Locurcio
ae18928748
Rename Curve/Curve2D/Curve3D/Gradient interpolate()
to sample()
...
"sampling" is a more accurate term than "interpolating" for what's
happening when using that function.
2022-08-30 22:08:38 +02:00
Rémi Verschelde
c24c67858a
Merge pull request #65087 from TokageItLab/change-skeleton-3d-api
...
Clean-up/change some Skeleton3D API
2022-08-30 21:18:19 +02:00
Hugo Locurcio
09bedcead4
Add a per-light volumetric fog energy property
...
Per-light energy gives more control to the user on the final result of
volumetric fog. Specific lights can be fully excluded from volumetric fog
by setting their volumetric fog energy to 0, which improves performance
slightly. This can also be used to prevent short-lived dynamic effects
from poorly interacting with volumetric fog, as it's updated over several
frames by default unless temporal reprojection is disabled.
Volumetric fog shadows now obey Light3D's Shadow Opacity property as well.
The shadow fog fade property was removed as it had little visible impact
on the final scene's rendering.
2022-08-30 20:03:38 +02:00
Silc Renew
28b11e216a
Clean-up/change some Skeleton3D API
2022-08-30 23:03:12 +09:00
Nong Van Tinh
76b4041f38
Fixed surface material overrides are not applied when the new mesh is set
2022-08-30 12:43:59 +07:00
rafallus
7f2740f7bd
Expose input interaction virtual functions in CollisionObject
2022-08-29 14:04:52 +02:00
Rémi Verschelde
e60086f98b
Merge pull request #64119 from YuriSizov/theme-init-database
2022-08-29 14:02:21 +02:00
Josh Jones
3dd59013f4
Added node for Navigation links
2022-08-26 22:05:15 -07:00
Rémi Verschelde
f9f2446972
Merge pull request #64367 from Mickeon/rename-var-to-str
...
Rename `str2var` to `str_to_var` and similar
2022-08-26 23:04:06 +02:00
Yuri Sizov
6320a0fc18
Add ThemeDB, expose previously static Theme methods
2022-08-26 19:23:05 +03:00
Micky
59e11934d8
Rename str2var
to str_to_var
and similar
...
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.
- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`
- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
fabriceci
f8cc88fab3
Restore RigidBody2/3D, SoftBody names in physics
2022-08-26 12:26:25 +02:00
Rémi Verschelde
4bcb625dae
Merge pull request #63528 from bruvzg/fix_lbl3d_oversampling
2022-08-26 11:44:02 +02:00
Rémi Verschelde
af692912d4
Merge pull request #54646 from jmb462/fix-animatedsprite-animation-list
...
Fix AnimatedSprite2D & 3D animation list in inspector
2022-08-26 08:22:51 +02:00
Micky
723bf85145
Rename ParticlesMaterial to ParticleProcessMaterial
...
Also affects their file names, related classes and documentation.
2022-08-26 02:53:08 +02:00
jmb462
ae9560af82
Fix AnimatedSprite2D & 3D animation list in inspector
2022-08-26 00:05:58 +02:00
Rémi Verschelde
88145e81e2
Merge pull request #64804 from Mickeon/rename-path-progress
2022-08-25 18:35:48 +02:00
Rémi Verschelde
af88438c71
Merge pull request #64354 from Mickeon/rename-navigation-distance
2022-08-25 18:35:23 +02:00
Rémi Verschelde
78033235bb
Merge pull request #64802 from benbot/master
2022-08-25 17:50:51 +02:00
fabriceci
31549dca29
Shorten variable names for moving platforms in CharacterBody
2022-08-25 09:15:18 +02:00
Rémi Verschelde
1204ad32d1
Merge pull request #64829 from fabriceci/improve-monitor-contact-api
...
Improves the API for monitoring contacts in RigidDynamicBody
2022-08-25 07:31:06 +02:00
benbot
9c1bcdcf1a
removes unused skeleton functions and stray comments in RigidDynamicBody3D
2022-08-24 16:49:39 -04:00
fabriceci
59bf35f3df
Improves the API for monitoring contacts in RigidDynamicBody
2022-08-24 21:23:11 +02:00
Rémi Verschelde
2961651444
Merge pull request #64691 from TokageItLab/Quaternion-editor
2022-08-24 18:36:54 +02:00
fabriceci
3f9db7b398
Adds a method to return the angular velocity of a platform
2022-08-24 18:03:12 +02:00
Silc Renew
673c649adb
Implement Quaternion Editor
2022-08-24 22:04:49 +09:00
Rémi Verschelde
b556d8c9a0
Merge pull request #64370 from Mickeon/rename-marker-node
...
Rename Position* nodes to Marker*
2022-08-24 08:52:13 +02:00
Rémi Verschelde
91e5f48ea7
Merge pull request #64009 from KoBeWi/arrayy_lmao
...
Replace Array return types with TypedArray (part 2)
2022-08-24 08:18:56 +02:00
Micky
bb936b2e27
Rename PathFollow's offset
s to progress
& progress_ratio
...
Applies for both PathFollow2D and PathFollow3D
2022-08-24 01:56:03 +02:00
kobewi
1abdffe7a0
Replace Array return types with TypedArray 2
2022-08-23 23:21:32 +02:00
Micky
8bb305356e
Rename Position* nodes to Marker*
...
- Position2D -> Marker2D
- Position3D -> Marker3D
Also changes their respective file names.
2022-08-23 19:49:50 +02:00
Rémi Verschelde
2adfcc60e2
Joint3D: Remove utility method bindings for angular limits
...
The inspector now supports converting degrees to radians automatically when
using the `radians` hint, so all those utility bindings were redundant.
This cleans things up by making these properties with slash properly bound
to `set_param`/`get_param` which the users can call with the relevant enum.
2022-08-23 11:57:44 +02:00
Rémi Verschelde
7764151bc1
Rename properties unnecessarily using slash (/
) in their names
...
This is a legacy of Godot 2 days before the inspector had support for groups.
"Properties" with a slash in their name can't be accessed from script unless
using `set()`/`get()` so they were not actual properties as far as script
languages are concerned.
Part of #17558 .
2022-08-23 11:57:43 +02:00
kobewi
8be27dc59e
Replace Array return types with TypedArray
2022-08-22 22:42:36 +02:00
Rémi Verschelde
1f61d47766
Merge pull request #64339 from YuriSizov/core-multilevel-validate-property
2022-08-22 21:39:48 +02:00
Rémi Verschelde
7b4927bb5f
Merge pull request #60309 from The-O-King/oct
2022-08-22 19:29:21 +02:00
Yuri Sizov
1a24c9e14b
Make _validate_property
a multilevel method
2022-08-22 18:35:11 +03:00
Rémi Verschelde
af76fb4567
Merge pull request #63486 from TokageItLab/init-poses
2022-08-22 17:32:02 +02:00
Rémi Verschelde
5193332d10
Merge pull request #64343 from TokageItLab/priority-ph
2022-08-22 17:31:23 +02:00
Rémi Verschelde
fdc36ad082
Merge pull request #64553 from RedMser/fix-property-validation-refactor
2022-08-22 16:54:47 +02:00
Paul Joannon
6bc0be16a5
Expose the collider RID in Raycast nodes
...
Create and expose the method `get_collider_rid` in `RayCast2D` and `Raycast3D`.
This method returns the `RID` of the first object that the ray intersects, or an empty `RID` if no object is intersecting the fay (i.e. `is_colliding` returns `false`).
2022-08-22 09:18:08 +02:00
Omar El Sheikh
2425d798cd
Octahedral Normal Support for Sprite and Soft Body
...
Properly encode the normal and tangent vectors with octahedral
compression
2022-08-20 10:01:46 -07:00
Yuri Sizov
469c18152f
Merge pull request #64592 from mhilbrunner/move-fast-break-things
...
Unexpose VelocityTracker3D
2022-08-19 20:43:02 +03:00
Yuri Sizov
7895a66cf2
Merge pull request #64334 from YuriSizov/core-bind-property-revert-methods
...
Make `property_*_revert` methods multilevel and expose them for scripting
2022-08-19 20:41:41 +03:00
Max Hilbrunner
da567cb1f9
Unexpose VelocityTracker3D
2022-08-19 02:28:24 +02:00
RedMser
c25b8f2876
Remove unintentional PROPERTY_USAGE_INTERNAL
...
The flag only matters for property definition,
but was also used in _validate_property a lot.
2022-08-18 16:25:00 +02:00
RedMser
83f2723893
Fix some property validation not been refactored
2022-08-18 16:24:15 +02:00
Silc Renew
b27fe6452d
add init bone poses
2022-08-18 18:41:37 +09:00
Silc Renew
b31115cdc1
Add collision weight to PhysicsBody for penetrations must be avoided
...
Co-authored-by: Juan Linietsky <reduzio@gmail.com>
2022-08-18 08:10:31 +09:00
Yuri Sizov
980f5f32f4
Make property_*_revert
methods multilevel and expose them for scripting
2022-08-18 00:03:53 +03:00
Tomasz Chabora
2bdd7e9ea0
Add methods for node reparenting
2022-08-16 19:44:41 +02:00
Hugo Locurcio
0f95db6786
Hide properties that have no effect in Label3D inspector
...
- Use the disabled GI mode as Label3D can't contribute to GI in any way.
- Improve Label3D class documentation.
2022-08-15 18:41:32 +02:00
smix8
5162d9ac8b
Fix NavigationObstacle 2D/3D (re)parent issues
...
Fixes (re)parent issues with NavigationObstacle 2D and 3D (same as NavigationAgents).
Also adds the option from NavigationAgents to override the default navigation map.
2022-08-14 16:23:27 +02:00
Micky
b62d06fbed
Rename Navigation's neighbor_dist
to neightbor_distance
...
NavigationAgent2D/3D.`neighbor_dist` -> `neighbor_distance` (also affects setters and getters)
NavigationServer2D/3D.`agent_set_neighbor_dist()` -> `agent_set_neighbor_distance()`
Also changes their parameters' names.
Doesn't affect "Agent.neighborDist_" in Agent.h
2022-08-13 12:40:55 +02:00
Hugo Locurcio
126114cfda
Fix ORMMaterial3D not being taken into account by static VoxelGI
2022-08-11 21:39:05 +02:00
Rémi Verschelde
e9e9e92e48
Merge pull request #64147 from smix8/fix_navigationregion3d_debug_doublerender_4.x
...
Fix NavigationRegion3D debug mesh rendering twice in Editor
2022-08-11 09:42:38 +02:00
Rémi Verschelde
edf07ee7a6
Merge pull request #64160 from Calinou/tweak-label3d-defaults
2022-08-10 11:48:39 +02:00
Silc Renew
7331295523
add get_depth() to KinematicCollision3D as same of 2D
2022-08-10 10:33:58 +09:00
Hugo Locurcio
160d10dc7b
Decrease default AudioStreamPlayer2D/3D panning strength
...
The default panning strength is now more in line with how other
engines play positional sound.
2022-08-09 18:46:52 +02:00
Hugo Locurcio
a13d8578e0
Tweak Label3D defaults for better readability
...
- Increase font size and decrease pixel size.
- The font is rendered at the same physical size, but is more detailed,
which is visible when the camera is up close.
- Add an outline to improve readability on mixed-color backgrounds.
- The outline is fairly thick to ensure it doesn't get too grainy
at a distance (without requiring MSDF or mipmaps on the default
project font).
2022-08-09 16:26:28 +02:00
Micky
83f96139ac
Remove AnimatedSprite3D.is_playing()
for redundancy
...
Also removes the underscore prefix from `_set_playing()` and `_is_playing()`
2022-08-09 13:20:07 +02:00
smix8
0e4c31ce57
Fix NavigationRegion3D debug mesh rendering twice in Editor
...
Fixes double rendering of NavigationRegion3D debug mesh due to both 3DGizmo and runtime debug rendering the mesh at the same time.
2022-08-09 11:12:03 +02:00
Rémi Verschelde
d9d5990c51
Merge pull request #64034 from DarkKilauea/fix-nav-region-gizmo
2022-08-08 22:37:00 +02:00
Rémi Verschelde
bc81c02fe1
Merge pull request #62571 from Calinou/gpuparticlescollisionsdf3d-add-bake-mask
2022-08-08 10:18:11 +02:00
Rémi Verschelde
b712727515
Merge pull request #64068 from DarkKilauea/fix-region-travel-cost
2022-08-08 08:55:02 +02:00
Josh Jones
8c324132d0
Fix typo when setting NavigationRegion travel_cost
2022-08-07 10:40:33 -07:00
Hugo Locurcio
baaa7503c7
Add a shadow opacity property to Light3D
...
This can be used to make shadows translucent for a specific light.
The light distance fade system also uses this to smoothly fade the shadow
when the light fade transition distance is greater than 0.
2022-08-07 11:06:32 +02:00
Josh Jones
92c40bcf32
Fix NavigationRegion3D gizmo's odd visual behavior
2022-08-06 23:54:57 -07:00
Rémi Verschelde
25915cdd0e
Merge pull request #59844 from Calinou/rename-shader-param-methods
2022-08-05 02:52:06 +02:00
Hugo Locurcio
db22b7ded0
Rename shader parameter uniform setter/getter methods for consistency
...
`shader_uniform` is now consistenly used across both per-shader
and per-instance shader uniform methods. This makes methods easier
to find in the class reference when looking for them.
2022-08-04 23:17:06 +02:00
Ricardo Buring
74f41f8560
Fix SoftDynamicBody3D normals
...
Store normal vector in A2B10G10R10 format.
2022-08-04 23:10:04 +02:00
Hugo Locurcio
e1ae87cf3d
Allow more precise adjustments of orthogonal/frustum size in Camera3D
2022-08-03 23:51:08 +02:00
Hugo Locurcio
84076513b1
Use global coordinates for particles by default
...
Particles won't move or rotate anymore with the node (or its parents)
by default. This new default behavior is generally more suited
to most use cases. Local coordinates can still be enabled on a per-node basis.
This affects both 2D and 3D particles, and both CPU and GPU-based particles.
2022-08-02 23:25:02 +02:00
Hugo Locurcio
fa019f6e14
Change default material alpha scissor threshold to 0.5
...
This makes the default behavior consistent between SpriteBase3D,
BaseMaterial3D and imported glTF scene materials.
Alpha scissor threshold property hints now allows for more precise
adjustments as well.
2022-08-01 02:00:16 +02:00
Hugo Locurcio
a0795b4347
Tweak VoxelGI defaults for better quality
...
Overall brightness is similar to the previous settings, but lighting
now fades off more naturally and reflections feature indirect lighting.
Performance is identical.
- Enable Use Two Bounces by default.
- Decrease Propagation to 0.5 to compensate for the second bounce.
2022-07-31 18:05:24 +02:00
Marcus Elg
f629438a8b
Add meter suffix to ShapeCast3D margin property
2022-07-31 12:36:15 +02:00
Ricardo Buring
54a9dcfa40
Don't move nonexistent debug shapes
2022-07-30 22:21:23 +02:00
PrecisionRender
2f46749f4e
Fix ShapeCast3D
creating runtime shape in editor
2022-07-30 10:21:53 -05:00
kobewi
c3606cb5f3
Swap arguments of ResourceSaver.save()
2022-07-29 19:53:09 +02:00
Rémi Verschelde
7199314eb3
Merge pull request #63595 from reduz/remove-signal-connect-binds
...
Remove Signal connect binds
2022-07-29 18:10:39 +02:00
Juan Linietsky
d4433ae6d3
Remove Signal connect binds
...
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
Rémi Verschelde
8b454f8b41
Merge pull request #62601 from smix8/navigation_3d_debug_4.x
2022-07-29 12:29:32 +02:00
smix8
c394ea518e
Add more detailed Navigation Debug Visualization
...
- Adds more customization options to ProjectSettings.
- Displays navregion edge connections and navigation polygon edges in editor and at runtime.
- Majority of debug code moved from SceneTree to NavigationServer.
- Removes the irritating debug MeshInstance child node from NavigationRegion3D and replaces it with direct RenderingServer API.
2022-07-29 09:58:41 +02:00
Rémi Verschelde
7c93373008
Merge pull request #63161 from PrecisionRender/master
...
Add `ShapeCast3D` node
2022-07-29 08:07:13 +02:00
PrecisionRender
8cbb9b8b0a
Add ShapeCast3D node
2022-07-28 12:08:42 -05:00
Rémi Verschelde
199ea349f5
Merge pull request #57698 from bluenote10/feature/rename_translated_to_translated_local
2022-07-28 10:03:07 +02:00
Rémi Verschelde
ed61fb2a8b
Merge pull request #63138 from TokageItLab/normalize-position-track
...
Add position track normalization to importer retarget
2022-07-27 16:49:18 +02:00
bruvzg
c9966db8a1
Fix Label3D not updated on window resize.
2022-07-27 14:24:18 +03:00
Rémi Verschelde
dd664f20fb
Merge pull request #63440 from YuriSizov/joints-six-degrees-of-order
2022-07-27 11:42:57 +02:00
Hugo Locurcio
a151a74a98
Tweak Decal distance fade defaults and add property hints
...
The new default values are more usable in real world scenarios
when smooth fading of distant decals is desired for performance reasons.
The Decal distance fade property hints were adjusted based on the
GeometryInstance3D visibility range fade property hints. `or_greater`
was also added to allow specifying larger values if needed.
2022-07-27 03:15:46 +02:00
Silc Renew
dde235ad82
add position track normalization & post process key value for retarget
2022-07-26 18:48:08 +09:00
Hugo Locurcio
cac2033c02
Fix missing Distance Fade category in OmniLight3D/SpotLight3D inspector
2022-07-25 19:11:24 +02:00
Yuri Sizov
197d2ff790
Group properties of Generic6DOFJoint slightly better
2022-07-25 18:07:55 +03:00
Juan Linietsky
c7255388e1
Remove ThreadWorkPool, replace by WorkerThreadPool
...
The former needs to be allocated once per usage. The later is shared for all threads, which is more efficient.
It can also be better debugged.
2022-07-25 15:39:50 +02:00
Rémi Verschelde
90019676b0
Code quality: Fix header guards consistency
...
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
Rémi Verschelde
3084a48ace
Merge pull request #63219 from reduz/implement-vector4-projection
2022-07-25 11:13:27 +02:00
reduz
455c06ecd4
Implement Vector4, Vector4i, Projection
...
Implement built-in classes Vector4, Vector4i and Projection.
* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.
These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.
**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23 14:00:01 +02:00
reduz
d1ddee2258
Implement BPM support
...
Based on #62896 , only implements the BPM support part.
* Implements BPM support in the AudioStreamOGG/MP3 importers.
* Can select BPM/Bar Size and total beats in a song file, as well as edit looping points.
* Looping is now BPM aware
* Added a special importer UI for configuring this.
* Added a special preview showing the audio waveform as well as the playback position in the resource picker.
* Renamed `AudioStream::instance` to `instantiate` for correctness.
2022-07-23 07:31:17 +02:00
FireForge
84431bd782
Use integer types in Image and ImageTexture methods
...
- Image.blit_rect()
- Image.blit_rect_mask()
- Image.blend_rect()
- Image.blend_rect_mask()
- Image.fill_rect()
- Image.get_used_rect()
- Image.get_rect()
- ImageTexture.set_size_override()
2022-07-18 19:43:32 -05:00
Rémi Verschelde
73f47921ea
Merge pull request #61590 from Haydoggo/path-follow-fix
2022-07-18 09:36:02 +02:00
Silc Renew
f3af3aedfe
add rest fixer to importer retarget
2022-07-16 19:53:11 +09:00
Fabian Keller
2bf9e6090c
rename translate(d) to translate(d)_local in Transform 2D/3D
2022-07-16 11:47:54 +02:00
bruvzg
cbe3a2dcb7
Use BitField hint for the TextServer enums. Add missing parts for BitField support to the GDextension API.
2022-07-15 08:49:50 +03:00
Hayden Leete
fded50fced
prevent crash on NaN offset in path_follower 2d and 3d
2022-07-14 14:15:02 +12:00
kobewi
2f777b9a1e
Remove unused hints
2022-07-12 00:44:13 +02:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources.
2022-07-06 14:12:36 +03:00
Hugo Locurcio
aa9403bcda
Clamp VoxelGI extents to reasonable values to avoid breaking baking
...
This also prevents crashes when resizing a VoxelGI's extents to 0
on any axis.
2022-07-05 18:32:44 +02:00
bruvzg
329923c6ac
Use custom key structs, instead of raw hashes for the Label3D and TextMesh, to avoid potential hash collisions.
2022-07-04 09:47:49 +03:00
Rémi Verschelde
41fdddb1f8
Merge pull request #62677 from akien-mga/particles-fix-warnings-update
2022-07-03 18:42:51 +02:00
Rémi Verschelde
5d9e56ecec
Particles: Fix missing configuration warning updates
...
Fixes #33488 .
2022-07-03 16:04:20 +02:00
kleonc
73ecd71b7d
Fix no hint_string
for frame
property in AnimatedSprite
s
2022-07-03 15:31:43 +02:00
Rémi Verschelde
a2459c7d35
Merge pull request #61610 from TokageItLab/importer-retarget-registered-gdhumanoid
2022-07-02 00:17:21 +02:00
Rémi Verschelde
692c2d9215
Merge pull request #50755 from foxydevloper/add-global-position-and-global-rotation
...
Add global_position and global_rotation to Node3D
2022-07-01 21:50:42 +02:00
Hugo Locurcio
e7315fcc45
Clamp Decal's upper/lower fade to positive values
...
Negative easing values result in broken rendering.
2022-07-01 19:23:57 +02:00
foxydevloper
8b16a4131f
Add global_position and global_rotation to Node3D
2022-07-01 10:27:07 -04:00
Hugo Locurcio
32973094f5
Add a Bake Mask property to GPUParticlesCollisionSDF3D
...
This allows not accounting for certain visible meshes during baking
(such as foliage and thin fixtures).
This also adds a clarification about transparent materials always
being excluded in the OccluderInstance3D documentation.
2022-06-30 23:12:40 +02:00
Silc Renew
dc43cfc830
implement bone renamer in importer
2022-07-01 03:55:28 +09:00
Rémi Verschelde
8a00d7c847
Merge pull request #62527 from smix8/navigation_agent_property_groups
...
Group NavigationAgent properties
2022-06-30 01:24:05 +02:00
Rémi Verschelde
a7e589df38
Merge pull request #62084 from smix8/path_debug_options_4.x
...
Add Path2D/3D debug options
2022-06-29 20:36:43 +02:00
smix8
dde09be302
Group NavigationAgent properties
...
Groups the ill-defined NavigationAgent properties between pathfinding and avoidance to make it more clear which property affects what.
2022-06-29 18:42:51 +02:00
Rémi Verschelde
d53f1fb388
Merge pull request #60935 from Calinou/geometryinstance3d-gi-mode-default-static
...
Use the Static global illumination mode in GeometryInstance3D by default
2022-06-28 14:40:53 +02:00
Rémi Verschelde
c79aad0257
Merge pull request #62396 from reduz/fix-local-vector-transitions-in-node3d
...
Fix VECTOR/LOCAL transitions in Node3D
2022-06-27 21:45:02 +02:00
reduz
7acf697479
Fix VECTOR/LOCAL transitions in Node3D
...
Fixes #62225 , supersedes #62227
2022-06-27 13:45:35 +02:00
JFonS
12459ab334
Merge pull request #62124 from holgac/bugfix-62096
...
Fixes #62096 : LightmapGIData::_get_light_textures_data crash on empty image
2022-06-26 12:30:19 +02:00
Rémi Verschelde
dd3de622d8
Merge pull request #62372 from MarcusElg/nosliderrename
...
Rename @export_range's noslider option to no_slider
2022-06-25 14:03:44 +02:00
Juan Linietsky
14f9fbfed8
Revert "Refactored rotation_mode
in Node3D"
2022-06-25 09:44:25 +02:00
Silc Renew
4880b86f07
fix set_position()
2022-06-25 06:17:41 +09:00
Priyansh Rathi
e995764e50
add support for soft shadows to the lightmapper
2022-06-24 21:50:13 +05:30
Marcus Elg
6c1ac9f3be
Rename export_range's noslider option to no_slider
2022-06-24 10:45:34 +02:00
Rémi Verschelde
49d8748848
Merge pull request #62227 from TokageItLab/fix-rotation-mode-node3d
2022-06-24 10:07:21 +02:00
Hugo Locurcio
610363add0
Use the Static global illumination mode in GeometryInstance3D by default
...
This makes VoxelGI and SDFGI work out of the box with primitive meshes,
loaded OBJ meshes and CSG nodes.
2022-06-23 22:34:23 +02:00
Silc Renew
51c884f7ac
fix method when rotation_mode changed
2022-06-23 16:55:16 +09:00
reduz
d69e3791bf
Fix editor-only visibility for lights
...
* Update visibility again for editor-only lights if owner changes.
Fixes #26399 , supersedes #52327
2022-06-23 08:19:18 +02:00
smix8
e12e239ab4
Add Path2D/3D debug options
...
Add Path2D/3D debug options.
2022-06-20 17:32:05 +02:00
Rémi Verschelde
21b0c7fc22
Merge pull request #62214 from smix8/navigation_layer_bitmask_helpers_4.x
2022-06-20 15:13:33 +02:00
Rémi Verschelde
3d49e89b9b
Merge pull request #62181 from smix8/navigation_navagent_pathpoint_dist_4.x
2022-06-20 14:54:16 +02:00
reduz
141c375581
Clean up Hash Functions
...
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934
* Clean up usage of murmur3
* Fixed usages of binary murmur3 on floats (this is invalid)
* Changed DJB2 to use xor (which seems to be better)
2022-06-20 12:54:19 +02:00
smix8
55923ade68
Add navigation layer bitmask helper functions
...
Adds helper functions to work with the navigation layer bitmask.
2022-06-19 13:47:19 +02:00
baihan
da7eb96804
Fix physical bone is not animated in running project.
2022-06-19 09:46:34 +08:00
smix8
07740302f3
Add NavigationAgent desired path distance
...
Add NavigationAgent desired path distance
2022-06-18 19:11:49 +02:00
Hugo Locurcio
5b72ccc254
Fix Light3D angular_distance
property hint being in radians
...
The unit is internally stored as degrees and is treated as such,
so it should be displayed as-is in the inspector.
2022-06-17 20:00:54 +02:00
Ellen Poe
d384d84f45
Audio: Expose 2D/3D panning strength parameters
2022-06-17 13:08:48 +02:00
holgac
a5c01dc25a
Fixes #62096 : LightmapGIData::_get_light_textures_data crash on empty image
...
The program crashes when trying to determine slice width/height if the
light texture is empty. This fix just returns an empty array, as if the
light texture does not exist.
2022-06-17 02:27:08 +02:00
bruvzg
b5c96df277
Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer.
2022-06-16 16:49:37 +03:00
Rémi Verschelde
9ddf13e7ad
Merge pull request #60151 from Klowner/pathfollow3d-parallel-transport-improvement
...
PathFollow3D parallel transport frame reliability improvements
2022-06-15 23:54:00 +02:00
smix8
245da150e7
Streamline Navigation layer function names.
...
Streamline Navigation layer function names.
2022-06-15 00:18:48 +02:00
smix8
f10ff0efda
Add NavigationAgent set_navigation_map() function
...
Add NavigationAgent set_navigation_map() and get_navigation_map() function.
2022-06-14 21:48:47 +02:00
Rémi Verschelde
111a3ca097
Merge pull request #59125 from KoBeWi/link_to_the_vector
2022-06-14 16:18:17 +02:00
Rémi Verschelde
d845d690f2
Merge pull request #61861 from techiepriyansh/multi-image-atlases
2022-06-14 16:11:30 +02:00
kobewi
5553e27fe8
Add vector value linking
...
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
2022-06-14 14:58:44 +02:00
Priyansh Rathi
d49c1cfc3e
save lightmap as multi-image atlas
2022-06-14 17:22:55 +05:30
Hugo Locurcio
0225c6d31a
Tweak Light3D property hints for greater flexibility
...
- Specular can now be set above 1.0.
- Blur can be set to 0 to disable shadow blurring entirely, which is useful
on lights that have a non-zero size.
- When shadow blurring is disabled, lights that have a non-zero size will
not use PCSS-like soft shadows, speeding up shadow rendering
considerably.
- Some property hints now allow more precise values.
2022-06-13 14:31:46 +02:00
FireForge
4678736a39
Add suffixes to all nodes and resources
2022-06-11 09:41:05 -05:00
Rémi Verschelde
5c3081dae2
SoftBody: Fix attachments property names after #61180
...
Fixes #61581 .
2022-06-10 14:16:14 +02:00
smix8
cfdfd304f1
Add NavigationRegion costs for pathfinding
...
Add NavigationRegion costs for pathfinding.
2022-06-06 15:25:06 +02:00
Rémi Verschelde
93bbbf8947
Merge pull request #61625 from smix8/navigation_debugview_mesh_scripted_4.x
2022-06-02 18:24:30 +02:00
JFonS
8abace0f79
Merge pull request #60517 from Calinou/3d-editor-audiostreamplayer3d-add-gizmo
2022-06-02 12:11:06 +02:00
smix8
b6eff47bac
Add NavigationMesh debug when navmesh is added later through scripts
...
Add NavigationMesh debug when navmesh is added later through scripts
2022-06-02 10:55:19 +02:00
smix8
56fe26b5e0
Fix NavigationAgent reparent issues
...
Fix NavigationAgent reparent issues
2022-06-01 06:45:12 +02:00
Hugo Locurcio
93933e4085
Add a gizmo to visualize AudioStreamPlayer3D's audible radius
...
The ring's color changes depending on the attenuation model chosen,
and whether Max Distance is capping the distance the sound can be
heard at.
Cold colors are used when the volume cap is a "soft" cap (the sound
can still be heard past the distance, but only faintly).
Warm colors are used when the volume cap is a "hard" cap (the sound
can't be heard past the distance at all).
White is used for linear fade performed when the attenuation model
is Disabled and Max Distance is greater than 0.
No ring is drawn when the attenuation model is Disabled and Max Distance
is equal to 0 (since the sound can be heard from anywhere).
2022-05-26 20:53:07 +02:00
Yuri Rubinsky
8f57d9519e
Fix errors when materials attached to 3d object are not freed
2022-05-26 09:42:59 +03:00
Lyuma
1f02bc0e3e
Only call _update_panning during _physics_process.
2022-05-25 14:14:22 -07:00
Hugo Locurcio
e85459dcd1
Add Cone and Cylinder shapes to FogVolume
...
This complements the existing Ellipsoid and Box local fog shapes.
This can be used to represent a light cone coming from a SpotLight.
2022-05-25 12:35:53 +02:00
Rémi Verschelde
d3268c51ad
Merge pull request #61311 from trollodel/fix_joint3d_warning_crash
2022-05-23 22:23:53 +02:00
bruvzg
f9fbe92e8a
[Label3D, 4.x] Monitor default theme font changes, to prevent use of invalid materials.
2022-05-23 18:15:34 +03:00
trollodel
51b229bffa
Fix Joint3D and Joint2D warning causing a crash
2022-05-23 12:21:13 +02:00
Rémi Verschelde
a80793fcb8
Merge pull request #61235 from smix8/navigation_agent_avoidance_processing_4.x
2022-05-22 19:11:32 +02:00
Hugo Locurcio
df9340d552
Tweak the GPUParticles3D Transform Align property hint for readability
2022-05-21 13:13:48 +02:00
smix8
7f3688603c
Process NavigationAgent2D/3D avoidance on demand only
...
Changes NavigationAgent avoidance callback to a toggle that is disabled by default.
Also fixes a few missing descriptions / wrong warnings.
2022-05-20 23:47:10 +02:00
reduz
45af29da80
Add a new HashSet template
...
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00