오클루젼 구역(Occlusion Area) (Pro 전용)
오클루젼 컬링(occlusion culling)을 움직이는 오브젝트에 적용하려면, 사용자는 오클루젼 영역 (Occlusion Area
)을 만들고 그 크기를 움직이는 오브젝트가 위치할 곳에 있는 공간에 맞추어 변경하여야 합니다 (물론 움직이는 오브젝트는 static 로 마크 될 수 없습니다). 사용자는 Occlusion Area 컴포넌트를 빈 게임 오브젝트에 추가함으로써 오클루젼 영역(Occlusion Areas)을 생성할 수 있습니다 (메뉴 상의 Component→Rendering→Occlusion Area).
오클루젼 영역(Occlusion Area
)을 생성한 후, 움직이는 오브젝트를 가리려면(occlude) Is Target Volume 체크 상자를 체크합니다.
Occlusion Area properties for moving objects.
Size | 오클루젼 영역(Occlusion Area)의 크기를 정의합니다. |
Center | 오클루젼 영역(Occlusion Area)의 중앙을 설정한다. 기본값으로 이는 0,0,0 이고 박스의 중앙에 위치하고 있습니다. |
Is View Volume | 카메라가 있는 위치를 정합니다. 이 오클루젼 영역(Occlusion Area)의 내부에 있는 static 오브젝트를 가리려면 이것을 체크합니다. |
Is Target Volume | _움직이는 오브젝트를 가리고 싶다면 이것을 체크합니다._ |
Target Resolution | 이 영역 내에서 오클루젼 컬링이 얼마나 정확할지 결정합니다. 이은 오클루젼 영역(Occlusion Area)의 셀 크기에 영향을 미칩니다. _NOTE: 이것은 목표영역Target Areas에만 영향을 미칩니다._ |
»>Low | 연산에는 시간이 덜 소요되지만, 정확도는 떨어집니다 |
»>Medium | 오클루젼 컬링 데이터를 처리하는 데 걸리는 시간과 정확도 사이에 균형을 맞춥니다. |
»>High | 연산에 시간은 더 소요되나 정확도는 향상됩니다. |
»>Very High | 높은 해상도(high resolutions) 보다 정확도를 더 향상시키고 싶을 경우 이 값을 사용하나, 더 많은 시간이 소요됨을 유념하시기 바랍니다. |
»>Extremely High | 사용자의 움직이는 오브젝트에 대하여 거의 정확한 오클루젼 컬링을 원할 경우 이 값을 사용합니다. 주의: 이는 연산에 많은 시간을 소요합니다. |
사용자가 오클루젼 영역(Occlusion Area)을 추가한 후, 이것이 박스를 셀로 어떻게 나누는지를 보아야 합니다. 오클루젼 영역을 어떻게 계산하는 지 보려면, Occlusion Culling Preview Panel
내에서 Edit 버튼을 선택하고 View 버튼을 toggle(토글) 합니다.
생성된 오크루젼(occlusion)의 시험
사용자의 오클루젼이 설정되면, Occlusion Culling 을 활성화하고(Visualize 모드에서 Occlusion Culling Preview Panel
내) 씬 뷰(scene view)내에서 Main Camera
을 주위로 움직여 이를 검사할 수 있습니다.
씬 뷰(Scene View)의 오클루젼 뷰(Occlusion View) 모드
사용자가 주 카메라(Main Camera)를 주위로 움직이면(Play 모드에 있건 그렇지 않건), 다양한 오브젝트가 스스로를 비활성화 하는 것을 볼 수 있을 것 입니다. 여기에서 오클루젼 데이터에 에러가 없는지를 확인하여야 합니다. 만일 사용자가 카메라를 움직일 때 오브젝트가 갑자기 뷰(view) 안으로 튀어 들어오면 에러가 발생한 것 입니다. 이런 상황이 생기면, 에러를 고치기 위해 사용자는 해상도를 변경하거나(사용자가 목표 볼룸 target volume으로 재생하고 있다면) 혹은 에러를 덮기 위하여 오브젝트를 주변으로 옮길 수 있습니다. 오클루젼에서 발생한 문제를 디버그 하려면, 지점 체크 spot-checking을 위해 문제의 위치로 주 카메라를 움직일 수 있습니다.
이 처리가 끝나면, 사용자는 뷰 영역(View Area)에 몇 개의 색상 큐브를 볼 수 있어야 합니다. 파란 큐브는 Target Volumes
에 대한 셀 분리(division)을 나타냅니다. 하얀 큐브는 View Volumes
에 대한 셀 분리(division)을 나타냅니다. 만일 매개변수(parameter)가 올바로 설정되었다면, 사용자는 일부 오브젝트가 랜더링 되지 않는 것을 볼 수 있을 것 입니다. 그것은 그것들이 카메라의 뷰 프러스텀(view frutum)의 바깥영역이기 때문이거나 아니면 다른 오브젝트에 의해 뷰에서 가려졌기 때문입니다.
오클루젼이 완료된 후에도 사용자의 씬(scene)에서 아무것도 가려지지 않았다면, 사용자의 오브젝트를 더 작은 조각으로 부수어서 셀에 완전히 포함될 수 있도록 해 봅니다.
- 출처: 유니티코리아위키 (CC BY-NC-SA 2.0)