Unrea Engine Graphic/Niagara

Niagara - Custom Niagara Module

DB51 2025. 5. 15. 11:44

 

 

 

 

Scratch Pad Module

 

 

 

Niagara Module

 · Graph Pradigm 사용 (Blueprint 노드 또한 Graph Pradigm을 사용한다.)

 ·  노드와 핀을 사용하여 그래프 안에서 나이아가라 모듈을 위한 C++ 코드를 작성하는 블루프린트와 달리 여기서 작성되는 코드는 HLSL(High Level Shading Language)이라는 코드이다. (머티리얼 에디터와 동일한 언어)

 ·  하지만 어떤 언어를 사용하든 코딩 원리는 동일하며 다른 언어에서도 사용할 수 있다.

 

 ·  여기서 Map이 의미하는 것은 Parameter Map이며, 각 이미터마다 자체 Parameter Map이 있고, Parameters를 통해 어떤 것들을 포함하고 있는지 볼 수 있다.

 

 

Parameter Namespace

 : 나이아가라에서 변수를 구분하는 몇 가지 유형. 프로그래밍에서 네임 스페이스를 사용하는 것은 같은 이름을 가진 변수를 구분하기 위함.

 

 · System

 · Emitter

 · Particles

 · Input

 · Output

 · Stackcontext

 · Transient

 

 

ex)

Namespace Parameter Notation
System Age System.Age
Emitter Age Emitter.Age
Particles Age Particles.Age

 

 

 

 

 Parameter Writes

<-----------------------

 

 

 

Details 창의 우측 상단 필터 버튼을 통해 Parameter Writes를 Detials 창에서 확인할 수 있다.

 

 

 

 

데이터 흐름은 Map Get에서 Map Set으로 이동하여 Parameter Map에서 값을 가져올 수 있으며 이를 사용하여 Parameter Map 내부의 다른 값을 간단하게 설정할 수 있다.

 

 

ex) 모듈이 Lifetime을 재정의 하도록 하기

 

Input.Lifetime (float)를 생성, 이 변수에 입력해야하는 값은 Particle.Lifetime

 

 

 

 

 

Lifetime 값을 모듈화 하기

Map Get의 '+' 버튼을 통해 float 타입의 변수(NewLifetime)를 만든다.

 

 

Map Set에서 이미 존재하는 입력할 변수를 찾는다. (Core Parameters)

 

두 변수를 연결한다.

 

 

Apply Scratch는 Blueprint의 Apply와 같은 기능으로 이 커스텀 나이아가라 모듈 내에서 변경한 모든 사항을 적용한다.

 

 

Local Modules 탭을 통해 Scratch Module의 이름을 변경할 수 있다.

NMS (Niagara Module System)

 

 

 

Custom Module을 선택하면 Details 창을 통해 변수값 입력을 할 수 있으며, 어느 변수에 적용되는지 알 수 있다.

(기존 모듈에서 값을 변경해도 모듈에서 변경한 값이 적용된다.)

 

 

 

 

 

 

 

Velocity 값을 모듈화 하기

VelocityAxis (Vector) (방향 - x, y, z 축)

VelocitySpeedScale (Float) (속도 - 값)

곱하여 Velocity에 적용

 

 

 

'Unrea Engine Graphic > Niagara' 카테고리의 다른 글

Niagara - Attribute Leader Advanced  (0) 2025.05.16
Niagara - Attribute Leader Simple  (0) 2025.05.16
Niagara - Meteo 3 (Dissipation)  (0) 2025.05.14
Niagara - Meteo 2 (Climax)  (0) 2025.05.14
Niagara - Meteo 1 (Aniticipation)  (1) 2025.05.13