파티클 시스템은 파티클이라고 부르는 매우 작은 이미지나 메시를 시뮬레이션하고 렌더링하여 시각 효과를 생성합니다. 시스템의 각 파티클은 효과의 개별 그래픽 요소를 구현합니다. 또한 모든 파티클을 종합적으로 시뮬레이션하여 완성된 효과를 구현합니다.
파티클 시스템은 불, 연기, 액체 등과 같은 동적 오브젝트를 구현할 때 유용합니다. 이러한 오브젝트는 메시(3D)나 스프라이트(2D)로 묘사하기 어렵습니다. 메시와 스프라이트는 집이나 자동차 같은 솔리드 오브젝트를 묘사하는 데 탁월합니다.
파티클 시스템을 작성할 때 유연성을 발휘할 수 있도록 Unity는 두 개의 솔루션을 제공합니다. 프로젝트가 컴퓨트 셰이더를 지원하는 플랫폼을 타게팅하는 경우 Unity에서 이 두 솔루션을 모두 사용할 수 있습니다. 두 가지 파티클 시스템 솔루션은 다음과 같습니다.
다음은 두 개의 파티클 시스템 솔루션을 간략하게 비교한 표입니다. 각 솔루션에 대한 자세한 내용은 빌트인 파티클 시스템 또는 비주얼 이펙트 그래프를 참조하십시오.
기능 | 빌트인 파티클 시스템 | 비주얼 이펙트 그래프 |
---|---|---|
렌더 파이프라인 호환성 | 빌트인 렌더 파이프라인 유니버설 렌더 파이프라인 고해상도 렌더 파이프라인 | 유니버설 렌더 파이프라인 고해상도 렌더 파이프라인 |
가능한 파티클 수 | 천 | 백만 |
파티클 시스템 작성 | 인스펙터에서 Particle System 컴포넌트를 사용하는 간단한 모듈식 작성 프로세스입니다. 각 모듈은 파티클의 사전 정의된 동작을 나타냅니다. | 그래프 뷰를 사용하는 고도의 커스터마이즈 가능한 작성 프로세스입니다. |
물리 | 파티클이 Unity의 기본 물리 시스템과 상호작용할 수 있습니다. | 파티클이 비주얼 이펙트 그래프에 정의된 특정 요소와 상호작용할 수 있습니다. 예를 들어 파티클이 뎁스 버퍼와 상호작용할 수 있습니다. |
스크립트 상호작용 | C# 스크립트를 사용하여 런타임 시점에서 파티클 시스템을 완전히 커스터마이즈할 수 있습니다. 시스템의 각 파티클 시스템을 읽거나 쓰고 충돌 이벤트에 응답할 수 있습니다. 또한 Particle System 컴포넌트는 재생 컨트롤 API를 제공합니다. 즉 스크립트를 사용하여 효과를 재생하거나 일시 중지하고, 커스텀 스텝 크기로 효과를 시뮬레이션할 수 있습니다. | C# 스크립트를 통해 그래프 프로퍼티를 표시하고 액세스하여 효과의 인스턴스를 커스터마이즈할 수 있습니다. 또한 이벤트 인터페이스를 사용하여 그래프가 처리할 수 있는 데이터가 첨부된 커스텀 이벤트를 전송할 수 있습니다. 또한 Visual Effect 컴포넌트는 재생 컨트롤 API를 제공합니다. 즉 스크립트를 사용하여 효과를 재생하거나 일시 중지하고, 커스텀 스텝 크기로 효과를 시뮬레이션할 수 있습니다. |
프레임 버퍼 | 미지원 | 고해상도 렌더 파이프라인은 컬러 및 뎁스 버퍼에 대한 액세스를 제공합니다. 예를 들어 컬러 버퍼를 샘플링하고 해당 결과를 사용하여 파티클 컬러를 설정하거나, 뎁스 버퍼를 사용하여 충돌을 시뮬레이션할 수 있습니다. |
Unity의 빌트인 파티클 시스템을 사용하면 Unity가 지원하는 모든 플랫폼에 대한 효과를 구현할 수 있습니다. 빌트인 파티클 시스템은 CPU에서 파티클 동작을 시뮬레이션하여 다음의 이점을 제공합니다.
빌트인 파티클 시스템을 사용하는 자세한 방법은 Particle System 컴포넌트를 참조하십시오.
비주얼 이펙트 그래프는 Unity 프로젝트를 위한 대규모 시각 효과를 구현할 때 사용할 수 있는 패키지입니다. 비주얼 이펙트 그래프는 GPU에서 파티클 동작을 시뮬레이션하므로, 빌트인 파티클 시스템보다 훨씬 더 많은 파티클을 시뮬레이션할 수 있습니다. 매우 많은 파티클이 포함된 시각 효과를 구현하고 고도로 커스터마이즈된 동작이 필요하다면 빌트인 파티클 시스템 대신에 비주얼 이펙트 그래프를 사용하십시오. 비주얼 이펙트 그래프를 설치하고 사용하는 자세한 방법은 시작하기 가이드를 참조하십시오.