Commit Graph

96 Commits

Author SHA1 Message Date
6caf4c698f Merge pull request #107915 from QbieShay/fix_emitting_reset
Fix particles resetting properties when emitting is toggled
2025-07-04 10:09:03 -05:00
e750950dc6 Merge pull request #107568 from Rudolph-B/Issue-92708
Fix floating point precision errors when setting particle trail length
2025-07-01 17:57:58 -05:00
b93f6fa1ba Fix particles resetting properties when emitting is toggled 2025-06-24 12:16:42 +02:00
a7ab249a2a Make PROPERTY_HINT_GROUP_ENABLE hide properties by default 2025-06-16 20:03:49 +08:00
3c5d4a2410 Fix floating point precision errors when setting particle trail length 2025-06-15 20:38:50 +02:00
8ba4656ea3 Compile out editor-only logic within validate_property in games 2025-06-12 12:54:19 +08:00
1a427d3dec Add feature hint string and "On" text for checkable groups 2025-05-21 14:56:55 -07:00
b106dfd4f9 Base accessibility API. 2025-04-08 20:14:28 +03:00
419e5c40fa Fix particle not re-randomizing every emission 2025-02-20 19:25:05 +01:00
2f3f6f69d9 Fix seed not randomizing for particles. Fix seed being stored when fixed seed is off 2025-02-04 12:17:21 +01:00
3973c0b644 fix gpu_particles_3d randomizing seed when set_one_shot is called 2025-01-22 11:29:52 -05:00
9303ccd337 Merge pull request #101596 from TCROC/fix-gpu-particles-3d-emitting-finished-signal-on-ready
Fix GPUParticles3D emitting `finished` signal on ready
2025-01-20 10:05:45 -06:00
484d6d4aa1 Fix emission_shape_changed signal error when using ShaderMaterial with 3DGPUParticles 2025-01-17 15:07:28 +01:00
d702e02172 fix gpu_particles_3d emitting finished signal on ready 2025-01-15 16:31:57 -05:00
1d2c503b00 Fix regression from already disconnected emission shape changed signal 2025-01-14 13:20:16 +01:00
133db1fd60 Merge pull request #92089 from QbieShay/qbe/particle_seek
Implement particle seek request and seed options.
2025-01-13 20:21:28 +01:00
e9eb0b6082 Implemented tools around particles seed randomization.
The purpose of this code is to expose the necessary
functions for users and engine devs to develop tooling
for properly timing and seeking inside particles.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-11 16:31:24 +01:00
bf2548463a Merge pull request #101012 from zachseiss/master
Preserve emission ring shape properties during conversion from GPUParticles3D to CPUParticles3D and vice versa
2025-01-06 22:48:20 +01:00
86ab88f016 added preservation of emission ring properties during conversion from GPUParticles3D to CPUParticles3D and vice versa 2025-01-03 07:47:06 -05:00
d484e23bce Merge pull request #100113 from paddy-exe/particle-emission-shape-visual-separate-pr
Add visualization of 3D particle emission shapes
2025-01-03 00:48:22 +01:00
e689c122a6 Add visualization of 3D particle emission shapes
Co-authored-by: Kasper Arnklit Frandsen <kasper.arnklit@gmail.com>
2024-12-28 19:56:50 +01:00
a1846b27ea Improve use of Ref.is_null/valid
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
90555e6b4d Merge pull request #100378 from clayjohn/particles-preprocess
Reduce slider range for Particles preprocess to discourage setting a preprocess time of 10 minutes
2024-12-18 00:39:49 +01:00
9ecdeb3723 Merge pull request #98747 from tetrapod00/standardize-renderer-strings
Standardize terms for renderers in error strings
2024-12-13 16:19:37 -06:00
f2a993aa1d Reduce slider range for Particles preprocess to discourage setting a preprocess time of 10 minutes 2024-12-13 11:36:36 -08:00
f6ea6cdb67 Fix some invalid int property ranges
* `HeightMapShape3D` had ranges configured for `float` instead of `int`
* Particles had `amount` that used `exp` which is not supported, added
  note
