파티클 시스템이란?
파티클 시스템 사용 방법

Unity에서 파티클 시스템 사용

Unity는 컴포넌트와 함께 파티클 시스템을 실행하기 때문에 한 씬에 파티클 시스템을 적용하는 것은 미리 만들어진 게임 오브젝트를 추가하거나(메뉴: GameObject > Effects > Particle System) 컴포넌트를 기존 게임 오브젝트에 추가하는 작업입니다(메뉴: Component > Effects > Particle System). 컴포넌트가 상당히 복잡하기 때문에 인스펙터는 여러 개의 관련 프로퍼티를 담고 있는 하위 섹션이나 modules 로 나눠집니다. 또한 인스펙터에 있는 Open Window 버튼을 통해 접속된 별도의 에디터 창을 이용하여 하나 이상의 시스템을 동시에 편집할 수 있습니다. 더 상세한 내용은 Particle System 컴포넌트와 개별 Particle System 모듈을 참고해야 합니다.

파티클 시스템이 갖춰진 게임 오브젝트를 선택하면 씬 뷰는 작은 Particle Effect 패널을 담게 되고 시스템 설정을 간단한 조작으로 시스템 설정에 대한 변화를 시각적으로 볼 수 있게 됩니다.

Playback Speed 는 파티클 시뮬레이션의 속도를 높이거나 낮춰 후반 단계에서 어떻게 보이는지를 쉽게 빠르게 확인할 수 있습니다. Playback Time 은 시스템이 시작한 이후 경과한 시간을 의미합니다. 플레이백 시간은 플레이백 속도에 따라 실제 시간보다 빠르거나 느릴 수 있습니다. Particle Count 은 현재 시스템에 있는 파티클 개수를 의미합니다. 플레이백 시간은 Playback Time 레이블을 클릭하고 마우스를 왼쪽과 오른쪽으로 드래그하여 앞쪽과 뒤쪽으로 이동할 수 있습니다. 패널 상단에 있는 버튼은 시뮬레이션을 중지하고 재개하거나, 정지하고 초기 상태로 되돌리는 데 사용할 수 있습니다.

시간 경과에 따른 프로퍼티 다양화

파티클의 다양한 숫자 프로퍼티 또는 전반적인 파티클 시스템은 시간이 지나면서 변할 수 있습니다. Unity에서는 배리에이션의 발생 과정을 지정하는 다양한 메서드를 제공합니다.

  • Constant: 수명 동안 프로퍼티 값이 고정됩니다.
  • Curve: 해당 값은 커브/그래프로 규정됩니다.
  • Random Between Two Constants: 두 상수는 값의 상한값과 하한값을 정의합니다. 실제 값은 시간 경과에 따라 상한값과 하한값 사이에서 임의로 변합니다.
  • Random Between Two Curves: 두 커브는 수명의 한 시점에 해당하는 값의 상한값과 하한값을 정의합니다. 현재 값은 상한값과 하한값 사이에서 임의로 변합니다.

프로퍼티를 CurveRandom Between Two Curves 로 설정하면 인스펙터 하단에 파티클 시스템 커브 에디터가 표시됩니다.

커브를 편집하려면 끝점이나 키를 클릭하고 드래그하여 커브의 모양을 재설정합니다.

파티클 시스템 커브는 애니메이션 커브와 유사합니다. 커브 사용에 관한 내용은 커브 편집하기에 대한 문서를 참조하십시오.

파티클 시스템 커브 에디터에는 다음과 같은 버튼이 있습니다.

  • Optimize: 4개 이하의 키에 커브를 맞추어 신속한 평가 계산기인 다항식을 빌드합니다. 최적화되지 않은 커브를 읽는 것보다 효율적입니다.
  • Remove: 선택한 커브를 삭제합니다.

파티클 시스템이 커브를 재생하는 방식을 편집하려면 선택한 키 옆의 톱니바퀴 아이콘을 클릭하고 다음 옵션 중 하나를 선택합니다.

  • Loop: 파티클의 수명 동안 커브를 지정된 횟수만큼 재생합니다. 예를 들어, 파티클의 크기를 확대하거나 축소하는 커브를 만든 후 여러 번 반복하도록 명령하여 파티클의 수명이 다할 때까지 “up and down” 애니메이션이 한 번이 아닌 여러 번 발생하게 할 수 있습니다.
  • Ping Pong: Loop 와 유사하지만 연속 진동을 통해 커브를 앞뒤로 재생합니다.
  • Clamp: 커브 시간 범위를 벗어나는 파티클 쿼리를 커브의 첫 번째 값이나 마지막 값으로 제한합니다.

