셰이더에서 고정 함수 TexGen 구현
파티클 시스템이란?

Unity의 파티클 시스템

파티클 시스템은 파티클이라고 부르는 매우 작은 이미지나 메시를 시뮬레이션하고 렌더링하여 시각 효과를 생성합니다. 시스템의 각 파티클은 효과의 개별 그래픽 요소를 구현합니다. 또한 모든 파티클을 종합적으로 시뮬레이션하여 완성된 효과를 구현합니다.

Unity 우주선 데모의 홀로 테이블. 비주얼 이펙트 그래프로 제작됨.
Unity 우주선 데모의 홀로 테이블. 비주얼 이펙트 그래프로 제작됨.

파티클 시스템은 불, 연기, 액체 등과 같은 동적 오브젝트를 구현할 때 유용합니다. 이러한 오브젝트는 메시(3D)나 스프라이트(2D)로 묘사하기 어렵습니다. 메시와 스프라이트는 집이나 자동차 같은 솔리드 오브젝트를 묘사하는 데 탁월합니다.

파티클 시스템 솔루션 선택

파티클 시스템을 작성할 때 유연성을 발휘할 수 있도록 Unity는 두 개의 솔루션을 제공합니다. 프로젝트가 컴퓨트 셰이더를 지원하는 플랫폼을 타게팅하는 경우 Unity에서 이 두 솔루션을 모두 사용할 수 있습니다. 두 가지 파티클 시스템 솔루션은 다음과 같습니다.

  • 빌트인 파티클 시스템: 이 솔루션은 C# 스크립트를 통해 시스템과 해당 시스템에 포함된 파티클 시스템에 대한 완전한 읽기/쓰기 액세스 권한을 제공합니다. [파티클 시스템 API(text를 사용하여 파티클 시스템에 대한 커스텀 동작을 구현할 수 있습니다.
  • 비주얼 이펙트 그래프: 이 솔루션을 사용하면 GPU에서 수백만 개의 파티클을 시뮬레이션하고 대규모 시각 효과를 구현할 수 있습니다. 또한 고도로 커스터마이즈 가능한 시각 효과를 쉽게 작성할 수 있도록 비주얼 그래프 에디터를 제공합니다.

다음은 두 개의 파티클 시스템 솔루션을 간략하게 비교한 표입니다. 각 솔루션에 대한 자세한 내용은 빌트인 파티클 시스템 또는 비주얼 이펙트 그래프를 참조하십시오.

기능 빌트인 파티클 시스템 비주얼 이펙트 그래프
렌더 파이프라인 호환성 빌트인 렌더 파이프라인 유니버설 렌더 파이프라인 고해상도 렌더 파이프라인 유니버설 렌더 파이프라인 고해상도 렌더 파이프라인
가능한 파티클 수 백만
파티클 시스템 작성 인스펙터에서 Particle System 컴포넌트를 사용하는 간단한 모듈식 작성 프로세스입니다. 각 모듈은 파티클의 사전 정의된 동작을 나타냅니다. 그래프 뷰를 사용하는 고도의 커스터마이즈 가능한 작성 프로세스입니다.
물리 파티클이 Unity의 기본 물리 시스템과 상호작용할 수 있습니다. 파티클이 비주얼 이펙트 그래프에 정의된 특정 요소와 상호작용할 수 있습니다. 예를 들어 파티클이 뎁스 버퍼와 상호작용할 수 있습니다.
스크립트 상호작용 C# 스크립트를 사용하여 런타임 시점에서 파티클 시스템을 완전히 커스터마이즈할 수 있습니다. 시스템의 각 파티클 시스템을 읽거나 쓰고 충돌 이벤트에 응답할 수 있습니다. 또한 Particle System 컴포넌트는 재생 컨트롤 API를 제공합니다. 즉 스크립트를 사용하여 효과를 재생하거나 일시 중지하고, 커스텀 스텝 크기로 효과를 시뮬레이션할 수 있습니다. C# 스크립트를 통해 그래프 프로퍼티를 표시하고 액세스하여 효과의 인스턴스를 커스터마이즈할 수 있습니다. 또한 이벤트 인터페이스를 사용하여 그래프가 처리할 수 있는 데이터가 첨부된 커스텀 이벤트를 전송할 수 있습니다. 또한 Visual Effect 컴포넌트는 재생 컨트롤 API를 제공합니다. 즉 스크립트를 사용하여 효과를 재생하거나 일시 중지하고, 커스텀 스텝 크기로 효과를 시뮬레이션할 수 있습니다.
프레임 버퍼 미지원 고해상도 렌더 파이프라인은 컬러 및 뎁스 버퍼에 대한 액세스를 제공합니다. 예를 들어 컬러 버퍼를 샘플링하고 해당 결과를 사용하여 파티클 컬러를 설정하거나, 뎁스 버퍼를 사용하여 충돌을 시뮬레이션할 수 있습니다.

빌트인 파티클 시스템

Unity의 빌트인 파티클 시스템을 사용하면 Unity가 지원하는 모든 플랫폼에 대한 효과를 구현할 수 있습니다. 빌트인 파티클 시스템은 CPU에서 파티클 동작을 시뮬레이션하여 다음의 이점을 제공합니다.

  • C# 스크립트를 사용하여 시스템과 해당 시스템 내 개별 파티클과 상호작용할 수 있습니다.
  • 파티클 시스템이 Unity의 기본 물리 시스템을 사용하고 씬의 콜라이더와 상호작용할 수 있습니다.

빌트인 파티클 시스템을 사용하는 자세한 방법은 Particle System 컴포넌트를 참조하십시오.

빌트인 파티클 시스템으로 제작한 예제 효과.
빌트인 파티클 시스템으로 제작한 예제 효과.

비주얼 이펙트 그래프

비주얼 이펙트 그래프는 Unity 프로젝트를 위한 대규모 시각 효과를 구현할 때 사용할 수 있는 패키지입니다. 비주얼 이펙트 그래프는 GPU에서 파티클 동작을 시뮬레이션하므로, 빌트인 파티클 시스템보다 훨씬 더 많은 파티클을 시뮬레이션할 수 있습니다. 매우 많은 파티클이 포함된 시각 효과를 구현하고 고도로 커스터마이즈된 동작이 필요하다면 빌트인 파티클 시스템 대신에 비주얼 이펙트 그래프를 사용하십시오. 비주얼 이펙트 그래프를 설치하고 사용하는 자세한 방법은 시작하기 가이드를 참조하십시오.

비주얼 이펙트 그래프로 제작한 예제 효과.
비주얼 이펙트 그래프로 제작한 예제 효과.
셰이더에서 고정 함수 TexGen 구현
파티클 시스템이란?