언리얼 나이아가라 기초 2

vfx 장인·2026년 3월 20일

머터리얼 파라미터 -> 나이아가라 노출시키기 & erosion(침식)효과


이걸로 하면 됨

그리고 나이아가라에서 그냥 불러오면 됨

erosion 침식효과는 서서히 랜덤한 노이즈로 alpha값이 변하면서 사라지는 쉐이더임

기본적으로 value step을 이용해서 mask offset value에 들어오는 값에 따라 gradient를 여러구간으로 나눠서 특정 값에서만 흰색 반환하는 개념임


gradient는 노이즈가 되고,
particle update에서 dynamic parameter를 호출해서

particle의 수명과 같이 증가되도록 하면
침식효과가 됨

Fresnel 쉐이더

이렇게 화면이 바라보는 중앙은 alpha가 낮고,
외곽은 더 빛나게 하는 역할을 한다.

실드, 비눗방울, 유리등에 사용함

텍스쳐 자르기 feat. TexCoord(UV)

이런 텍스쳐가 있다

저걸 vectorToRadialValue를 통해 방사형으로 만들어주면

이런 모양이 된다

가운데를 확대해서 겉표면의 이상한 부분을 제거하려면

texcoord를 이용해서 uv를 편집해준다.
texcoord의 U,V Tiling의 값에 따라 subtract를 해주면


이런 uv가 나온다.

이 uv를 vector to radial value의 uv로 이어주면

이렇게 된다.

  1. uv의 절반을 빼는 이유는

    기본 uv에서는 원점이 구석에 있는데, 0.5를 빼면 원점이 중앙으로 바뀌게 됨
  2. 원점이 중앙이므로 중앙에서부터 샘플링이되므로 텍스쳐의 중앙값들이 원점에 가깝게 배치됨
  3. vector to radial value는 방사형으로 텍스쳐를 배치하므로, 초과된 외곽부분은 사라짐

    원래는 0,0~1,1로 전체 범위가 방사형으로 바뀌었다면,
    uv조절후에는 -0.5,-0.5~0.5,0.5로 절반만큼의 방사형으로 바뀌어서 외곽부분은 표시되지 못해 사라져보임

    즉, -0.5라는 값은 UV에 존재할 수 없는 값이라 없어지는거임

양면 텍스쳐 다르게 하기

머터리얼 세팅에서 two sided를 켜면 양면으로 같은 텍스쳐가 보임


이 노드를 사용하면 A,B사이드가 앞뒤면으로 다르게 보임

BlackBody, LinearGradient 로 용암표시하기

BlackBody는 입력되는 temperature에 따라 높을수록 파란색, 낮을수록 검은색이 되는 노드이다(불처럼 ㅇㅇ)


panning되는 노이즈에 노이즈에 곱셈을 한 blackbody는


이렇게 보임

linear gradient노드는 선형으로 U, V를 점점 밝게 만드는 노드임

U gradient는 가로방향으로 0~1까지의 U좌표를 점점 밝게하고,
V gradient는 세로방향으로 0~1까지의 V좌표를 점점 밝게 한다.

그럼 아래처럼 위는 까맣고, 아래는 밝은 텍스쳐가 완성된다

반전을 시키려면, linear gradient다음노드에 one minus를 이용해서
0~1이었던것을
1-0~1-1 = 1~0으로 반전시키면 됨

그다음은 normal vector 방향으로 alpha값에 맞춰
1에 가까울수록 튀어나오게 할지, 0에 가까울수록 튀어나오게 할지 결정하면 됨


그럼 이런 노드가 되고

이런 꿀렁이는 용암같은거 완성~

sprite facing

particles attribute parameters에서


추가하고 particle spawn시에

이런식으로 설정하면, 스프라이트의 방향을 정해줄 수 잇음

물론 sprite renderer에서 facing mode수정해줘야함facing mode수정해줘야함

scratch pad

주요 사용 시점

  • 기본 제공 모듈에 없는 특수 조건 로직 구현 (예: 파티클이 특정 거리에 도달하면 색상 변경)
  • 커스텀 모듈을 만들어 여러 이미터에 재사용하고 싶을 때
  • 리본 Facing 방향 제어처럼 복잡한 벡터/행렬 연산이 필요할 때
  • HLSL 없이 노드 그래프로 커스텀 파티클 동작을 설계할 때

특징

  • 만든 모듈은 다른 나이아가라 시스템에서도 복사해서 재사용 가능
  • 파티클 스폰 / 업데이트 / 이벤트 등 원하는 스택 위치에 삽입 가능
  • 입력(Input)·출력(Output) 파라미터를 직접 정의해 외부에서 값을 받을 수도 있음

한마디로, 나이아가라의 기본 모듈이 부족하다 싶을 때 나만의 모듈을 만드는 작업 공간이라고 보면 됨


이런식으로 particle의 velocity를 이용해서 z의 velocity가 -10보다 작으면 빨간색, -10보다 작지 않으면 파란색으로
particle color를 변경하는 모듈임

profile
인디게임개발을 하는 기획자이자 프로그래머이자 VFX디자이너입니다

0개의 댓글