Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Creating a 3D particle system

../../../_images/particle_node_new.webp

Required particle node properties

Чтобы начать работу с частицами, первым делом нам нужно добавить в сцену узел GPUParticles3D. Прежде чем мы сможем увидеть частицы, нам нужно задать два параметра узла: Process Material и хотя бы один Draw Pass.

The process material

To add a process material to your particles node, go to Process Material in the inspector panel. Click on the box next to Process Material and from the dropdown menu select New ParticleProcessMaterial.

../../../_images/particle_new_process_material.webp

Creating a process material

ParticleProcessMaterial - это особый вид материала. Мы не используем его для отрисовки объектов. Мы используем его для обновления данных и поведения частиц на GPU, а не на CPU, что дает огромный прирост производительности. Щелчок на только что добавленном материале отображает длинный список свойств, которые вы можете установить для управления поведением каждой частицы.

Draw passes

../../../_images/particle_first_draw_pass.webp

At least one draw pass is required

Для рендеринга частиц необходимо определить хотя бы один проход отрисовки. Для этого перейдите в раздел Draw Passes на панели инспектора. Щелкните на поле рядом с Pass 1 и выберите New QuadMesh из выпадающего меню. После этого щелкните на сетке и установите ее Размер на 0,1 для x и y. Уменьшение размера сетки позволяет немного легче различать отдельные сетки частиц на данном этапе.

Вы можете использовать до 4 проходов отрисовки для каждой системы частиц. Каждый проход может отрисовывать отдельную сетку со своим уникальным материалом. Все проходы отрисовки используют данные, вычисляемые материалом процесса, что является эффективным методом для создания сложных эффектов: Вычислите поведение частиц один раз и передайте его на несколько проходов рендеринга.

../../../_images/particle_two_draw_passes.webp

Использование нескольких проходов рисования: желтые прямоугольники (проход 1) и синие сферы (проход 2)

If you followed the steps above, your particle system should now be emitting particles in a waterfall-like fashion, making them move downwards and disappear after a few seconds. This is the foundation for all particle effects. Take a look at the documentation for particle and particle material properties to learn how to make particle effects more interesting.

../../../_images/particle_basic_system.webp

Particle conversion

../../../_images/particle_convert_cpu.webp

Turning GPU into CPU particles

You can convert GPU particles to CPU particles at any time using the entry in the viewport menu. When you do so, keep in mind that not every feature of GPU particles is available for CPU particles, so the resulting particle system will look and behave differently from the original.

You can also convert CPU particles to GPU particles if you no longer need to use CPU particles. This is also done from the viewport menu.

Some of the most notable features that are lost during the conversion include:

  • multiple draw passes

  • turbulence

  • sub-emitters

  • trails

  • attractors

  • collision

You also lose the following properties:

  • Ammount Ratio

  • Interp to End

  • Damping as Friction

  • Emission Shape Offset

  • Emission Shape Scale

  • Inherit Velocity Ratio

  • Velocity Pivot

  • Directional Velocity

  • Radial Velocity

  • Velocity Limit

  • Scale Over Velocity

Converting GPU particles to CPU particles can become necessary when you want to release a game on older devices that don't support modern graphics APIs.