← Назад к вопросам

Какие типы камер в Unity вы знаете? Чем Orthographic отличается от Perspective?

1.7 Middle🔥 172 комментариев
#C# и ООП

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI7 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Типы камер в Unity

В Unity существует два основных типа камер, определяемых свойством Projection в компоненте Camera. Различие заключается в математической модели проецирования 3D-сцены на 2D-экран.

1. Perspective Camera (Перспективная камера)

Это камера по умолчанию и самый распространённый тип, имитирующий восприятие человеческого глаза или объектива реальной камеры. Ключевые характеристики:

  • Проецирует объекты с перспективой: Объекты, находящиеся дальше, выглядят меньше. Параллельные линии (например, рельсы) сходятся в точке схода на горизонте.
  • Имеет Field of View (Поле обзора): Основной параметр, измеряемый в градусах. Определяет ширину обзора камеры. Аналогично фокусному расстоянию объектива.
  • Создает ощущение глубины и объёма: Идеальна для большинства 3D-игр (шутеры, гонки, RPG), симуляторов и интерактивных приложений.

2. Orthographic Camera (Ортографическая камера)

Этот тип использует параллельную проекцию, где все лучи от объекта к плоскости камеры параллельны. Ключевые характеристики:

  • Отсутствие перспективы: Размер объекта на экране не зависит от его расстояния до камеры. Отдалённый и близкий объекты одинакового размера в мире будут иметь одинаковый размер на экране.
  • Имеет Size (Размер): Основной параметр для 2D-режима. Определяет, сколько мировых единиц (юнитов) будет видно по вертикали от центра камеры.
  • Сохранение пропорций и размеров: Критически важна для 2D-игр (платформеры, головоломки), карт, интерфейсов, редакторов уровня (level editors) и изометрической графики.

Подробное сравнение: Orthographic vs Perspective

Математическая модель и визуальный результат

  • Perspective: Использует пирамиду видимости (Frustum), где объекты проецируются на плоскость через центральную точку (камеру). Это создает трапециевидный объем видимости.
    // Типичная настройка перспективной камеры для 3D-игры от первого лица
    Camera.main.fieldOfView = 60f; // Широкий угол обзора
    Camera.main.nearClipPlane = 0.1f;
    Camera.main.farClipPlane = 1000f;
    
  • Orthographic: Использует прямоугольный параллелепипед видимости. Объем видимости — это коробка. Все проекционные лучи параллельны.
    // Типичная настройка ортографической камеры для 2D-платформера
    Camera.main.orthographic = true;
    Camera.main.orthographicSize = 5f; // На экране будет видно 10 юнитов по вертикали
    

Ключевые параметры настройки

ПараметрPerspective (Перспективная)Orthographic (Ортографическая)
Основная настройкаField of View (в градусах)Size (в мировых единицах)
Форма объема видимостиУсеченная пирамида (Frustum)Прямоугольная коробка (Box)
Влияние расстоянияУменьшает размер объектовНе влияет на размер объектов
Параллельные линииСходятся (если не параллельны взгляду)Остаются параллельными

Сфера применения

  • Perspective камера применяется для:
    *   Реалистичных 3D-симуляторов (авто, авиа).
    *   Игр от первого и третьего лица.
    *   Архитектурной визуализации и VR/AR.
    *   Любых сцен, где требуется передать ощущение глубины и масштаба.
  • Orthographic камера применяется для:
    *   Классических 2D-игр (платформеры, шутеры в стиле "top-down", match-3).
    *   **Изометрических и псевдо-3D проекций**, где нужно контролировать размер объектов (стратегии, RPG).
    *   Интерфейсов (**UI**), которые должны сохранять чёткие пиксельные размеры.
    *   Карт, схем и технических чертежей в игровом пространстве.

Практические нюансы в Unity

  1. Смена типа: Переключение между режимами выполняется одним свойством Camera.orthographic или через инспектор.
  2. Pixel Perfect для 2D: При работе с орфографической камерой и пиксель-артом часто используют компоненты Pixel Perfect Camera или настраивают orthographicSize так, чтобы он был кратен размеру пиксельных спрайтов, избегая размытия.
  3. UI и World Space: Камера с орфографической проекцией часто используется для рендера UI в World Space, чтобы элементы интерфейса имели фиксированный размер независимо от положения в 3D-мире.
  4. Отсечение (Clipping): В обоих типах работают Near и Far Clip Plane, определяющие ближнюю и дальнюю границы рендеринга.

Вывод: Выбор между Orthographic и Perspective — это фундаментальное дизайнерское и техническое решение на раннем этапе разработки. Он определяет не только визуальный стиль игры, но и подход к созданию контента (модели, текстуры, UI) и написанию скриптов (например, расчёты перемещения в 2D-пространстве при ортографической камере проще).