나 개발자 진짜 되냐?

[ Unity 뱀서라이크 게임을 만들어보자 12 ] 파티클이란? 파티클 생성 본문

유니티를 공부해봐요!/고급이에요!

[ Unity 뱀서라이크 게임을 만들어보자 12 ] 파티클이란? 파티클 생성

Snow Rabbit 2024. 11. 9. 15:20

 

중급을 다녀오고 난 후..

고급 분야를 공부하기 위해

다시 2D로 들어왔다.

 

빤짝빤짝

임팩트를 걸어주는 파티클을 배워보고

적용해 보자!!!

 


파티클 시스템이란

2D나 3D에서 다양한 이펙트를 제작하는데 활용되는 컴포넌트로

 

수천 개의 작은 2D나 3D 오브젝트들을 관리하고

그들의 동작과 생애를 제어하고

수천개 중 하나하나를 우리는 파티클이라고 한다.

 

주요 컴포넌트로

'emitter'(발사체), 'particles'(파티클), 'animator'(애니메이터), 'renderer'(렌더러) 등

이고

 

각 파티클에 대해 위치, 속도, 수명, 색상, 크기 등의 정보를 저장하게 된다.

 

수천 개다 보니 최적화를 위해 다양한 기능을 제공한다.

최대 파티클 수 제한

파티클의 적용 범위 제한

등이 있다.

 

주요 모듈에는

 

Main 모듈

말 그대로 메인

파티클의 움직이는 속도, 크기, 회전, 최대 파티클 수를 정할 수 있다.

기본적인 것들을 정하고

중요한 건

Random Between Two Constant이라고 해서

모두가 똑같은 모양이 아니라

조금씩 차이를 주도록 설정하는 기능이 여기 있다.

 

Renderer 모듈

파티클을 어떻게 보여줄 지에 대해 정의한다.

.

어떤 파티클을 표현할지,

Order in Layer는 어떻게 되는지 등을

결정해서 보여줄 수 있다.

 

Shape 모듈

말 그대로 모양에 대한 내용을 정의한다.

모양 종류에는 박스, 콘, 도넛 형태 등 다양한 생성 형태를 정의!

 

Emission 모듈

발사체 관련 내용이고

파티클이 생성될 1초당 생성량,

움직일 때 생성될 양,

한 번에 왕창 생성되는 패턴(Burst : 양, 시간, 간격) 등을 설정할 수 있다.

 

자 이제 파티클 모듈을 만들었으니

이 친구들이 움직 일 수 있게

애니메이션 이벤트를 만들어 줘야 한다.

 

애니메이션 이벤트는

약간 우리가 애니메이션 하면서 한번 해본 적이 있는데

애니메이션 컴포넌트에서

숫자 바로 위를 눌러주면

파란색 책갈피느낌이 생긴다

그게 바로 애니메이션 이벤트!

 

중요한 건

이벤트는 특정 프레임에서만 실행되며,

 

애니메이션 이벤를 통해 호출되는 함수는

무조건 public function 이어야 하고

매개변수가 없거나, 최대 한 개를 가질 수 있다.