Commit Graph

66 Commits

Author SHA1 Message Date
eaf9e7ce22 Add emission shape ring for CPUParticles2D
Particles will be emitted in the area of a ring parameterized by its
outer and inner radius. The distribution is uniform across the area.
2025-08-26 15:09:05 +02:00
0e5b06c26d Fix various errors in the class reference 2025-06-13 21:14:55 +08:00
1e82bafa3a Remove redundant info on the enum types used 2025-06-04 08:21:47 +08:00
7ce0828c5b Merge pull request #101883 from ProgrammerOnCoffee/cpuparticles-doc
Fix incorrect `CPUParticles2D` and `CPUParticles3D` documentation
2025-01-27 09:45:56 -06:00
0e7de3a1d9 Fix incorrect CPUParticles2D documentation
Fixes incorrect documentation for CPUParticles2D.color_initial_ramp
2025-01-25 12:18:42 +01:00
56fc0fd175 CPUParticles2D - Add ability to follow physics interpolated target
Allows a non-interpolated particle system to closely follow an interpolated target without tracking ahead of the target, by performing fixed timestep interpolation on the particle system global transform, and using this for emission.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2025-01-24 14:13:20 +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
5d462ee4c5 Merge pull request #67857 from anvilfolk/extended-curve
Extend Curve to allow for domains outside of [0, 1].
2024-11-29 22:45:19 +01:00
6c65213487 Extend Curve to allow for arbitrary domains 2024-11-02 08:25:40 -04:00
b8f78b14be Fix miscellaneous oddities around the class reference 2024-08-18 23:18:44 +02:00
f781571d07 Add keywords to improve search in the class reference 2024-02-22 16:16:49 +01:00
3c82f4a371 Added docs for DRAW_ORDER_REVERSE_LIFETIME constant and minor XR log improvement 2023-11-11 21:17:19 +05:30
57d05ffc66 Improve the top docs sections of VFX classes 2023-08-11 21:17:04 +03:00
e52e46036e Add detail to emitting docs for particles
Highlight when emitting will and won't restart emission
2023-07-21 11:43:03 +02:00
a1c0d206e8 Add finished signal to CPUParticles 2023-07-12 13:45:02 +02:00
81064cc239 Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00
346f1ab86b Bump version to 4.2-dev
Keep on waitin'
2023-07-05 22:07:03 +02:00
1c1524a651 Bump version to 4.1-dev
Can't stop, won't stop, they said, huh?
2023-03-01 01:44:37 +01:00
13138b307b Merge pull request #67656 from MewPurPur/instance🧹
Fix minor mistakes throughout the documentation
2022-10-21 18:19:32 +02:00
05a9637d5d Fix small mistakes throughout much of the documentation 2022-10-21 00:20:59 +02:00
1b7aee3c8d Fill random docs 2022-10-07 20:10:18 +02:00
723bf85145 Rename ParticlesMaterial to ParticleProcessMaterial
Also affects their file names, related classes and documentation.
2022-08-26 02:53:08 +02:00
c5d7115038 Rename the argument tag to param in XML documentation 2022-08-08 22:34:31 +03:00
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
acc9b5b390 Merge pull request #55399 from RPicster/particlesmaterial-sphere-emittershape
ParticleMaterial: Sphere emission shape emitting from the volume.
2022-03-18 08:21:59 +01:00
b68dd2e189 Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
76e2c87f57 Fixed sphere emission shape to emit particles in a spheres volume and added "Sphere Surface" to keep the old behaviour. 2021-12-06 20:48:02 +01:00
ddf82697d7 Random initial color parameter for ParticleMaterial
Works with 2D and 3D GPU Particles
2021-12-03 13:58:17 +01:00
6c1bd4d227 Replace Godot docs URL with $DOCS_URL in XML class reference 2021-11-15 13:02:21 +01:00
d6672096fc moved particle parameters to minmax and split scale axis
This commit adds quite a chunk of modifications to particles
- particle (value + randomness) now use min and max instead
- passing a curveXYZtexture is now possible and will scale particles per-axis
- CPUParticle3D have an optional parameter to split the scale curve per-axis
2021-08-22 18:42:17 +02:00
7adf4cc9b5 doc: Use self-closing tags for return and argument
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.
2021-07-30 15:29:52 +02:00
3a4a2198ed Fix color properties of particle nodes/material 2021-07-04 02:14:31 +02:00
0ff4095b36 Better format arguments in variant parser 2021-06-18 00:06:40 -03:00
4a28f7e44f Increase the default 2D gravity to 980.0
This makes 2D RigidBody physics feel less floaty out of the box.

