Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

3D 입자 어트랙터

입자 어트랙터

입자 유인기는 도달 범위 내의 모든 입자에 힘을 가하는 노드입니다. 그들은 힘의 방향에 따라 입자를 더 가까이 끌어당기거나 밀어냅니다. 어트랙터에는 GPUParticlesAttractorBox3D, GPUParticlesAttractorSphere3D, :ref:`class_GPUParticlesAttractorVectorField3D`의 세 가지 유형이 있습니다. 런타임에 인스턴스화하고 게임플레이 코드에서 해당 속성을 변경할 수 있습니다. 복잡한 매력 효과를 위해 애니메이션을 적용하고 결합할 수도 있습니다.

참고

2D 입자 시스템에는 입자 어트랙터가 아직 구현되지 않았습니다.

어트랙터를 사용하려면 가장 먼저 해야 할 일은 ParticleProcessMaterial에서 Attractor Interaction 속성을 활성화하는 것입니다. 어트랙터에 반응해야 하는 모든 입자 시스템에 대해 이 작업을 수행합니다. Godot의 대부분의 속성과 마찬가지로 런타임에 이를 변경할 수도 있습니다.

일반 속성

일반 입자 어트랙터 속성

일반 어트랙터 속성

모든 어트랙터에서 찾을 수 있는 몇 가지 속성이 있습니다. 검사기의 GPUParticlesAttractor3D 섹션에 있습니다.

``Strength``는 어트랙터 힘의 강도를 제어합니다. 양수 값은 입자를 어트랙터 중심에 더 가깝게 끌어당기고, 음수 값은 입자를 멀리 밀어냅니다.

``Attenuation``는 어트랙터의 영향 영역 내에서 강도 감소를 제어합니다. 모든 입자 어트랙터에는 경계가 있습니다. 그 강도는 이 경계의 경계에서 가장 약하고 중앙에서 가장 강합니다. 경계 외부의 입자는 어트랙터의 영향을 전혀 받지 않습니다. 감쇠 곡선은 해당 거리에 따라 강도가 약해지는 방식을 제어합니다. 직선은 강도가 거리에 비례한다는 것을 의미합니다. 입자가 경계와 중심 사이의 중간에 있으면 어트랙터 강도는 중심 강도의 절반이 됩니다. 곡선 모양에 따라 입자가 어트랙터를 향해 가속되는 속도가 달라집니다.

다양한 어트랙터 감쇠 곡선

강도 증가 변화: 어트랙터까지의 거리에 걸쳐 지속적으로(왼쪽), 경계 경계에서 빠르고 중앙에서 천천히(중간), 경계에서 천천히 그리고 중심에서 빠릅니다(오른쪽).

Directionality 속성은 입자가 당겨지는 방향을 변경합니다. 0.0 값에서는 방향성이 없습니다. 즉, 입자가 어트랙터의 중심을 향해 당겨진다는 의미입니다. At 1.0, the attractor is fully directional, which means particles will be pulled along the attractor's local -Z-axis. 어트랙터를 회전시켜 전역 방향을 변경할 수 있습니다. ``Strength``가 음수이면 입자는 대신 ``+Z``축을 따라 당겨집니다.

다양한 어트랙터 방향성 값

방향성 없음(왼쪽)과 전체 방향성(오른쪽). 입자가 어트랙터의 로컬 Z축을 따라 어떻게 움직이는지 확인하세요.

Cull Mask 속성은 각 시스템의 :ref:`가시성 레이어 <class_VisualInstance3D>`을 기반으로 어트랙터의 영향을 받는 입자 시스템을 제어합니다. 파티클 시스템은 시스템의 가시성 레이어 중 하나 이상이 어트랙터의 컬 마스크에서 활성화된 경우에만 어트랙터의 영향을 받습니다.

커스텀 반복자(Iterator)

입자 유인 상자

노드 목록의 박스 어트랙터

박스 어트랙터는 상자 모양의 영향 영역을 가지고 있습니다. Extents 속성을 사용하여 크기를 제어합니다. 상자 범위는 항상 경계 측면의 절반을 측정하므로 (X=1.0,Y=1.0,Z=1.0) 값은 각 측면 너비가 2미터인 영향 영역이 있는 상자를 만듭니다.

박스 어트랙터를 생성하려면 새로운 자식 노드를 씬에 추가하고 사용 가능한 노드 목록에서 ``GPUParticlesAttractorBox3D``를 선택하세요. 보다 역동적인 효과를 위해 상자 위치를 애니메이션으로 만들거나 움직이는 노드에 연결할 수 있습니다.

박스 어트랙터 부품 입자장

음수 강도 값을 갖는 박스 어트랙터는 입자 필드를 통과하면서 입자 필드를 분리합니다.

구체 어트랙터

입자 어트랙터 구체

