오클루전 컬링은 Unity가 다른 게임 오브젝트에 의해 뷰에서 완전히 가려진(오클루전된) 게임 오브젝트에 대한 렌더링 계산을 수행하지 못하도록 하는 프로세스입니다.
카메라는 매 프레임마다 씬의 렌더러를 검사하고 드로우할 필요가 없는 렌더러를 제외(컬링)하는 컬링 작업을 수행합니다. 기본적으로 카메라는 카메라의 뷰 절두체에 속하지 않는 모든 렌더러를 제외하는 절두체 컬링을 수행합니다. 하지만 절두체 컬링은 작업 시 렌더러가 다른 게임 오브젝트에 의해 가려지는지 확인하지 않으므로 Unity는 최종 프레임에 보이지 않는 렌더러에 대한 렌더링 작업에 CPU와 GPU 시간을 낭비할 수 있습니다. 오클루전 컬링은 Unity가 이러한 쓸모없는 작업을 수행하지 않도록 합니다.
오클루전 컬링이 프로젝트의 런타임 성능을 향상하는지 판단하려면 다음을 고려하십시오.
오클루전 컬링은 Unity 에디터에서 씬에 대한 데이터를 생성한 후 런타임 시점에 해당 데이터를 사용하여 카메라가 볼 수 있는 요소를 결정합니다. 이러한 데이터 생성 프로세스를 베이크라고 합니다.
오클루전 컬링 데이터를 베이크할 때 Unity는 씬을 셀로 나누고 셀 내 지오메트리와 인접 셀 간의 가시성을 설명하는 데이터를 생성합니다. 그런 다음 Unity는 가능한 경우 셀을 병합하여 생성된 데이터의 크기를 줄입니다. 베이크 프로세스를 설정하려면 Occlusion Culling 창에서 파라미터를 변경하고 씬에서 오클루전 영역을 사용하십시오.
런타임 시점에 Unity가 베이크된 데이터를 메모리에 로드하고, Occlusion Culling 프로퍼티가 활성화된 각 카메라에 해당 데이터에 대한 쿼리를 수행하여 해당 카메라가 볼 수 있는 요소를 결정합니다. 오클루전 컬링이 활성화되면 카메라는 절두체 컬링과 오클루전 컬링을 둘 다 수행합니다.