[Unity] UI에서는 파티클을 어떻게 그릴까

a-a·2026년 3월 13일

알쓸신잡

목록 보기
29/31
post-thumbnail

POV

파티클을 UI에 정상적으로 그릴 수 없는 이유


유니티 파티클 시스템의 문제점

1. 그려지는 순서 관리 어려움

파티클 시스템은 애니메이션만으로 표현하기 어렵거나, 수많은 작은 요소가 규칙적으로 생성·소멸하며 움직이는 효과를 만들 때 적합하다.
예를 들어 불꽃, 연기, 먼지, 잔광, 스파크처럼 시뮬레이션 성향이 강한 연출은 Animation보다는 Particle System이 더 잘 맞는다.

문제는 유니티에서 월드 오브젝트 렌더링과 UI 렌더링이 서로 다른 체계로 동작한다는 점이다.
일반 게임 오브젝트는 SpriteRenderer, MeshRenderer 같은 월드 렌더러를 통해 그려지며, 이때는 Sorting Layer, Order in Layer, Z Position, Render Queue 같은 월드 기준의 정렬 규칙이 우선한다. 그래서 보통 Hierarchy 상의 인스펙터 순서는 렌더링 우선순위에 큰 영향을 주지 않는다.

반면 UI는 Canvas 기반으로 렌더링되며, 같은 Canvas 아래에서는 Hierarchy 순서가 시각적 앞뒤 관계에 큰 영향을 준다.
이는 Canvas가 자식 UI 요소들을 순서대로 수집하고, 이를 하나의 UI 렌더링 흐름으로 정리해 그리기 때문이다. 그래서 UI에서는 부모-자식 관계, 형제 순서, Canvas의 정렬 설정이 화면상 겹침 순서를 결정하는 핵심 요소가 된다.

이 차이 때문에 일반 Particle System을 UI 위에 바로 올려 쓰면 레이어 충돌 문제가 발생하기 쉽다.
유니티의 기본 Particle System은 본질적으로 게임 오브젝트 중심의 월드 렌더링 시스템에 더 친화적이기 때문에, Canvas 안의 UI처럼 형제 순서 기준으로 안정적으로 정렬되지 않는다. 즉 파티클은 월드 기준으로 그려지고, 팝업은 UI 기준으로 그려지다 보니, 의도상으로는 팝업 뒤에 있어야 할 배경 파티클이 실제 화면에서는 팝업 위로 보이는 문제가 생길 수 있다.

패널마다 z축을 달리해서 관리하면 가능한가?

생각처럼 작동하지 않는다. 위에서 말했던 것처럼 각 UI 요소가 각자 그려지는 것이 아니라, UI Canvas가 전체를 담당하고 있기 때문이다.

그래서 UI 안에서 파티클을 안전하게 쓰려면 전용 UI 파티클 방식으로 변환하거나, 별도 Canvas 구성, Render Texture 활용, 전용 셰이더/플러그인 등을 통해 렌더링 경로를 맞춰주는 작업이 필요하다.

2. 랜더 모드를 카메라로 사용해야함

오버레이로 할 시, UI 랜더 순서가 바뀌어서 일부 커스텀 쉐이더, 파티클, 포스트 프로세싱이 적용되지 않는다.

profile
게임 개발자란 무엇일까!

2개의 댓글

comment-user-thumbnail
5일 전

이 분 프론트이신건가요?

1개의 답글