Введение в вид камеры
То, что камера видит, определяется ее преобразованием и компонентом камеры. Положение преобразования определяет точку зрения, ее передняя (Z) ось указывает в направлении зрения, ее вертикальная (Y) ось указывает вверх к вершине экрана, а ее правая (X) ось указывает вправо к правой стороне экрана. Настройки на компоненте камеры определяют размер и форму области, которая попадает в поле зрения. С этими параметрами камера может отображать на экране то, что она в настоящее время «видит». По мере того, как GameObject перемещается и поворачивается, отображаемое изображение перемещается и поворачивается соответственно.
Форма рассматриваемого региона
Как перспективные, так и ортографические камеры имеют ограничение на то, насколько далеко они могут «видеть» от своего текущего положения. Предел определяется плоскостью, перпендикулярной направлению камеры вперед (Z). Это известно как плоскость дальней обрезки поскольку объекты, находящиеся на большем расстоянии от камеры, “обрезаются” (т.е. исключаются из рендеринга). вблизи плоскости обрезки близко к камере — видимый диапазон расстояния — это расстояние между двумя плоскостями.
Без перспективы объекты выглядят одинаковыми по размеру независимо от их расстояния. Это означает, что объем зрения ортографической камеры определяется прямоугольной рамкой, расположенной между двумя плоскостями обрезки.
Когда используется перспектива, объекты кажутся уменьшающимися в размерах по мере увеличения расстояния от камеры. Это означает, что ширина и высота видимой части сцены увеличивается с увеличением расстояния. Объем зрения перспективной камеры, следовательно, не ящик, а пирамидальная форма с вершиной в положении камеры и основанием в дальней обрезной плоскости. Форма не является точно пирамидой, однако, потому что вершина отрезана близкой обрезной плоскостью; этот вид укороченной пирамидальной формы известен как Фрустум. Поскольку его высота не является постоянной, фрустум определяется соотношением его ширины к его высоте (известным как Соотношение сторон) и угол между верхней и нижней точками в вершине (известный как поле зрения или FOV).
Вид фрустум
Слово frustum относится к твёрдой форме, которая выглядит как пирамида с вершиной, отрезанной параллельно основанию. Это форма области, которая может быть видна и отображена перспективной камерой.
Примечание: По умолчанию камеры выполняют фрустум-кулинг, который исключает все рендери, которые не входят в фрустум-вид камеры.
Следующий мыслевой эксперимент должен помочь объяснить, почему это так.
Представьте себе, что вы держите прямой стержень (например, ручку метлы или карандаш), прикрепленный к фотоаппарату, а затем делаете фотографию. Если бы стержень держался в центре фотографии, перпендикулярно к объективу фотоаппарата, то только его конец был бы видим на фотографии в виде круга; все остальные части его были бы закрыты. Если бы вы переместили его вверх, то нижняя сторона начала бы становиться видимой, но вы могли бы снова скрыть ее, наклонив стержень вверх. Если бы вы продолжали передвигать стержень вверх и наклонять его еще выше, то круглый конец в конечном итоге достиг бы верхнего края фотографии. В этот момент любой объект выше линии, проложенной стержнем в мировом пространстве, не был бы видим на фотографии.
Ствол можно было столь же легко перемещать и вращать влево, вправо, вниз или любое сочетание горизонтального и вертикального направлений. Угол «скрытого» стержня просто зависит от его расстояния от центра экрана по обеим осям.
Смысл этого мысленного эксперимента заключается в том, что любая точка на изображении камеры фактически соответствует линии в мировом пространстве, и только одна точка вдоль этой линии видна на изображении. Все за этой позицией на линии затуманено.
Внешние края изображения определяются расходящимися линиями, которые соответствуют углам изображения. Если бы эти линии были проложены назад к камере, они все в конечном итоге сходились бы в одной точке. В Unity эта точка расположена точно в положении трансформации камеры и известна как центр перспективы. Угол, подразумеваемый линиями, сходящимися от верхнего и нижнего центров экрана в центре перспективы, называется полем зрения (часто сокращается до FOV).
Как было сказано выше, все, что находится за пределами расходящихся линий на краях изображения, не будет видно камере, но есть еще два ограничения на то, что она будет рендировать. Ближайшая и дальняя обрезные плоскости параллельны плоскости камеры XY и каждая установлена на определенном расстоянии вдоль ее центральной линии. Все, что ближе к камере, чем близкая обрезная плоскость, и все, что дальше, чем дальняя обрезная плоскость, не будет рендировано.
Расходящиеся угловые линии изображения вместе с двумя обрезными плоскостями определяют укороченную пирамиду — view frustum.