Сложные формы эмиссии

Сложные формы эмиссии

Когда недостаточно испускать частицы из одной из простых форм, доступных в process material, Godot предоставляет способ испускать частицы из произвольных сложных форм. Формы генерируются из сеток в сцене и сохраняются как текстуры в материале процесса частиц. Это очень универсальный рабочий процесс, который позволил пользователям использовать системы частиц для вещей, которые выходят за рамки традиционных вариантов использования, таких как листва, листья на дереве или сложные голографические эффекты.

Примечание

При создании emission points (точек эмиссии) из сеток вы можете выбрать только один узел в качестве источника эмиссии. Если вы хотите, чтобы частицы испускали из нескольких форм, вам придется либо создать несколько систем частиц, либо объединить сетки в одну во внешнем программном обеспечении DCC.

Создание точек выбросов

Создать точки выброса частиц...

Выберите сетку для выброса

...из экземпляра сетки в качестве источника

Установить плотность выбросов

Больше очков = выше плотность частиц

Чтобы воспользоваться этой функцией, начните с создания системы частиц в текущей сцене. Добавьте экземпляр сетки, который служит источником точек излучения частиц. Выбрав систему частиц, перейдите в меню viewport и выберите пункт GPUParticles3D. Оттуда выберите Create Emission Points From Node.

Появится диалоговое окно и попросит вас выбрать узел в качестве источника выброса. Выберите один из экземпляров сетки на сцене и подтвердите свой выбор. Следующее диалоговое окно посвящено количеству очков и способу их создания.

Emission Points контролируют общее количество очков, которые вы собираетесь сгенерировать. Частицы будут появляться из этих точек, поэтому то, что здесь вводить, зависит от размера исходной сетки (сколько площади вам нужно покрыть) и желаемой плотности частиц.

Emission Source предлагает 3 различных варианта создания точек. Выберите Surface Points, если все, что вы хотите сделать, это распределить точки излучения по поверхности сетки. Выберите Surface Points + Normal (Directed), если вы также хотите сгенерировать информацию о нормалях поверхности и заставить частицы двигаться в направлении, на которое указывают нормали. Последний параметр, Volume, создает точки излучения повсюду внутри сетки, а не только на ее поверхности.

Точки излучения сохраняются в локальной системе координат системы частиц, поэтому вы можете перемещать узел частиц, и точки излучения будут следовать за ним. Это может быть полезно, если вы хотите использовать одну и ту же систему частиц в нескольких разных местах. С другой стороны, вам, возможно, придется заново создавать точки излучения при перемещении либо системы частиц, либо сетки источника.

Текстуры для форм эмиссии

Текстуры эмиссии

Доступные текстуры формы выбросов

Все данные о сложных формах излучения частиц хранятся в наборе текстур. Их количество зависит от типа используемой формы излучения. Если вы установите для свойства Shape в группе Emission Shape материала для обработки частиц значение Points, у вас будет доступ к двум свойствам текстуры: Point Texture и Color Texture. Если поставить для него значение Directed Points, то появится третье свойство: Normal Texture.

Point Texture содержит все точки излучения, что были сгенерированны на прошлом шаге. Точка случайно выбирается для каждой частицы при ее появлении. Normal Texture, если существует, задает вектор направления в том же месте. Так же, если проставлено свойство Color Texture, оно задает цвет для частицы, взятой в том же месте, что и остальные две текстуры, а так же модулирует любой другой цвет, что был задан в обрабатываемом материале.

Также есть свойство Point Count, с которым можно изменить число точек излучения когда угодно после создания emission shape. Даже динамически во время игры.