turbulence.rst 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. .. _doc_3d_particles_turbulence:
  2. Particle turbulence
  3. -------------------
  4. .. figure:: img/particle_turbulence.webp
  5. :alt: Particle turbulence
  6. Turbulence uses a noise texture to add variation and interesting patterns to particle movement.
  7. It can be combined with :ref:`particle attractors <doc_3d_particles_attractors>` and
  8. :ref:`collision <doc_3d_particles_collision>` nodes to create even more complex looking behavior.
  9. .. figure:: img/particle_turbulence_properties.webp
  10. :alt: Turbulence properties
  11. :align: right
  12. Particle turbulence properties
  13. There are two things you have to do before turbulence has any effect on a particle system. First you must
  14. add movement to the particle system. Turbulence modifies a particle's movement
  15. direction and speed, but it doesn't create any. It is enough to give the particle system some
  16. gravity, but you can just as well create a number of attractors if you want the particles
  17. to follow a more complex movement path. Second, you need to :ref:`enable turbulence in the particle process material <doc_process_material_properties_turbulence>`.
  18. Once enabled, you have access to all the turbulence properties.
  19. .. warning::
  20. Turbulence makes use of 3D noise, which has a high performance cost on the GPU.
  21. Only enable turbulence on a few particle systems on screen at most.
  22. Using turbulence is not recommended when targeting mobile/web platforms.
  23. Noise properties
  24. ~~~~~~~~~~~~~~~~
  25. The basis for particle turbulence is a noise pattern. There are several
  26. properties that allow you to manipulate different attributes of this pattern.
  27. The ``Noise Strength`` property controls the pattern's contrast, which affects the overall turbulence
  28. sharpness. A lower value creates a softer pattern where individual movement paths are
  29. not as sharply separated from another. Set this to a higher number to make the pattern more
  30. distinct.
  31. .. figure:: img/particle_turbulence_strength.webp
  32. :alt: Turbulence noise strength
  33. At a value of 1 (left), the noise strength produces softer turbulence patterns than at 20 (right)
  34. The ``Noise Scale`` property controls the pattern's frequency. It basically changes the noise texture's UV scale
  35. where a smaller value produces finer detail, but repeating patterns become noticeable faster. A larger value
  36. results in a weaker turbulence pattern overall, but the particle system can cover a larger area before repetition
  37. starts to become an issue.
  38. .. figure:: img/particle_turbulence_scale.webp
  39. :alt: Turbulence noise scale
  40. Turbulence noise scale produces finer details at a value of 1.5 (left) than at 6 (right)
  41. The ``Noise Speed`` property takes a vector and controls the noise panning speed and direction.
  42. This allows you to move the noise pattern over time, which adds another layer of movement
  43. variation to the particle system.
  44. .. warning::
  45. Don't mix up particle movement speed and noise panning speed! They are two different things.
  46. Particle movement is determined by a number of properties, including the turbulence noise.
  47. The ``Noise Speed`` property moves the pattern itself, which in turn changes where the
  48. noise affects the particles.
  49. At a value of ``(X=0,Y=0,Z=0)``, the noise pattern doesn't move at all. The influence on particle
  50. movement stays the same at any given point. Set the speed to ``(X=1,Y=0,Z=0)`` instead, and the
  51. noise pattern moves along the X-axis.
  52. .. figure:: img/particle_turbulence_speed.webp
  53. :alt: Turbulence noise speed
  54. Different noise speed values. Left\: (X=0,Y=0,Z=0), middle\: (X=0.5,Y=0.5,Z=0.5), right\: (X=0,Y=-2,Z=0).
  55. The ``Noise Speed Random`` property adds some randomness to the noise panning speed. This helps
  56. with breaking up visible patterns, especially at higher panning speeds when repetition becomes
  57. noticeable faster.
  58. Influence properties
  59. ~~~~~~~~~~~~~~~~~~~~
  60. The influence properties determine how much each particle is affected by turbulence. Use
  61. ``Influence Min`` to set a minimum value and ``Influence Max`` to set a maximum value. When a
  62. particle spawns, the influence is randomly chosen from within this range. You can
  63. also set up a curve with the ``Influence Over Life`` property that modifies that value
  64. over each particle's lifetime. These three properties together control the strength of
  65. the turbulence's effect on the particle system :ref:`as described before <doc_process_material_properties>`.
  66. Since these properties affect the overall influence of the turbulence over a particle system,
  67. both movement direction and speed change as you set different values. A stronger influence causes
  68. a particle to move faster and all particles to follow along narrower paths as a result of that.
  69. .. figure:: img/particle_turbulence_influence.webp
  70. :alt: Turbulence influence
  71. Notice how the particle paths are more narrow and less spread out at high influence values (right)
  72. Displacement properties
  73. ~~~~~~~~~~~~~~~~~~~~~~~
  74. Displacement changes a particle's starting position. Use ``Initial Displacement Min`` to set a
  75. lower limit and ``Initial Displacement Max`` to set an upper limit. When a particle spawns, the
  76. amount of displacement is randomly chosen from within this range and multiplied by a random
  77. direction.
  78. Displacement is very useful to break up regular shapes or to create complex shapes from simpler
  79. ones. The only difference between the particle systems in the screenshot below is the value
  80. given to the displacement properties.
  81. .. figure:: img/particle_turbulence_displacement.webp
  82. :alt: Turbulence displacement
  83. No displacement (left), displacement value of 5 (middle), displacement range [-20, 20] (right)