주요 모듈에 있는 Start Color 프로퍼티에는 다음과 값은 옵션이 있습니다.

  • Color: 파티클 시스템의 수명 주기에 걸쳐 모든 파티클이 이 컬러로 시작합니다. 파티클은 여전히 수명 주기 동안에 컬러를 바꿀 수 있습니다.
  • Gradient: 파티클 시스템이 그레디언트의 시작 시 컬러로 시작하고 그레디언트의 종료 시 컬러로 끝나는 파티클을 방출합니다. 그레디언트 라인은 파티클 시스템의 수명을 나타냅니다. 파티클 시스템은 파티클 시스템의 현재 나이에 해당하는 시점의 그레디언트에서 컬러를 선택합니다.
  • Random Between Two Colors: 파티클 시스템이 두 개의 특정 컬러 사이에서 선형 보간법으로 시작 파티클 컬러를 임의 선택합니다.
  • Random Between Two Gradients: 파티클 시스템이 파티클 시스템의 현재 나이에 해당하는 시점의 각 그레디언트에서 컬러를 선택합니다. 시작 파티클 컬러는 선택된 두 개의 컬러 사이에서 선형보간법으로 임의 선택됩니다.
  • Random Color: 파티클이 정의된 Gradient 에서 시작 컬러를 가져오는 Gradient 모드와 유사합니다. 하지만 이 모드에서 파티클 시스템은 파티클 시스템의 나이에 따라 샘플을 선택하지 않고, 무작위로 샘플을 선택합니다. 또한 이 모드는 그레디언트 에디터 내에 있는 Fixed Gradient Mode 와 잘 연동됩니다. 활성화하면 사전 정의된 정확한 시작 컬러 리스트를 선택하여 각 컬러에 확률을 적용할 수 있습니다.

Color over Lifetime 등과 같은 다른 컬러 프로퍼티는 Gradient 또는 Random Between Two Gradients 모드를 사용할 수 있습니다.

최종 파티클 컬러 결과를 계산하기 위해 파티클 시스템은 채널마다 다양한 모듈의 컬러 프로퍼티를 함께 곱합니다.

파티클의 Gradient 컬러를 설정하면 다음과 같이 그레디언트 에디터가 표시됩니다.

  • Mode: 파티클 컬러 설정의 혼합 여부를 결정합니다.
  • Color: 그레디언트에서 현재 선택한 키의 컬러를 표시합니다. 이를 사용하여 그레디언트의 해당 포지션 컬러를 편집합니다.
  • Location: 그레디언트에서 현재 선택한 키가 얼마나 먼 지점에 있는지 나타냅니다.
  • Presets: 그레디언트 설정을 저장할 수 있는 옵션입니다. 현재 값을 그레디언트 프리셋으로 설정하려면 New를 클릭합니다.

다양한 모듈의 컬러 프로퍼티는 채널당 크게 증대되어 최종 파티클 컬러 결과를 산출합니다.

애니메이션 바인딩

모든 파티클 프로퍼티는 애니메이션 시스템에서 접속 가능합니다. 즉, 모든 파티클 프로퍼티를 키프레임할 수 있으며 애니메이션에서 조절할 수 있습니다.

파티클 시스템의 프로퍼티에 접속하기 위해서는 파티클 시스템의 게임 오브젝트에 연결된 Animator 컴포넌트가 반드시 필요합니다. 애니메이션 컨트롤러와 애니메이션도 반드시 필요합니다.

파티클 시스템을 애니메이션화하려면 Animator 컴포넌트를 추가한 후 애니메이션과 애니메이션 컨트롤러를 할당하시기 바랍니다.
파티클 시스템을 애니메이션화하려면 Animator 컴포넌트를 추가한 후 애니메이션과 애니메이션 컨트롤러를 할당하시기 바랍니다.

파티클 시스템 프로퍼티를 애니메이션화하려면 선택된 애니메이터와 파티클 시스템을 포함하는 게임 오브젝트가 있는 Animation Window 를 여시기 바랍니다. 프로퍼티를 추가하려면 Add Property 를 클릭하세요.

애니메이션 창에 있는 애니메이션에 프로퍼티를 추가할 수 있습니다.
애니메이션 창에 있는 애니메이션에 프로퍼티를 추가할 수 있습니다.

add controls 를 보이게 하려면 오른쪽으로 스크롤하세요.

커브의 경우 전반적인 curve multiplier 를 키프레임만 할 수 있으며 Inspector 의 커브 에디터 옆에서 찾을 수 있다는 점을 유의하시기 바랍니다.


  • 2019–04–16 일부 편집 리뷰를 거쳐 페이지 수정됨

  • Unity 4.6에서 게임 오브젝트 메뉴 변경됨

  • [2018.3]에서 파티클 시스템 루프/핑퐁 커브 재생 추가됨(https://docs.unity3d.com/2018.3/Documentation/Manual/30_search.html?q=newin20183) NewIn20183

파티클 시스템이란?
파티클 시스템 사용 방법