파티클 시스템(Particle System)
- 파티클 시스템은 수천 개의 작은 2D 또는 3D 오브젝트들을 관리하고, 그들의 동작과 생애를 제어한다. 각각의 작은 오브젝트를 `파티클`이라고 부른다.
- 파티클 시스템의 주요 컴포넌트는 `'emitter'(발사체)`, `'particles'(파티클)`, `'animator'(애니메이터)`, `'renderer'(렌더러)` 등으로 이루어져 있다.
- Unity의 파티클 시스템은 시간에 따른 파티클의 행동을 시뮬레이션하며, 이를 위해 각 파티클에 대해 `위치, 속도, 수명, 색상, 크기` 등의 정보를 저장한다.
- 파티클 시스템은 성능 최적화를 위해 다양한 기능을 제공한다. 예를 들어, 시스템의 최대 파티클 수를 제한하거나, 파티클의 적용 범위를 제한하는 등의 기능이 있다.
파티클 시스템의 주요 모듈
Main 모듈
- 파티클의 움직이는 `속도, 크기, 회전, 최대 파티클 수`를 정할 수 있다.
- 파티클 시스템에서는 이러한 값들을 일반적인 상수값 말고도 `Random Between Two Constant` 등을 통해 랜덤한 값을 넣는 등, 다양한 값을 넣을 수 있다.
Renderer 모듈
- 파티클을 어떻게 보여줄지에 대해 정의한다. 어떤 파티클을 표현할지, `Order in Layer`는 어떻게 되는지 등을 결정해서 보여줄 수 있다.
Shape 모듈
- 생성되는 모양에 대한 내용을 정의한다. `박스, 콘, 도넛 형태` 등 다양한 생성 형태를 정의할 수 있다.
Emission 모듈
- 파티클이 `생성될 1초당 생성량, 움직일 때 생성될 양, 한 번에 왕창 생성되는 패턴(Burst: 양, 시간, 간격)` 등을 설정할 수 있다.
애니메이션 이벤트(Animation Events)
- 애니메이션 이벤트를 사용하면 애니메이션이 진행되는 동안 코드를 실행시킬 수 있다.
- 예를 들어, 캐릭터가 특정 동작을 할 때 사운드를 재생하거나, 특정 애니메이션 프레임에서 파티클 시스템을 발사하는 등의 작업을 할 수 있다.
- 애니메이션 이벤트는 Unity 애니메이션 편집기에서 설정할 수 있다. 편집기를 통해 애니메이션 타임라인에 이벤트를 추가하고, 해당 이벤트가 호출할 함수를 지정할 수 있다.
- 애니메이션 이벤트는 해당 애니메이션 클립이 재생되는 게임 오브젝트에 연결된 모든 스크립트에서 호출할 수 있는 함수를 실행할 수 있다.
- 이벤트는 특정 프레임에서만 실행되며, 애니메이션 상태가 변경될 때에도 자동으로 실행되지 않는다.
- 애니메이션 이벤트를 사용하면 애니메이션과 코드의 상호작용을 더욱 유연하게 관리할 수 있다. 이를 통해 애니메이션의 시각적 효과와 사운드, 효과 등의 프로그래밍적 요소를 조화롭게 통합할 수 있다.
- 애니메이션 이벤트를 통해 호출되는 함수는 일반적으로 `공용 함수(public function)`이어야 하며, 매개변수가 없거나 최대 하나의 매개변수를 가질 수 있다.
반응형
'스파르타 게임개발종합반(Unity) > TIL - 본캠프 매일 공부 기록' 카테고리의 다른 글
2024.06.14 TIL - UGUI(Unity's User Interface) (0) | 2024.06.14 |
---|---|
2024.06.13 TIL - SoundMnager(사운드 컨트롤) (0) | 2024.06.13 |
2024.06.11 TIL - 직렬화 및 파일 입출력, 데이터 관리 특강 정리 (0) | 2024.06.11 |
2024.06.10 TIL - Git 리포지토리에서 특정 폴더 Clone 하기(초보자도 쉽게 따라하기) (0) | 2024.06.11 |
2024.06.07 TIL - 컴퓨터 & GPU 아키텍쳐 특강 (0) | 2024.06.07 |
댓글