Skip to content

Commit 07b5a8f

Browse files
author
Godot Organization
committed
classref: Sync with current master branch (f497156)
1 parent 1e2867c commit 07b5a8f

15 files changed

+105
-44
lines changed

classes/class_animation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -877,7 +877,7 @@ Compress the animation and all its tracks in-place. This will make :ref:`track_i
877877

878878
void **copy_track** **(** :ref:`int<class_int>` track_idx, :ref:`Animation<class_Animation>` to_animation **)**
879879

880-
Adds a new track that is a copy of the given track from ``to_animation``.
880+
Adds a new track to ``to_animation`` that is a copy of the given track from this animation.
881881

882882
.. rst-class:: classref-item-separator
883883

classes/class_basematerial3d.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1227,7 +1227,7 @@ The object's X axis will always face the camera.
12271227

12281228
:ref:`BillboardMode<enum_BaseMaterial3D_BillboardMode>` **BILLBOARD_PARTICLES** = ``3``
12291229

1230-
Used for particle systems when assigned to :ref:`GPUParticles3D<class_GPUParticles3D>` and :ref:`CPUParticles3D<class_CPUParticles3D>` nodes. Enables ``particles_anim_*`` properties.
1230+
Used for particle systems when assigned to :ref:`GPUParticles3D<class_GPUParticles3D>` and :ref:`CPUParticles3D<class_CPUParticles3D>` nodes (flipbook animation). Enables ``particles_anim_*`` properties.
12311231

12321232
The :ref:`ParticleProcessMaterial.anim_speed_min<class_ParticleProcessMaterial_property_anim_speed_min>` or :ref:`CPUParticles3D.anim_speed_min<class_CPUParticles3D_property_anim_speed_min>` should also be set to a value bigger than zero for the animation to play.
12331233

classes/class_control.rst

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,15 +1131,19 @@ Sent when the node needs to refresh its theme items. This happens in one of the
11311131

11321132
**NOTIFICATION_SCROLL_BEGIN** = ``47``
11331133

1134-
Sent when this node is inside a :ref:`ScrollContainer<class_ScrollContainer>` which has begun being scrolled.
1134+
Sent when this node is inside a :ref:`ScrollContainer<class_ScrollContainer>` which has begun being scrolled when dragging the scrollable area *with a touch event*. This notification is *not* sent when scrolling by dragging the scrollbar, scrolling with the mouse wheel or scrolling with keyboard/gamepad events.
1135+
1136+
\ **Note:** This signal is only emitted on Android or iOS, or on desktop/web platforms when :ref:`ProjectSettings.input_devices/pointing/emulate_touch_from_mouse<class_ProjectSettings_property_input_devices/pointing/emulate_touch_from_mouse>` is enabled.
11351137

11361138
.. _class_Control_constant_NOTIFICATION_SCROLL_END:
11371139

11381140
.. rst-class:: classref-constant
11391141

11401142
**NOTIFICATION_SCROLL_END** = ``48``
11411143

1142-
Sent when this node is inside a :ref:`ScrollContainer<class_ScrollContainer>` which has stopped being scrolled.
1144+
Sent when this node is inside a :ref:`ScrollContainer<class_ScrollContainer>` which has stopped being scrolled when dragging the scrollable area *with a touch event*. This notification is *not* sent when scrolling by dragging the scrollbar, scrolling with the mouse wheel or scrolling with keyboard/gamepad events.
1145+
1146+
\ **Note:** This signal is only emitted on Android or iOS, or on desktop/web platforms when :ref:`ProjectSettings.input_devices/pointing/emulate_touch_from_mouse<class_ProjectSettings_property_input_devices/pointing/emulate_touch_from_mouse>` is enabled.
11431147

11441148
.. _class_Control_constant_NOTIFICATION_LAYOUT_DIRECTION_CHANGED:
11451149

classes/class_gpuparticles2d.rst

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,9 @@ Property Descriptions
240240
- void **set_amount** **(** :ref:`int<class_int>` value **)**
241241
- :ref:`int<class_int>` **get_amount** **(** **)**
242242

243-
Number of particles emitted in one emission cycle.
243+
The number of particles to emit in one emission cycle. The effective emission rate is ``(amount * amount_ratio) / lifetime`` particles per second. Higher values will increase GPU requirements, even if not all particles are visible at a given time or if :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>` is decreased.
244+
245+
\ **Note:** Changing this value will cause the particle system to restart. To avoid this, change :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>` instead.
244246

245247
.. rst-class:: classref-item-separator
246248

@@ -259,7 +261,7 @@ Number of particles emitted in one emission cycle.
259261

260262
The ratio of particles that should actually be emitted. If set to a value lower than ``1.0``, this will set the amount of emitted particles throughout the lifetime to ``amount * amount_ratio``. Unlike changing :ref:`amount<class_GPUParticles2D_property_amount>`, changing :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>` while emitting does not affect already-emitted particles and doesn't cause the particle system to restart. :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>` can be used to create effects that make the number of emitted particles vary over time.
261263