2024-11-23 19:17:29 +01:00
37305e40bc Merge pull request #95711 from TokageItLab/warn-oneshot-prop
Add hint for oneshot property & warning when it will be updated continuously by Force Continuous in `AnimationMixer`
2024-11-22 14:54:30 -06:00
899f5151c3 Standardize terms for renderers in error strings
Use "Forward+", "Mobile", "Compatibility", and "renderer" or "rendering method".
2024-11-10 13:30:44 -08:00
761a20f7a7 Add hint for oneshot & warning when it will be updated continuously 2024-11-11 01:12:45 +09:00
16524a8a01 Add "Game" editor for better runtime debugging 2024-10-30 11:42:17 -03:00
33e1f570ff Fix GPUParticles Inherit Velocity breaking with physics movement
GPUParticles' Inherit Velocity property used to act strangely
if the physics tick rate was lower than the rendered FPS, as velocity
was tracked in the process and not in the physics process. This
means that on certain rendered frames, the velocity was effectively
0 since there was no movement since the last rendered frame.
2024-07-02 01:46:57 +02:00
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
21f0529aa9 Revert "Update Node::get_configuration_warnings signature"
This reverts commit d3852deaa4.
2024-02-17 19:03:21 +01:00
d3852deaa4 Update Node::get_configuration_warnings signature 2024-02-08 23:05:20 +01:00
93be97e6a7 Make ShaderMaterial always the last option in inspector resource dropdowns
ShaderMaterial is the "advanced" option, while the "basic" options
should be listed first for easier accessibility (and because they're
generally used more often).

This makes sky and particle materials consistent with
canvas/spatial/fog materials on this aspect.
2024-02-05 21:49:17 +01:00
cb0a37f61a Only update particle velocity when it changes 2023-12-23 18:04:24 +01:00
c228fe1a0d Particle internal refactor and additions for more artistic control
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Co-authored-by: Mew Pur Pur <85438892+MewPurPur@users.noreply.github.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2023-10-10 20:03:35 +02:00
5c43e4c1ef Fix various typos with codespell
Using 2.2.6.dev180+ge3a2cfbd.
2023-09-12 08:54:18 +02:00
7fcb91f077 Implement conversion from CPUParticles to GPUParticles (3D/2D) 2023-08-19 11:58:57 +03:00
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
5322e255ad Add finished signal to GPUParticles 2023-07-12 13:29:47 +02:00
78ecdb17f9 Unify error condition for particles trail lifetime 2023-07-10 10:17:27 +02:00
8a5af8183a Add warnings and fallbacks for particles sub emitters when using the GL Compatibility rendering backend
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-06-21 12:56:52 -07:00
991f4d5183 Avoid error spam when (un)pausing GPUParticles out of tree 2023-06-12 18:18:51 +02:00
4652fbd09e Update GPUParticles2D/3D speed scale on ENTER_TREE
Fix for https://github.com/godotengine/godot/issues/75218

Pause notifications are not sent when a node is added as a child. So GPUParticles2D should also obey its can_process status on ENTER_TREE, not just PAUSED/UNPAUSED.
2023-03-27 13:24:59 -07:00
c69b14e96e Add warnings for unsupported features in mobile and gl_compatibility backends 2023-02-26 12:28:02 -08:00
d95794ec8a One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
ea33001b95 Add safety-checks before some servers free() 2022-12-29 16:23:38 -05:00
9ce57050a5 Add GPUParticles to the OpenGL3 renderer.
This includes collision (2D SDF, Box, Sphere, Heightmap),
attraction (Box, Sphere), and all sorting modes.

This does not include 3D SDF collisions, trails, or
manual emission.
2022-11-14 23:28:25 -08:00