Unity Occlusion Culling 사용해보기 #2

Occlusion Culling 찍먹하기

큐브를 몇가지 생성해준 다음 [Occluder Static]으로 설정했습니다.


오클루전 컬링기능 사용하기 위해 [Window] -> [Occlusion Culling]을 눌러줍니다.

[Window] -> [Occlusion Culling]


Smallest Occluder

Smallest Occluder / (좌) value : 1 (우) value : 3

Smallest Occluder값을 설정하게 되면 파란색 테두리 영역의 크기가 달라집니다.


파란색 영역은 오브젝트를 Occluder로 인식할 최소 크기입니다.
이 값보다 작은 크기를 갖는 오브젝트는 다른 오브젝트를 가리지 않는다고 판단합니다.


Smallest Occluder value : 10


사진 속 파란색 큐브의 높이가 3m이고 Smallest Occluder가 10으로 설정되어 있을 때는 뒤의 빨간색 오브젝트를 가리지 못하게 됩니다. ( 3m < smallest occluder)

Smallest Occluder를 smallest occlude보다 작은 값으로 설정하면 뒤의 빨간색 오브젝트가 보이지 않게 됩니다.


Smallest Hole

Smallest Hole 경우에는 카메라가 지오메트리 사이의 빈 공간으로 인식할 최소 거리입니다.
오브젝트들이 촘촘하게 배치되어 있을수록 값을 더 작게 설정해야 합니다.

Smallest Hole  value / (좌) : 0.01  (우) : 1

파란색 큐브들간의 거리가 0.05m이므로 0.05보다 값을 크게(크거나 같게) 하지 않으면 뒤에 빨간색 큐브들이 보이게 됩니다.
반대로 0.05보다 크게하면 뒤의 빨간색 큐브들은 보이지 않게 됩니다.

 


번외


움직이는 오브젝트들은 카메라에 안보일 때 멈추는지 아니면 계속 움직이는지 궁금해서 구현해본 결과 다음과 같습니다.

움직입니다!


(오클루전 컬링이 적용된 화면) 결과

오클루전 컬링이 적용된 화면