262-
\ **Note:** Reducing the :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>` has no performance benefit, since resources need to be allocated and processed for the total :ref:`amount<class_GPUParticles2D_property_amount>` of particles regardless of the :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>`.
264+
\ **Note:** Reducing the :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>` has no performance benefit, since resources need to be allocated and processed for the total :ref:`amount<class_GPUParticles2D_property_amount>` of particles regardless of the :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>`. If you don't intend to change the number of particles emitted while the particles are emitting, make sure :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>` is set to ``1`` and change :ref:`amount<class_GPUParticles2D_property_amount>` to your liking instead.
263265

264266
.. rst-class:: classref-item-separator
265267

@@ -276,7 +278,9 @@ The ratio of particles that should actually be emitted. If set to a value lower
276278
- void **set_collision_base_size** **(** :ref:`float<class_float>` value **)**
277279
- :ref:`float<class_float>` **get_collision_base_size** **(** **)**
278280

279-
Multiplier for particle's collision radius. ``1.0`` corresponds to the size of the sprite.
281+
Multiplier for particle's collision radius. ``1.0`` corresponds to the size of the sprite. If particles appear to sink into the ground when colliding, increase this value. If particles appear to float when colliding, decrease this value. Only effective if :ref:`ParticleProcessMaterial.collision_mode<class_ParticleProcessMaterial_property_collision_mode>` is :ref:`ParticleProcessMaterial.COLLISION_RIGID<class_ParticleProcessMaterial_constant_COLLISION_RIGID>` or :ref:`ParticleProcessMaterial.COLLISION_HIDE_ON_CONTACT<class_ParticleProcessMaterial_constant_COLLISION_HIDE_ON_CONTACT>`.
282+
283+
\ **Note:** Particles always have a spherical collision shape.
280284

281285
.. rst-class:: classref-item-separator
282286

@@ -414,7 +418,7 @@ Enables particle interpolation, which makes the particle movement smoother when
414418
- void **set_lifetime** **(** :ref:`float<class_float>` value **)**
415419
- :ref:`float<class_float>` **get_lifetime** **(** **)**
416420

417-
Amount of time each particle will exist.
421+
The amount of time each particle will exist (in seconds). The effective emission rate is ``(amount * amount_ratio) / lifetime`` particles per second.
418422

419423
.. rst-class:: classref-item-separator
420424

@@ -533,7 +537,9 @@ Particle system's running speed scaling ratio. A value of ``0`` can be used to p
533537
- void **set_sub_emitter** **(** :ref:`NodePath<class_NodePath>` value **)**
534538
- :ref:`NodePath<class_NodePath>` **get_sub_emitter** **(** **)**
535539

