GPUParticlesAttractor3D

Наследует: VisualInstance3D < Node3D < Node < Object

Наследуется от: GPUParticlesAttractorBox3D, GPUParticlesAttractorSphere3D, GPUParticlesAttractorVectorField3D

Абстрактный базовый класс для аттракторов трехмерных частиц.

Описание

Аттракторы частиц можно использовать для притяжения частиц к началу аттрактора или для их отталкивания от начала аттрактора.

Аттракторы частиц работают в реальном времени и могут перемещаться, вращаться и масштабироваться во время игры. В отличие от форм столкновений, также поддерживается неравномерное масштабирование аттракторов.

Аттракторы можно временно отключить, скрыв их или установив их strength на 0.0.

Примечание: Аттракторы частиц влияют только на GPUParticles3D, а не на CPUParticles3D.

Свойства

float

attenuation

1.0

int

cull_mask

4294967295

float

directionality

0.0

float

strength

1.0


Описания свойств

float attenuation = 1.0 🔗

  • void set_attenuation(value: float)

  • float get_attenuation()

Затухание аттрактора частиц. Более высокие значения приводят к более плавному отталкиванию частиц по мере их приближения к началу координат аттрактора. Нулевые или отрицательные значения приведут к тому, что частицы будут отталкиваться очень быстро, как только коснутся краев аттрактора.


int cull_mask = 4294967295 🔗

  • void set_cull_mask(value: int)

  • int get_cull_mask()

Слои рендеринга частиц (VisualInstance3D.layers), на которые будет влиять аттрактор. По умолчанию все частицы подвержены влиянию аттрактора.

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

Притяжение частиц также можно отключить на основе материала процесса, установив ParticleProcessMaterial.attractor_interaction_enabled на узле GPUParticles3D.


float directionality = 0.0 🔗

  • void set_directionality(value: float)

  • float get_directionality()

Регулирует направленность аттрактора. При 0.0 аттрактор вообще не направлен: он будет притягивать частицы к своему центру. При 1.0 аттрактор полностью направлен: частицы всегда будут подталкиваться к локальному -Z (или +Z, если strength отрицательна).

Примечание: Если directionality больше 0.0, направление, в котором подталкиваются частицы, можно изменить, вращая узел GPUParticlesAttractor3D.


float strength = 1.0 🔗

  • void set_strength(value: float)

  • float get_strength()

Регулирует силу аттрактора. Если strength отрицательна, частицы будут отталкиваться в противоположном направлении. Частицы будут отталкиваться от начала аттрактора, если directionality равен 0.0, или к локальному +Z, если directionality больше 0.0.