공부하기싫어
article thumbnail

목차

https://learn.unity.com/tutorial/bijueol-hyogwa-guhyeon-patikeul?uv=2020.3&projectId=5dcdc49dedbc2a00206ce6b0

 

비주얼 효과 구현 - 파티클 - Unity Learn

파티클은 상호작용하는 애플리케이션에서 효과를 연출하기 위해 광범위하게 사용됩니다. 파티클 시스템은 수십, 수백 개의 파티클을 생성합니다. 여기서 파티클은 방향, 속도, 수명, 색상 및 기

learn.unity.com

 

 

파티클 이펙트

 

size over lifetime

 

루핑 시스템
연기 효과는 루핑에 해당하며 항상 새로운 파티클을 생성합니다. 한편으로, 특정 시간 동안만 작동한 후에 시간이 다 되면 자동으로 소멸하는 시스템을 구축할 수도 있습니다. 먼저 인스펙터 창의 메인 Particle System 섹션으로 이동합니다.
  • Looping을 선택 해제합니다.
  • 원하는 효과 지속 시간을 Duration에 설정합니다.
  • 섹션 하단에 있는 Stop ActionDestroy로 설정합니다. 파티클 시스템은 모든 파티클이 소멸된 후에만 제거되므로, 루핑 시스템을 수동으로 제거할 때처럼 모든 파티클이 동시에 사라지는 문제는 발생하지 않습니다.
버스트 방출
연기 효과는 일정한 속도로 파티클을 방출하고 있습니다. 이 속도는 Emission 섹션에서 설정할 수 있습니다.
Rate over Time은 초당 방출되는 파티클 수를 조절합니다. Rate over Distance를 활용하면 시스템이 움직일 때 파티클을 방출하도록 설정할 수 있습니다. 예를 들어 자동차가 움직일 때만 연기 파티클을 방출할 수도 있습니다.
물론 대량의 파티클을 단발성으로 한꺼번에 방출하는 효과도 가능합니다. 예를 들어, 폭발은 생성되자마자 대량의 연기 파티클만을 만들어낸 후 끝이 납니다.
이를 위해 Bursts 서브 섹션이 필요합니다. + 버튼을 클릭하여 버스트를 추가한 후, 파티클의 수명 동안 버스트가 발생할 시점, 생성될 파티클 수 등을 설정합니다.
충돌 효과 파티클을 예로 들면 다음과 같습니다.
  • Looping을 비활성화하고 Stop ActionDestroy로 설정합니다.
  • 시간이 지나도 파티클을 생성하지 않도록 Rate over Time0으로 설정합니다.
  • 0.0의 시간에 20개 파티클의 버스트를 설정합니다.
이렇게 하면 시스템의 생성과 동시에 많은 파티클이 만들어지며, 모든 파티클의 수명이 다 되면 시스템은 자동으로 소멸됩니다.
파티클 시스템 인스턴스화
일단 파티클 시스템에서 프리팹을 만들고 나면, 사용자는 투사물과 같이 Instantiate 함수를 사용하여 프리팹을 생성할 수 있습니다.
따라서 충돌 적용, 체력 아이템의 수집 등과 같은 단발성 효과를 생성해야 할 경우, 먼저 프리팹에 대한 참조를 public 변수에 보관한 후 발생할 시기에 맞춰 Instantiate를 호출하면 됩니다. Particle SystemLooping이 아니며 Stop ActionDestroy로 설정된 경우, 한 번 플레이된 후 소멸됩니다.

 

10.요약

이 튜토리얼에서는 파티클 시스템에서 효과를 생성하여 게임의 디자인(look and feel)을 개선하는 방법을 학습했습니다.
파티클 시스템은 매우 효과적인 기능이며 창의성을 맘껏 발휘할 수 있는 영역입니다. 기타 모든 설정과 사용 방법에 대한 자세한 설명은 파티클 시스템 기술 자료를 참조하세요.
다음 튜토리얼에서 소개할 UI(사용자 인터페이스)는 모든 게임의 중요한 부분으로, 이를 통해 루비의 남은 수명을 표시할 수 있습니다.

 

 

게임 이펙트 효과를 유니티에서 설정할때 파티클이라고 하며 이 파티클을 적용하고 수정하는 법을 배웠다!