536-
The :ref:`NodePath<class_NodePath>` to the **GPUParticles2D** used for sub-emissions.
540+
Path to another **GPUParticles2D** node that will be used as a subemitter (see :ref:`ParticleProcessMaterial.sub_emitter_mode<class_ParticleProcessMaterial_property_sub_emitter_mode>`). Subemitters can be used to achieve effects such as fireworks, sparks on collision, bubbles popping into water drops, and more.
541+
542+
\ **Note:** When :ref:`sub_emitter<class_GPUParticles2D_property_sub_emitter>` is set, the target **GPUParticles2D** node will no longer emit particles on its own.
537543

538544
.. rst-class:: classref-item-separator
539545

@@ -550,7 +556,9 @@ The :ref:`NodePath<class_NodePath>` to the **GPUParticles2D** used for sub-emiss
550556
- void **set_texture** **(** :ref:`Texture2D<class_Texture2D>` value **)**
551557
- :ref:`Texture2D<class_Texture2D>` **get_texture** **(** **)**
552558

553-
Particle texture. If ``null``, particles will be squares.
559+
Particle texture. If ``null``, particles will be squares with a size of 1×1 pixels.
560+
561+
\ **Note:** To use a flipbook texture, assign a new :ref:`CanvasItemMaterial<class_CanvasItemMaterial>` to the **GPUParticles2D**'s :ref:`CanvasItem.material<class_CanvasItem_property_material>` property, then enable :ref:`CanvasItemMaterial.particles_animation<class_CanvasItemMaterial_property_particles_animation>` and set :ref:`CanvasItemMaterial.particles_anim_h_frames<class_CanvasItemMaterial_property_particles_anim_h_frames>`, :ref:`CanvasItemMaterial.particles_anim_v_frames<class_CanvasItemMaterial_property_particles_anim_v_frames>`, and :ref:`CanvasItemMaterial.particles_anim_loop<class_CanvasItemMaterial_property_particles_anim_loop>` to match the flipbook texture.
554562

555563
.. rst-class:: classref-item-separator
556564

classes/class_gpuparticles3d.rst

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,9 @@ Property Descriptions
317317
- void **set_amount** **(** :ref:`int<class_int>` value **)**
318318
- :ref:`int<class_int>` **get_amount** **(** **)**
319319

320-
Number of particles to emit.
320+
The number of particles to emit in one emission cycle. The effective emission rate is ``(amount * amount_ratio) / lifetime`` particles per second. Higher values will increase GPU requirements, even if not all particles are visible at a given time or if :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` is decreased.
321+
322+
\ **Note:** Changing this value will cause the particle system to restart. To avoid this, change :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` instead.
321323

322324
.. rst-class:: classref-item-separator
323325

@@ -336,7 +338,7 @@ Number of particles to emit.
336338

337339
The ratio of particles that should actually be emitted. If set to a value lower than ``1.0``, this will set the amount of emitted particles throughout the lifetime to ``amount * amount_ratio``. Unlike changing :ref:`amount<class_GPUParticles3D_property_amount>`, changing :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` while emitting does not affect already-emitted particles and doesn't cause the particle system to restart. :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` can be used to create effects that make the number of emitted particles vary over time.
338340

339-
\ **Note:** Reducing the :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` has no performance benefit, since resources need to be allocated and processed for the total :ref:`amount<class_GPUParticles3D_property_amount>` of particles regardless of the :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>`.
341+
\ **Note:** Reducing the :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` has no performance benefit, since resources need to be allocated and processed for the total :ref:`amount<class_GPUParticles3D_property_amount>` of particles regardless of the :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>`. If you don't intend to change the number of particles emitted while the particles are emitting, make sure :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` is set to ``1`` and change :ref:`amount<class_GPUParticles3D_property_amount>` to your liking instead.
340342

341343
.. rst-class:: classref-item-separator
342344

@@ -353,9 +355,9 @@ The ratio of particles that should actually be emitted. If set to a value lower
353355
- void **set_collision_base_size** **(** :ref:`float<class_float>` value **)**
354356
- :ref:`float<class_float>` **get_collision_base_size** **(** **)**
355357

