class_gpuparticlesattractorvectorfield3d.rst 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/4.0/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/GPUParticlesAttractorVectorField3D.xml.
  6. .. _class_GPUParticlesAttractorVectorField3D:
  7. GPUParticlesAttractorVectorField3D
  8. ==================================
  9. **Inherits:** :ref:`GPUParticlesAttractor3D<class_GPUParticlesAttractor3D>` **<** :ref:`VisualInstance3D<class_VisualInstance3D>` **<** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  10. Box-shaped 3D particle attractor with strength varying within the box, affecting :ref:`GPUParticles3D<class_GPUParticles3D>` nodes.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. Box-shaped 3D particle attractor with strength varying within the box, affecting :ref:`GPUParticles3D<class_GPUParticles3D>` nodes.
  15. 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.
  16. \ **Note:** Particle attractors only affect :ref:`GPUParticles3D<class_GPUParticles3D>`, not :ref:`CPUParticles3D<class_CPUParticles3D>`.
  17. .. rst-class:: classref-reftable-group
  18. Properties
  19. ----------
  20. .. table::
  21. :widths: auto
  22. +-----------------------------------+---------------------------------------------------------------------------+----------------------+
  23. | :ref:`Vector3<class_Vector3>` | :ref:`size<class_GPUParticlesAttractorVectorField3D_property_size>` | ``Vector3(2, 2, 2)`` |
  24. +-----------------------------------+---------------------------------------------------------------------------+----------------------+
  25. | :ref:`Texture3D<class_Texture3D>` | :ref:`texture<class_GPUParticlesAttractorVectorField3D_property_texture>` | |
  26. +-----------------------------------+---------------------------------------------------------------------------+----------------------+
  27. .. rst-class:: classref-section-separator
  28. ----
  29. .. rst-class:: classref-descriptions-group
  30. Property Descriptions
  31. ---------------------
  32. .. _class_GPUParticlesAttractorVectorField3D_property_size:
  33. .. rst-class:: classref-property
  34. :ref:`Vector3<class_Vector3>` **size** = ``Vector3(2, 2, 2)``
  35. .. rst-class:: classref-property-setget
  36. - void **set_size** **(** :ref:`Vector3<class_Vector3>` value **)**
  37. - :ref:`Vector3<class_Vector3>` **get_size** **(** **)**
  38. The size of the vector field box in 3D units.
  39. .. rst-class:: classref-item-separator
  40. ----
  41. .. _class_GPUParticlesAttractorVectorField3D_property_texture:
  42. .. rst-class:: classref-property
  43. :ref:`Texture3D<class_Texture3D>` **texture**
  44. .. rst-class:: classref-property-setget
  45. - void **set_texture** **(** :ref:`Texture3D<class_Texture3D>` value **)**
  46. - :ref:`Texture3D<class_Texture3D>` **get_texture** **(** **)**
  47. The 3D texture to be used. Values are linearly interpolated between the texture's pixels.
  48. \ **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.
  49. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  50. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  51. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  52. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  53. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  54. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`