
이번 시간에는 유니티엔진에서 불효과를 구현하는 법을 알아볼 것이다
유니티엔진에서 Shader Graphs는 Custom Shader과 비슷한 효과를 낸다고 생각하면 된다
그럼 Custom Shader의 불효과를 내면 좋지 아니할까? 라는 생각이 들었다
자 그럼 구현에 들어간다

일단 원리부터 설명하겠다
글쓴이가 사용한 방식은 중심이 되는 1Fire를 만들어두고 그 안에 2Fire가 반복되는 패턴으로 위로 계속 올라가도록 만들은 것이다
그렇게 하면 중심이 되는 불안에 2Fire가 계속 위로 올라가면서 불이 타오르는 효과를 만들어 줄 수 있다!

Unit Shader Graph를 만들어서 이름은 BunFire로 지정해준다

그뒤 Graph Inspector에서 위 설정을 참고해서 속성을 변경해준다

그뒤 위 스샷을 참고해서 UpFire라고 그룹지은 노드를 완성해준다
여기서 Time는 Multiply와 Vector2와 결합하여서 노이즈가 이동하는 효과를 내준다!
Tiling And Offset는 그걸 반복하는 효과를 내주는 것이고!
이제 Sample Texture 2D는 노이즈 Texture를 넣어주는 역활이다
그리고 마지막 Multipy는 불꽃이 타오르는 높이를 설정해준다
필자가 말한 것은 노드의 속성이 아니라 이 Shader Graphs의 역활을 말하는 것이다 오해말기를 바란다


이제 인스펙터에서 사용될 FireAlpha를 Float로 준비해준다
그리고 Float의 속성을 두번째 스크린샷을 참고하여 설정해준다

그뒤 UpFire를 가둬두는 역활을 하는 중심 불꽃을 만들어보자!
이제 노드의 역활을 설명해주겠다
UV노드
3D 메시 표면 위에 텍스처를 입히기 위한 2D좌표게 정보를 가져옵니다
이번 불꽃에서의 역활은 세로축의 데이터를 가져와서 어디까지 불을 높이는지 계산할 것 입니다
Split노드
여러데이터가 묶여있는 벡터(Vector2,3,4)나 색상(RGBA) 값을 각각의 단일 채널로 분리합니다
여기서는 G(Y축) 채널만 따로 뽑아내어 아래는 검고(0) 위로 갈수록 밝아지는(1) 수직 그라디언트 페이드를 만들때 사용했습니다
Add노드
A+B를 출력해줍니다
One Minus노드
쉽게 말하면 색깔을 반전해주는 효과를 냅니다
Subtract 노드
첫번째 입력값에서 두번째 입력값을 뺍니다
여기서는 불꽃 안의 노이즈를 빼주는 역활을 했습니다
Step노드
기준값을 정해두고 입력값이 기준보다 낮으면 0(검은색) 같으면 1(흰색)으로 분리해 이진화(Cutout)합니다
Multiply노드
A와 B를 곱합니다
Stet으로 만들어진 불투명한 마스크(1)에 0.7 같은 비율을 곱해 전체적인 반투명도를 낮추는데 쓰였습니다
Lerp노드
Adhk B 두색상이가 값을 부드럽게 섞어 줍니다
사실 쉐이더 그래프가 좀 복잡한 편이여서 이번 편은 글쓴이도 어질어질하다...
이제 세이브를 해주고 씬에서 파티클 시스템으로 자연스럽게 활용해보자!


씬에서 단순하게 오브젝트에 머티리얼을 가져오면 이렇게 표현이 된다
이제 파티클 시스템에서 어떻게 설정하는지 설정값을 보자



위 설정들은 파티클 시스템을 어느 방향에서든 자연스럽게 보여주는 것이 목적인 설정이다
Emission에서 1개의 파티클 시스템만 보이게 하고
Renderer에서 Material을 우리가 이번에 만들어준 M_Bunfire라고 이름 붙인 결과물어 넣어줬다
좀 글이 두서없고 정신없어졌는데...
필자가 실습하면서 정신없게 한게 영향이 너무크다 ㅜㅜ
이점은 양해부탁드립니다
'그래픽&아트' 카테고리의 다른 글
| 유니티엔진 Shader Graphs로 ToonRendering 적용하기 개량판 (0) | 2026.09.22 |
|---|---|
| 유니티엔진 Shader Graphs로 ToonRendering 적용하기 (0) | 2026.09.10 |
| 유니티엔진 Shader Graphs로 OutLine(아웃라인) 만들기 (0) | 2026.09.08 |
| 블렌더에서 뒷부분의 애니메이션이 앞부분의 애니메이션을 덮어씌울때 (0) | 2026.09.04 |
| 블렌더에서 베이크할때 색상이 겹치는 경우 (0) | 2026.09.03 |