356-
.. container:: contribute
358+
The base diameter for particle collision in meters. If particles appear to sink into the ground when colliding, increase this value. If particles appear to float when colliding, decrease this value. Only effective if :ref:`ParticleProcessMaterial.collision_mode<class_ParticleProcessMaterial_property_collision_mode>` is :ref:`ParticleProcessMaterial.COLLISION_RIGID<class_ParticleProcessMaterial_constant_COLLISION_RIGID>` or :ref:`ParticleProcessMaterial.COLLISION_HIDE_ON_CONTACT<class_ParticleProcessMaterial_constant_COLLISION_HIDE_ON_CONTACT>`.
357359

358-
There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
360+
\ **Note:** Particles always have a spherical collision shape.
359361

360362
.. rst-class:: classref-item-separator
361363

@@ -599,7 +601,7 @@ Enables particle interpolation, which makes the particle movement smoother when
599601
- void **set_lifetime** **(** :ref:`float<class_float>` value **)**
600602
- :ref:`float<class_float>` **get_lifetime** **(** **)**
601603

602-
Amount of time each particle will exist.
604+
The amount of time each particle will exist (in seconds). The effective emission rate is ``(amount * amount_ratio) / lifetime`` particles per second.
603605

604606
.. rst-class:: classref-item-separator
605607

@@ -718,9 +720,9 @@ Speed scaling ratio. A value of ``0`` can be used to pause the particles.
718720
- void **set_sub_emitter** **(** :ref:`NodePath<class_NodePath>` value **)**
719721
- :ref:`NodePath<class_NodePath>` **get_sub_emitter** **(** **)**
720722

721-
.. container:: contribute
723+
Path to another **GPUParticles3D** node that will be used as a subemitter (see :ref:`ParticleProcessMaterial.sub_emitter_mode<class_ParticleProcessMaterial_property_sub_emitter_mode>`). Subemitters can be used to achieve effects such as fireworks, sparks on collision, bubbles popping into water drops, and more.
722724

723-
There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
725+
\ **Note:** When :ref:`sub_emitter<class_GPUParticles3D_property_sub_emitter>` is set, the target **GPUParticles3D** node will no longer emit particles on its own.
724726

725727
.. rst-class:: classref-item-separator
726728

@@ -794,10 +796,12 @@ The amount of time the particle's trail should represent (in seconds). Only effe
794796
- void **set_visibility_aabb** **(** :ref:`AABB<class_AABB>` value **)**
795797
- :ref:`AABB<class_AABB>` **get_visibility_aabb** **(** **)**
796798

797-
The :ref:`AABB<class_AABB>` that determines the node's region which needs to be visible on screen for the particle system to be active.
799+
The :ref:`AABB<class_AABB>` that determines the node's region which needs to be visible on screen for the particle system to be active. :ref:`GeometryInstance3D.extra_cull_margin<class_GeometryInstance3D_property_extra_cull_margin>` is added on each of the AABB's axes. Particle collisions and attraction will only occur within this area.
798800

799801
Grow the box if particles suddenly appear/disappear when the node enters/exits the screen. The :ref:`AABB<class_AABB>` can be grown via code or with the **Particles → Generate AABB** editor tool.
800802

803+
\ **Note:** :ref:`visibility_aabb<class_GPUParticles3D_property_visibility_aabb>` is overridden by :ref:`GeometryInstance3D.custom_aabb<class_GeometryInstance3D_property_custom_aabb>` if that property is set to a non-default value.
804+
801805
.. rst-class:: classref-section-separator
802806

803807
----

classes/class_immediatemesh.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,15 @@ Here's a sample on how to generate a triangular face:
3535
mesh.surface_add_vertex(Vector3.ZERO)
3636
mesh.surface_end()
3737

