언리얼 엔진에서 파티클 시스템(particle system)을 구성하면 콜리전(Collision) 모듈을 사용하여 레벨에서 오브젝트와 충돌시킬 수 있습니다.
이전 버전의 언리얼 엔진에서는 GPU 이미터를 사용할 때 이 모듈에서 다양한 옵션을 활용할 수 있었습니다. 특히 환경 시뮬레이션을 생성하는 뎁스 버퍼(Depth Buffer) 옵션을 가장 흔히 활용했습니다. 뎁스 버퍼는 비용이 낮지만 정확도 또한 낮은 솔루션입니다. 셰이프를 정확하게 나타내지 못하며, 파티클이 화면을 벗어나면 그 즉시 사라져버립니다.
GPU 레이 트레이싱 콜리전(GPU Raytracing Collisions) 은 콜리전 모듈의 실험단계 옵션으로, GPU에서 하드웨어 레이 트레이싱을 사용할 수 있습니다. 이미터 및 해당 파티클이 화면에 있는지 또는 오브젝트 뒤에 숨어있는지에 상관없이 콜리전은 레이 트레이싱을 사용하여 정확한 결과를 계산합니다.
계산은 비동기 방식으로 처리되기 때문에 나이아가라 콜리전은 한 프레임 뒤에 있게 됩니다.
프로젝트 세팅 조정
이 기능을 사용하기 위해서는 프로젝트가 DirectX 12로 설정되고 GPU의 하드웨어 레이 트레이싱이 활성화되어 있어야 합니다. 이러한 옵션을 활성화하려면 다음 단계를 진행하세요.
편집(Edit) > 프로젝트 세팅(Project Settings) 을 엽니다.
rhi 를 검색합니다.
디폴트 RHI(Default RHI) 옵션을 DirectX 12 로 조정합니다.
이미지를 클릭하면 전체 크기로 표시됩니다.
그런 다음 프로젝트 세팅 에서도 레이 트레이싱을 활성화합니다.
레이 트레이싱(ray tracing) 을 검색합니다.
하드웨어 레이 트레이싱 지원(Support Hardware Ray Tracing) 및 레이 트레이싱된 섀도(Ray Traced Shadows) 옵션을 활성화합니다.
이미지를 클릭하면 전체 크기로 표시됩니다.
콜리전 모듈 구성
콜리전 모듈에서 세팅을 조정하여 이 실험단계 기능을 사용합니다. GPU 콜리전 타입(GPU Collision Type) 을 GPU 레이 트레이스(실험단계)(GPU Ray Traces (Experimental)) 로 설정합니다.
트레이스 제공자(Trace Provider) 는 기본적으로 프로젝트 세팅 으로 설정되어 최적의 옵션 배열을 선택합니다. 하지만 수동으로 HW 레이 트레이싱(HW Ray Tracing) 으로 설정할 수도 있습니다.
예비 전환 구성(옵션)
레이 트레이싱을 사용할 수 없는 경우 예비 전환을 구성할 수 있습니다. 이렇게 하려면 편집 > 프로젝트 세팅 을 엽니다.
세팅의 플러그인(Plugins) > 나이아가라(Niagara) 섹션에 비동기 GPU 트레이스 DI(Async Gpu Trace DI) 라는 세팅이 있습니다. 이 세팅에는 HW 레이 트레이싱 과 글로벌 사인드 디스턴스 필드(Global Signed Distance Fields) 라는 두 개의 옵션으로 구성된 배열이 있습니다. 옵션이 이와 같이 구성되어 있는 경우 시스템은 먼저 레이 트레이싱을 사용하려고 하지만 레이 트레이싱을 사용할 수 없는 경우에는 디스턴스 필드를 대신 사용하여 예비 전환됩니다. 디폴트 세팅은 다음과 같습니다.
배열에 요소를 추가하거나 원하는 만큼 재정렬할 수 있습니다. 하지만 대부분의 경우 디폴트 세팅으로도 충분합니다.