노드 목록에서 구체 어트랙터

구형 어트랙터는 구형 영향 영역을 갖습니다. Radius 속성을 사용하여 크기를 제어합니다. 박스 어트랙터는 완벽한 큐브일 필요는 없지만 구 어트랙터는 항상 구입니다. 높이와 독립적으로 너비를 설정할 수 없습니다. 길쭉한 모양에 구형 어트랙터를 사용하려면 어트랙터의 Node3D 섹션에서 해당 ``Scale``를 변경해야 합니다.

구형 어트랙터를 생성하려면 씬에 새 자식 노드를 추가하고 사용 가능한 노드 목록에서 ``GPUParticlesAttractorSphere3D``를 선택합니다. 보다 역동적인 효과를 위해 구 위치를 애니메이션으로 만들거나 움직이는 노드에 연결할 수 있습니다.

구체 어트랙터 부분 입자 필드

음수 강도 값을 갖는 구형 어트랙터는 입자 필드를 통과하여 이동할 때 입자 필드를 분할합니다.

벡터 필드 어트랙터

입자 어트랙터 벡터 필드

노드 목록에서 벡터 필드 어트랙터

벡터 필드는 그리드에 위치한 벡터를 포함하는 3D 영역입니다. 그리드 밀도는 벡터의 수와 벡터의 분산 정도를 제어합니다. 벡터 필드의 각 벡터는 특정 방향을 가리킵니다. 이는 완전히 무작위일 수도 있고 고유한 패턴과 경로를 형성하는 방식으로 정렬될 수도 있습니다.

입자가 벡터 필드와 상호 작용할 때 입자의 이동 방향은 필드에서 가장 가까운 벡터와 일치하도록 변경됩니다. 입자가 필드의 다음 벡터에 더 가까이 이동하면 해당 벡터의 방향과 일치하도록 방향이 변경됩니다. 입자의 속도는 벡터의 길이에 따라 달라집니다.

박스 어트랙터와 마찬가지로 벡터 필드 어트랙터도 상자 모양의 영향 영역을 갖습니다. Extents 속성을 사용하여 크기를 제어합니다. 여기서 (X=1.0,Y=1.0,Z=1.0) 값은 각 측면 너비가 2미터인 영향 영역이 있는 상자를 만듭니다. Texture 속성은 :ref:`3D 텍스처 <class_Texture3D>`를 사용합니다. 여기서 모든 픽셀은 픽셀의 색상이 벡터의 방향과 크기로 해석되는 벡터를 나타냅니다.

참고

텍스처가 벡터 필드로 사용되는 경우 알아야 할 두 가지 변환 유형이 있습니다.

  1. 텍스처 좌표는 어트랙터 경계에 매핑됩니다. 아래 이미지는 텍스처의 어느 부분이 벡터 필드 볼륨의 어느 부분에 해당하는지 보여줍니다. 예를 들어, ``+Y``가 텍스처 UV 공간에서는 아래쪽을 가리키지만 Godot의 월드 공간에서는 위쪽을 가리키기 때문에 텍스처의 아래쪽 절반은 벡터 필드 어트랙터의 위쪽 절반에 영향을 줍니다.

  2. 픽셀 색상 값은 공간의 방향 벡터에 매핑됩니다. 아래 이미지는 개요를 제공합니다. 입자는 각 축을 따라 두 방향으로 이동할 수 있으므로 색상 범위의 아래쪽 절반은 음의 방향 값을 나타내고 위쪽 절반은 양의 방향 값을 나타냅니다. 따라서 노란색 픽셀 ``(R=1,G=1,B=0)``는 벡터 ``(X=1,Y=1,Z=-1)``에 매핑되는 반면 중간 회색 ``(R=0.5,G=0.5,B=0.5)``는 전혀 움직임이 없습니다.

텍스처에서 벡터 필드로 매핑

벡터 필드 어트랙터를 생성하려면 새 자식 노드를 씬에 추가하고 사용 가능한 노드 목록에서 ``GPUParticlesAttractorVectorField3D``를 선택하세요. 더욱 역동적인 효과를 위해 어트랙터의 위치를 애니메이션으로 만들거나 움직이는 노드에 부착할 수 있습니다.

벡터 필드 텍스처를 생성하는 외부 도구가 없는 경우 벡터 필드 텍스처로 연결된 색상 램프가 있는 NoiseTexture3D를 사용할 수 있습니다. 색상 램프를 수정하여 각 좌표가 벡터 필드의 영향을 받는 정도를 조정할 수 있습니다.

입자 필드의 벡터 필드 어트랙터

두 개의 입자 시스템이 동일한 벡터 필드 어트랙터의 영향을 받습니다. :download:`3D 텍스처 <img/particle_Vector_field_16x16x16.bmp>`를 다운로드하려면 여기를 클릭하십시오.