NS_RainFX - Rain Splash Small
Particle Spawn
Initialize Particle
Lifetime : 0.1 ~ 0.5
Color : Random Alpha (0.1 ~ 0.2)
Particle Update
Sub UV Animation
Start Frame Range Override : 0
End Frame Range Override : 3
Texture


Rain Splash Small에 사용한 Material Instance 복제 ( Rain Splash Big, Rain Splash Variations)


Rain Splash Small 이미터 복제
NS_RainFX - Rain Splash Big
Render
Sprite Renderer
제작한 머티리얼 적용
Sub UV : 1.0, 1.0
Particle Update
Sub UV Animation 삭제
Particle Spawn
Initialize Particle
Lifetime : 0.05 ~ 0.08
Sprite Size Mode : Random Uniform
Uniform Sprite Size : 25 ~ 55
Particle Update
Scale Sprite Size

Dynamic Material Parameters

Event Handler - SourceL CollisionEvent
Event Handler Properties
Max Event Per Frame : 2 (파티클 수 조절)
Rain Splash Small 이미터 복제
NS_RainFX - Rain Splash Variations
Render
Sprite Renderer
제작한 머티리얼 적용
Sub UV : 4.0, 4.0
Particle Spawn
Initialize Particle
Lifetime : 0.2 ~ 0.5
Sprite Size Mode : Random Uniform
Uniform Sprite Size : 35 ~ 55
Particle Update
Sub UV Animation
Start Frame Range Override : 0
End Frame Range Override : 15
Dynamic Material Parameters


Texture 파일 (Ripple)


Rain Splash Big 이미터 복제
NS_RainFX - Rain Ripples
Render
Sprite Renderer
제작한 머티리얼 적용
Sub UV : 1.0, 1.0
Particle Spawn
Initialize Particle
Lifetime : 0.5 ~ 1.0
Sprite Size Mode : Random Uniform
Uniform Sprite Size : 200 ~ 210
Color : White, Alpha (0.1)
Render
Sprite Renderer
Facing Mode : 카메라를 향하는 방향 (Automatic - 카메라 방향으로 정면을 보여준다.)

Particle Spawn
Sprite Facing and Alignment
Sprite Facing : Sprite가 향하는 방향을 커스텀할 수 있다.

Particle Update
Scale Sprite Size

NS_RainFX - Main Rain Drops
Particle Update
Collision
Particle Radius Scale (콜리전이 발생하는 영역의 스케일 값) : 0.4

경사면에서의 파티클
1. 파티클 없애기 (커스텀 이미터)
Event Handler - Source: CollisionEvent
Receive Collision Event
Collision Normal : 충돌되는 면에 대한 값 (Float)
-> 이 값을 이용. 수직일 때 1, 거짓의 경우 0
Niagara Module Script 생성
NMS_CheckCollisionNormal
Details
Category : Custom
Library Visibility : Exposed
Keywords : CheckCollisionNormal
Map Get : Vector (Input.CollisionNormalToCheck)
Make Vector : Z - 1.0
Dot : 곱셈
Make Float : 0.99
-> Vector에 곱한 값이 0.99보다 큰 경우, 또는 크지 않은 경우

DataInstance.Alive : 파티클을 없애기 위해 값을 설정하는 Map Set의 경우, 바로 사용할 수 있는 기존 파라미터. (참의 경우, 파티클 유지하고, 거짓의 경우, 파티클 삭제)
NS_RainFX - Rain Splash Small
Event Handler - Source: CollisionEvent
NMS Check Collision Normal 추가
Receive Collision Event
Collision Normal (Vector 3) : Output (Vector 3 안에 값을 저장하기 위함)
NMS Check Collision Normal
CollisionNormalToCheck : ReceiveCollsionEvent.Vector_3


Main Rain Drop을 제외한 모든 이미터에 적용
Receive Collision Event
Collision Normal (Vector 3) : Output
NMS Check Collision Normal -> 복제하기
CollisionNormalToCheck : ReceiveCollsionEvent.Vector_3

2. 파티클 정렬 변경하여 충돌하는 표면과 정렬하게 만들기 (커스텀 이미터)
(모듈의 입력에 드롭 다운을 추가하는 방식)
Enum (Enumeration, 열거형)
: 다양한 옵션을 제공하고 선택에 따라 다른 결과를 줌.
ex) Shape Location - Shape Primitive에서 Sphere, Box / Plane 등을 선택하면 선택에 따라 설정창이 변화한다.
Enum 사용 예시
Collision Check Mode :
Normal Input -> Dot Product -> Kill Particles On Slope -> Switch
: Dot Product (내적)을 사용, Dot Product Map Set이 최종 출력.
Normal Input -> Set Sprite Alignment -> Align Particles With Slope -> Switch
: 나이아가라 모듈로 스프라이트 정렬을 설정 - 한 가지 파라미터 Map Set만 최종 출력.
Custom Enum Niagara
나이아가라에서 사용하는 열거형(Enum)의 이름은 ENiagara로 시작한다.
Blueprint - Enumeration


+ Add Enumeration

Edit - Project Settings
Plugins-Niagara - Additional Parameter Enums에 제작한 Enum 추가

Project Settings 설정 시, 프로젝트를 재시작 해야한다.
NMS_CheckCollisionNormal
Static Switch의 Details


Static switch type : 방금 제작한 Enum으로 변경
Niagara Parameter Map으로 적용 (Map Get, Map Set은 여러개 제작 가능)


Static Switch의 NiagaraParameterMap을 Output Module에 연결
If Kill Particles On Slope에 기존 Map Set (파티클 삭제) 연결
새 Map Set 생성 + 기존에 있는 값인 Particle.SetAlignment
Map Get의 CollisionNormalToCheck를 Particle.SetAlignment에 연결
If Align Particles With Slope에 새로 생성한 Map Set (파티클 정렬) 연결

NS_RainFX
NMS Check Collision Normal에서 Collision Check Mode가 생성된 것을 확인할 수 있다.

Main Rain Drop을 제외한 모든 이미터에 적용
Event Handler - Source: CollisionEvent
NMS Check Collision Normal
Collision Check Mode : Align Particles With Slope
Render
Sprite Renderer
Alignment : Custom Alignment
NS_RainFX - Rain Ripples
경사면에 닿는 것이기 때문에 물결 생성을 삭제
Event Handler - Source: CollisionEvent
NMS Check Collision Normal
Collision Check Mode : Kill Particles On Slope
'Unrea Engine Graphic > Niagara' 카테고리의 다른 글
| Niagara - Rain Effect (1) Fresnel, Parameter (0) | 2025.05.26 |
|---|---|
| Niagara - Attribute Leader Advanced (0) | 2025.05.16 |
| Niagara - Attribute Leader Simple (0) | 2025.05.16 |
| Niagara - Custom Niagara Module (0) | 2025.05.15 |
| Niagara - Meteo 3 (Dissipation) (0) | 2025.05.14 |