스프라이트 파티클 이펙트
스프라이트: 일반적으로 사용되는 VFX 기술은 텍스처 및 머티리얼을 2D 카메라 방향 평면에 렌더링하며, 이를 스프라이트라고 한다. |
- 먼저 Content Browser에서 이펙트에 필요한 에셋을 보관할 새 폴더를 만든다. (예:SpriteEffect)
- Content Browser의 검색창에 `m_smoke`를 입력합니다. 검색 결과에 **M_smoke_subuv** 머티리얼이 표시됩니다.
- 복사본을 다른 폴더에 저장하려면 해당 머티리얼을 클릭하여 원하는 폴더로 드래그하고, 팝업 메뉴에서 여기로 이동(Move Here) 또는 여기에 복사(Copy Here) 를 선택합니다.
시스템 및 이미터 생성
- Content Browser에서 우클릭하여 나이아가라 시스템(Niagara System) 을 생성.
- 템플릿(Template)에서 Simple Sprite Burst를 선택.
- 새 시스템 이름을 SmokeSystem으로 지정. 나이아가라 에디터에서 더블클릭.
- 이미터 이름을 FX_Smoke 로 지정
렌더러 세팅 변경
이미터 업데이트(Particle Update) 그룹 세팅 편집
- 휴치통 아이콘을 클릭하여 즉각적인 스폰 버스트(Sprite Burst Instantaneous)를 삭제.
- 스폰 속도(Spawn Rate)을 이미터 업데이트(Emitter Update)에 추가.
- 스폰 속도를 50으로 설정. 적당한 크기로 스모크가 뭉게뭉게 피어 오르는 모양이 만들어짐.
Emitter State(이미터 상태)
이미터 상태는 시간과 엔진 퀄리티를 제어한다.
Simple Sprite Burst(심플 스프라이트 버스트) 템플릿을 사용했기 때문에 라이프 사이클 모드(Life Cycle Mode) 가 셀프(Self) 로 설정된다.
Self: 이미터 라이프 사이클 로직의 완벽한 커스터마이징을 위해 사용된다.
System: 시스템에서 라이프 사이클 세팅을 계산할 수 있으며, 이를 통해 주로 성능이 최적화된다. 기본적으로 시스템은 5초 간격으로 무한대로 루핑한다.
파티클 스폰(Particle Spawn) 그룹 세팅
이 behavior는 처음 spawn되었을 때 particle에 적용된다.
Life Time
- 스모크를 더 실감나게 시뮬레이션할 수 있도록 수명 파라미터에 랜덤세팅을 약간 설정합니다.
Sprite Size
2. 스프라이트 파티클의 크기를 조정하여 스모크 이펙트를 더욱 실감나게 지속적으로 연출한다. 파티클의 원본 번들은 다소 작으므로 크기를 늘려본다. 크기에도 랜덤 세팅을 추가한다.
Sprite Rotation
3. 회전을 추가. 파티클의 모양에 더많은 variation을 준다. 회전에 랜덤 세팅 또한 추가한다.
Velocity
4. 초기 속도를 추가한다.
Sphere Location
5. 구체 위치는 스프라이트 스폰 시 모양과 원점을 제어한다. 구체 위치 모듈을 추가하면 스프라이트는 구체 모양으로 스폰되며, 반경을 설정하여 크기를 설정할 수 있다.
구체 반경(Sphere Radius) 을 64 로 설정합니다. 구체 분포(Sphere Distribution) 는 랜덤(Random) 으로 설정해야 한다.
SubUV Animation
6. 이 스모크 이펙트에 사용 중인 스프라이트 머티리얼은 스프라이트 시트를 사용한다. 스프라이트 시트에는 함께 이어져 애니메이션되도록 설계된 여러 이미지가 포함되어 있다.
이 시트를 고려하지 않으면 렌더러는 시트에서 첫번째 스프라이트만 사용한다.
이 문제를 해결하기 위해 SubUV Animation 모듈을 추가한다.
SubUV 애니메이션 모드(SubUV Animation Mode) 의 드롭다운을 클릭하고 선형(Linear) 을 선택한다. 프레임 수(Number of Frames) 에 64 를 입력한다. 스프라이트 시트에는 8x8 그리드의 이미지가 포함되어 있어 총 이미지 수는 64가 된다.
Acceleration Force
시간에 따라 움직임을 추가하여 올라가게 한다.
Create Asset From This
시스템에서 스모크 이미터를 재사용하고자 한다면 별도의 에셋으로 저장하면 된다.