절두체 는 피라미드 같은 모양의 윗부분을 밑면에 병렬로 잘라낸 입체 형상을 가리킵니다. 이는 원근 카메라에 의해 보여지고 렌더링되는 영역의 형상입니다. 다음의 실험 예제를 통해 그 이유를 살펴보겠습니다.
빗자루 손잡이 또는 연필과 같은 곧은 막대를 들고 카메라를 향해 사진을 찍는다고 가정해 봅시다. 막대가 카메라 렌즈에 수직 방향으로 놓인 것 처럼 사진의 중앙에 놓이게 되면 막대의 끝부분만 사진에 원형으로 나타날 것이고, 다른 부분은 전부 보이지 않게 됩니다. 막대를 위 방향으로 움직이면 막대의 아랫면이 점점 보이기 시작하겠지만, 막대를 위쪽으로 비스듬히 올리면 다시 가려지게 됩니다. 그리고, 막대를 계속 위로 올리면서 각도를 같이 올리면, 동그란 끝 점은 결국 사진의 맨 위 가장자리까지 올라가게 됩니다. 이 지점에서 막대를 따라 만들어지는 선보다 월드 공간 위에 있는 모든 오브젝트는 사진에 나타나지 않게 됩니다.
막대는 자유롭게 이동할 수도 있고 상하좌우로 회전할 수도 있습니다. “가려진” 막대의 각도는 단순히 양 축에서 화면 중심과의 거리에 따라 변화합니다.
이 사고 실험을 통해 카메라 이미지에서 각 점은 실제로 월드 공간의 선에 대응되며 해당 선 위에 있는 단일 점 만을 이미지에서 볼 수 있다는 점을 알 수 있습니다. 선 포지션 뒤에 있는 모든 것은 가려집니다.
이미지의 외곽선은 이미지의 모서리에 해당하는 분기선으로 정의됩니다. 외곽선을 카메라 방향 뒤로 연장하면 한 지점에서 수렴합니다. Unity에서는 카메라의 변환 포지션에서 이렇게 수렴하며, 해당 지점을 원근 중심이라고 합니다. 원근 중심에서 화면의 상하단 중점을 각각 잇는 선을 연장하였을 때 생기는 각도를 시야 범위라고 부르며, FOV로 자주 줄여 사용합니다.
위에서 언급한 바와 같이 이미지 모서리에서 연장한 분기선 밖에 있는 것은 카메라에 보이지 않게 됩니다. 이와 더불어 렌더링 대상에는 두 개의 제약이 더 있습니다. 원거리 절단면과 근거리 절단면은 모두 카메라의 XY 평면에 평행하게 위치하고 있으며, 평면의 중심선을 따라 일정 거리만큼 떨어져 있습니다. 만일 어떤 것이 근거리 절단면보다 카메라에 근접하거나 원거리 절단면보다 카메라에 멀리 떨어져있는 경우에는 렌더링되지 않습니다.
두 클리핑 평면과 이미지 모서리에서 발산하는 선은 잘려나간 피라미드 형태를 만들어내며 이것이 바로 뷰 절두체입니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.