1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- :github_url: hide
- .. DO NOT EDIT THIS FILE!!!
- .. Generated automatically from Godot engine sources.
- .. Generator: https://github.com/godotengine/godot/tree/4.0/doc/tools/make_rst.py.
- .. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/GPUParticlesAttractorVectorField3D.xml.
- .. _class_GPUParticlesAttractorVectorField3D:
- GPUParticlesAttractorVectorField3D
- ==================================
- **Inherits:** :ref:`GPUParticlesAttractor3D<class_GPUParticlesAttractor3D>` **<** :ref:`VisualInstance3D<class_VisualInstance3D>` **<** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
- Box-shaped 3D particle attractor with strength varying within the box, affecting :ref:`GPUParticles3D<class_GPUParticles3D>` nodes.
- .. rst-class:: classref-introduction-group
- Description
- -----------
- Box-shaped 3D particle attractor with strength varying within the box, affecting :ref:`GPUParticles3D<class_GPUParticles3D>` nodes.
- Unlike :ref:`GPUParticlesAttractorBox3D<class_GPUParticlesAttractorBox3D>`, **GPUParticlesAttractorVectorField3D** uses a :ref:`texture<class_GPUParticlesAttractorVectorField3D_property_texture>` to affect attraction strength within the box. This can be used to create complex attraction scenarios where particles travel in different directions depending on their location. This can be useful for weather effects such as sandstorms.
- \ **Note:** Particle attractors only affect :ref:`GPUParticles3D<class_GPUParticles3D>`, not :ref:`CPUParticles3D<class_CPUParticles3D>`.
- .. rst-class:: classref-reftable-group
- Properties
- ----------
- .. table::
- :widths: auto
- +-----------------------------------+---------------------------------------------------------------------------+----------------------+
- | :ref:`Vector3<class_Vector3>` | :ref:`size<class_GPUParticlesAttractorVectorField3D_property_size>` | ``Vector3(2, 2, 2)`` |
- +-----------------------------------+---------------------------------------------------------------------------+----------------------+
- | :ref:`Texture3D<class_Texture3D>` | :ref:`texture<class_GPUParticlesAttractorVectorField3D_property_texture>` | |
- +-----------------------------------+---------------------------------------------------------------------------+----------------------+
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Property Descriptions
- ---------------------
- .. _class_GPUParticlesAttractorVectorField3D_property_size:
- .. rst-class:: classref-property
- :ref:`Vector3<class_Vector3>` **size** = ``Vector3(2, 2, 2)``
- .. rst-class:: classref-property-setget
- - void **set_size** **(** :ref:`Vector3<class_Vector3>` value **)**
- - :ref:`Vector3<class_Vector3>` **get_size** **(** **)**
- The size of the vector field box in 3D units.
- .. rst-class:: classref-item-separator
- ----
- .. _class_GPUParticlesAttractorVectorField3D_property_texture:
- .. rst-class:: classref-property
- :ref:`Texture3D<class_Texture3D>` **texture**
- .. rst-class:: classref-property-setget
- - void **set_texture** **(** :ref:`Texture3D<class_Texture3D>` value **)**
- - :ref:`Texture3D<class_Texture3D>` **get_texture** **(** **)**
- The 3D texture to be used. Values are linearly interpolated between the texture's pixels.
- \ **Note:** To get better performance, the 3D texture's resolution should reflect the :ref:`size<class_GPUParticlesAttractorVectorField3D_property_size>` of the attractor. Since particle attraction is usually low-frequency data, the texture can be kept at a low resolution such as 64×64×64.
- .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
- .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
- .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
- .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
- .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
- .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
|