This closes https://github.com/godotengine/godot-proposals/issues/98.
2021-05-05 22:49:06 -04:00
47f8ac7864 Rename Particles/ParticlesMaterial "Flags" enum to "ParticleFlags"
"Flags" was a bit too ambiguous, and in 3D it hid GeometryInstance.Flags
2020-12-04 19:34:29 -05:00
424cd00f8b doc: Sync classref with current source + fixup some bindings
Includes various changes triggered by the refactoring of method bindings.
2020-11-04 15:38:26 +01:00
c4903a603b Add link titles for all links in the class reference
This makes them display in a nicer way in the editor help.
(The title will display instead of the full URL.)
2020-08-31 14:22:07 +02:00
d8808fba85 Document the expected normal map coordinate system where relevant 2020-05-04 22:46:47 +02:00
eaaee63b62 doc: Update classref with node renames
A few extra renames for classes which were missed in last week's PRs.
2020-03-30 18:23:02 +02:00
213a85521d doc: Sync classref with current source
Handle removal of Pool*Array types and other recent changes.
2020-02-18 14:02:02 +01:00
0e3d625737 doc: Sync classref with current source
Lots of internal API changes and some docstrings were lost in the conversion.
I manually salvaged many of them but for all the rendering-related ones, an
additional pass is needed.

Added missing enum bindings in BaseMaterial3D and VisualServer.
2020-02-12 12:37:13 +01:00
57e27683ba Update docs to version 4.0 2020-01-31 17:15:41 -08:00
2d20fc39aa doc: Drop unused 'category' property from header
We already removed it from the online docs with #35132.

Currently it can only be "Built-In Types" (Variant types) or "Core"
(everything else), which is of limited use.

We might also want to consider dropping it from `ClassDB` altogether
in Godot 4.0.
2020-01-26 16:02:39 +01:00
c5700f7464 Complete various class references 2020-01-26 00:27:51 -08:00
ba177ccaec doc: Misc updates for AnimationNode* and others
- Add some missing descriptions.
- Add links to tutorials for ARVR and AnimationTree.
- Style fixes.
- Engine changes:
  * Make `AnimationNodeTransition.input_<number>` properties internal
    so that they don't appear in the docs. They still appear in the
    inspector based on the actual number of inputs requested.
  * Drop unimplemented `CPUParticles.flatness`. It's only used for 3D
    particles in `ParticlesMaterial`, and thus only relevant for
    `CPUParticles3D`.
2020-01-23 12:37:33 +01:00
05c8654390 doc: Timer.autostart resets to false on start
Fixes #35289.
2020-01-19 10:18:11 +01:00
1de633205f Validate input in (CPU)Particles set_emission_shape()
Fixes #29777.

Co-authored-by: Cameron Reikes <cameronreikes@gmail.com>
2020-01-16 11:08:51 +01:00
efd55631e2 doc: Sync classref with current source 2019-07-15 20:45:30 +02:00
5ef3374258 added individual particle random lifetime 2019-07-14 23:22:40 -07:00
542489a866 DocData: Re-expose parametric setters and getters
Setters and getters have been hidden from the documentation when the matching
properties have been exposed, but some of them are parametric and require the
name or index of a given parameter to be used. So they need to be properly
documented with the type and name of the arguments they take.

For example, CPUParticles' `set_param(Parameter param, float value)`.
2019-07-04 14:08:16 +02:00