FPS Project 에 사용할 총구 화염 세팅하기
FPS Project 에 사용할 총구 화염을 어떻게 구현할지 고민했다.
가장 쉬운 방법은 에셋스토어에서 Effect 를 다운로드 받아서 적용하는 방법이지만,
개발 역량을 늘리기 위해 될 수 있으면 Unity 내장 기능을 적극 활용해서 구현하고 싶다.
Visual Effect 와 Particle System 중에서 고민를 했었는데,
Visual Effect 와 Particle System 둘 다 많이 접해보지 않아 생소한 부분이지만
그래도 조금 더 익숙한 Particle System 를 활용하여 구현해보려고 한다.
Material 세팅

1-1. 총구 앞에 Empty Object 생성
- 이름은 MuzzleFlash 로 했다.
1-2. MuzzleFlash 에 사용할 새 Material 을 만들어준다.
- 이름은 MuzzleEffect 로 했다.

1-3. Shader 세팅
- Inspector 상단에서 Shader 드롭다운 클릭 후
- Universal Render Pipeline > Particles > Lit 클릭

1-4. Inspector 세팅
- Surface Input 에서 Base Map 네모칸의 우측 ◎ 클릭
- Default 로 검색하여 꽂아준다.

1-5. Inspector 세팅
- Surface Type 드롭다운 클릭 > Transparent 로 바꿔준다.
- 그러면 Blending Mode 아래에 Preserve Specular Lighting 체크박스가 생기는데 체크를 해제한다.

1-6. Inspector 세팅
- Surface Inputs 의 Emission 을 체크
- HDR 을 눌러 HDR Color 창을 켜준다

1-7. Inspector 세팅
- 원하는 색상으로 세팅해준다.
- 여기까지 세팅하면 Material 세팅은 끝.
Particle System 세팅

2-1. 총구 앞에 만들었던 MuzzleFlash ( Empty Object ) 에 Particle System 컴포넌트를 붙여준다
- Renderer 에서 Meterial 클릭 후 세팅해두었던 MuzzleFlash ( Material ) 을 찾아서 넣어준다.

2-2. Particle System 세팅
- Emission 의 Rate over Time 을 0 으로 변경
- Emission 에서 Bursts 모드로 변경
- Shape 의 Radius 를 0.05 로 변경
- Start Size 를 0.2 로 변경

2-3. Particle System 세팅
- Start Lifetime 의 드롭다운 클릭 > Random Between Two Constants 클릭
└ 0.04 / 0.06 으로 변경 - Start Speed 의 드롭다운 클릭 > Random Between Two Constants 클릭
└ 0 / 5 으로 변경

2-4. Scene 화면을 보면서 속도를 조절

2-5. Particle System 세팅
- Color over Lifetime 체크 후 Location 수정

2-6. Particle System 세팅
- Size over Lifetime 체크 후 Size 조정

2-7. 마지막으로 Looping 을 꺼준다
선택

3-1. Hierarchy 에서 우클릭 > Light > Point Light 클릭하여 생성
- 생성한 Point Light 를 MuzzleFlash 의 자식객체로 넣어준다.

3-2. Particle System 세팅
- Lights 체크 후 Light 에 생성해뒀던 Point Light 를 꽂아준다.
- Ratio 를 0.1 로 변경
- Maximum Lights 를 1 로 변경

3-3. Particle System 세팅
- Start Color 를 입맛대로 바꿔준다.
결과


그럴듯하게 잘 나와서 흡족하다.
'📖TIL > 🔮Unity Graphics' 카테고리의 다른 글
| Decal 을 이용한 페이크 그림자 (0) | 2026.04.08 |
|---|---|
| Fresnel Setting (0) | 2026.03.01 |
| Electric short (0) | 2026.02.28 |
| Electric spark (0) | 2026.02.28 |