38+
.. code-tab:: csharp
39+
40+
var mesh = new ImmediateMesh();
41+
mesh.SurfaceBegin(Mesh.PrimitiveType.Triangles);
42+
mesh.SurfaceAddVertex(Vector3.Left);
43+
mesh.SurfaceAddVertex(Vector3.Forward);
44+
mesh.SurfaceAddVertex(Vector3.Zero);
45+
mesh.SurfaceEnd();
46+
3847

3948

4049
\ **Note:** Generating complex geometries with **ImmediateMesh** is highly inefficient. Instead, it is designed to generate simple geometry that changes often.

classes/class_light3d.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,8 @@ Light is ignored when baking. This is the fastest mode, but the light will be ta
331331

332332
Light is taken into account in static baking (:ref:`VoxelGI<class_VoxelGI>`, :ref:`LightmapGI<class_LightmapGI>`, SDFGI (:ref:`Environment.sdfgi_enabled<class_Environment_property_sdfgi_enabled>`)). The light can be moved around or modified, but its global illumination will not update in real-time. This is suitable for subtle changes (such as flickering torches), but generally not large changes such as toggling a light on and off.
333333

334+
\ **Note:** The light is not baked in :ref:`LightmapGI<class_LightmapGI>` if :ref:`editor_only<class_Light3D_property_editor_only>` is ``true``.
335+
334336
.. _class_Light3D_constant_BAKE_DYNAMIC:
335337

336338
.. rst-class:: classref-enumeration-constant
@@ -435,7 +437,7 @@ The distance from the camera at which the light's shadow cuts off (in 3D units).
435437
- void **set_editor_only** **(** :ref:`bool<class_bool>` value **)**
436438
- :ref:`bool<class_bool>` **is_editor_only** **(** **)**
437439

438-
If ``true``, the light only appears in the editor and will not be visible at runtime.
440+
If ``true``, the light only appears in the editor and will not be visible at runtime. If ``true``, the light will never be baked in :ref:`LightmapGI<class_LightmapGI>` regardless of its :ref:`light_bake_mode<class_Light3D_property_light_bake_mode>`.
439441

440442
.. rst-class:: classref-item-separator
441443

classes/class_lightmapgi.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ The strength of denoising step applied to the generated lightmaps. Only effectiv
420420
- void **set_directional** **(** :ref:`bool<class_bool>` value **)**
421421
- :ref:`bool<class_bool>` **is_directional** **(** **)**
422422

423-
If ``true``, bakes lightmaps to contain directional information as spherical harmonics. This results in more realistic lighting appearance, especially with normal mapped materials and for lights that have their direct light baked (:ref:`Light3D.light_bake_mode<class_Light3D_property_light_bake_mode>` set to :ref:`Light3D.BAKE_STATIC<class_Light3D_constant_BAKE_STATIC>`). The directional information is also used to provide rough reflections for static and dynamic objects. This has a small run-time performance cost as the shader has to perform more work to interpret the direction information from the lightmap. Directional lightmaps also take longer to bake and result in larger file sizes.
423+
If ``true``, bakes lightmaps to contain directional information as spherical harmonics. This results in more realistic lighting appearance, especially with normal mapped materials and for lights that have their direct light baked (:ref:`Light3D.light_bake_mode<class_Light3D_property_light_bake_mode>` set to :ref:`Light3D.BAKE_STATIC<class_Light3D_constant_BAKE_STATIC>` and with :ref:`Light3D.editor_only<class_Light3D_property_editor_only>` set to ``false``). The directional information is also used to provide rough reflections for static and dynamic objects. This has a small run-time performance cost as the shader has to perform more work to interpret the direction information from the lightmap. Directional lightmaps also take longer to bake and result in larger file sizes.
424424

425425
\ **Note:** The property's name has no relationship with :ref:`DirectionalLight3D<class_DirectionalLight3D>`. :ref:`directional<class_LightmapGI_property_directional>` works with all light types.
426426

0 commit comments

Comments
 (0)