Home [Unity] UI에 파티클(Particle) 띄우기
Post
Cancel

[Unity] UI에 파티클(Particle) 띄우기

일하다가 질문을 받아 처리하는 중 문득 “UI에 Particle이 원래 노출이 안되었던 것 같은데…” 하고 테스트를 해보면서 얻은 내용을 정리했습니다.

UI에 Particle를 띄우는 일이 흔하게 있는데 한글로 된 정보가 많이 없어서 유니티 개발자분들에게 도움이 되었으면 합니다.

추가로 더 좋은 방법이나 설명 또는 왜 이렇게 되는지 원리에 관해 좋은 의견이 있으시다면 댓글로 공유해주세요!

업무로든 프로젝트로든 Unity를 사용하는 게임 개발자는 UI 작업은 피할 수 없는 작업이다.

그리고 UI에는 당연하게도 Particle System이 들어가게 되는데 Particle를 넣어도 게임 화면에 노출이 되지 않는 현상을 한 번은 경험했을 것이다.

그럼 UI에 Particle System을 어떻게 띄워야 하는 것일까??

어떻게 띄워야 하는지 알아보자


문제 상황 예시

게이지 바에 변화가 생길 때 게이지 끝에 파티클 이펙트가 발생해야 하는 경우를 예로 들어 설명했습니다.

일단 기본 세팅을 해보자

게이지 바 UI를 만들기 위해 아래와 같이 만들었다.

Unity_img_15

Canvas의 Render Mode는 초기 세팅인 Screen Space - Overlay 로 되어 있다.

Unity_img_16

그리고 검은색 게이지 바 우측에 Particle System을 붙여보자

Unity_img_17

이렇게 세팅을 해두고 게임 플레이를 해보면 파티클이 노출되지 않는 것을 볼 수 있다.

Unity_img_18


UI에 Particle를 띄워보자!

1. Canvas의 Render Mode를 변경하자!

일단 Canvas의 Render Mode 를 Screen Spcae - Camera 로 변경해야 한다.

Unity_img_19

2. UI용 Camera 생성

Screen Space - Camera 로 변경하게 되면 Render Camera 가 필요하다.

Render Camera 란? 선택한 Canvas 를 렌더링 해주는 Camera 이다. 그러므로, 해당 Camera가 비활성화 되어 있으면 연결된 Canvas가 게임 화면에 노출되지 않는 것을 볼 수 있다.

Render Camera 를 만들어주기 위해 UI용 Camera를 생성해주자!

그리고 Camera의 Clear Flags 를 Depth Only 로 설정해주고 Canvas의 Render Camera에 만든 UI용 Camera 를 넣어주자.

3. 결과

아래와 같이 정상적으로 UI에 Particle이 노출되는 것을 확인할 수 있다.

Unity_img_20

This post is licensed under CC BY 4.0 by the author.