Пазлы камер и света (Cameras/Lights) — Софт Эйт Софт
Description: Как управлять камерами и светом с помощью пазлов Вердж3Д.

# Пазлы для управления камерами и источниками освещения (Cameras/Lights)

Пазлы из этой категории выполняют операции с камерами или источниками света.

## Содержание

- Пазлы камеры
  - look at
  - tween camera
  - zoom camera to object
  - set active camera
  - active camera
  - autorotate camera
  - get camera direction
  - set camera param
  - get camera param
- Пазлы источников освещения
  - set light param
  - get light param

#

## Пазлы камеры

#

### look at

Плавно анимирует активную камеру так, чтобы она в итоге нацелилась на указанный объект. Числовой параметр задает период времени, в течение которого выполняется анимация (в секундах).

#

### tween camera

Плавно анимирует активную камеру так, чтобы ее положение окончательно изменилось на положение указанного объекта / 3Д-точки, и камера нацеливается на другой указанный объект / 3Д-точку.

Параметры позиции и цели могут быть заданы либо объектами сцены, либо массивами координат X, Y и Z.

Числовой параметр задает период времени, в течение которого выполняется анимация (в секундах).

Параметр move задает интерполяцию между начальной и конечной точками: линейная или сферическая.

Дополнительный слот when finished do может быть использован для определения момента завершения твининга.

#

### zoom camera to object

Плавно увеличивает или уменьшает масштаб активной камеры так, чтобы указанный объект или группа объектов правильно поместились в поле зрения камеры. Числовой параметр задает период времени, в течение которого выполняется масштабирование (в секундах).

Дополнительный слот when finished do может быть использован для определения момента завершения масштабирования.

#

### set active camera

Делает указанную камеру активной. Можно использовать для изменения режима управления камерой ("orbit", "flying", "no controls"), поля зрения и других настроек.

#

### active camera

Возвращает активную камеру.

#

### autorotate camera

Плавно анимирует активную камеру Orbit, вращая ее вокруг цели.

В следующем примере камера начинает вращаться после 3 секунд бездействия пользователя. Когда пользователь нажимает на кнопку мыши (или касается экрана), он восстанавливает контроль над камерой до следующего 3-секундного периода бездействия.

Для поворота камеры в обратном направлении установите отрицательное значение speed, например, `-2`.

#

### get camera direction

Возвращает список компонентов X, Y и Z мирового вектора направления активной камеры. Если отмечено from mouse/touch, то этот пазл бросает луч из камеры в экранную позицию курсора и возвращает направление этого луча. Если дополнительно отмечено inverted, то координаты экранной позиции курсора отрицаются.

В следующем примере объект смотрит на курсор мыши. Этого можно добиться, сопоставив положение пустого/фиктивного объекта с курсором мыши с помощью простой математики.

Чтобы настроить такое поведение в 3дс Макс, заставьте ваш объект следовать за фиктивным объектом, используя Rotation Controllers / LookAt Constraint. В Блендер это соответствует ограничению TrackTo.

#

### set camera param

Устанавливает выбранный параметр камеры.

field of view
  Устанавливает вертикальное поле зрения камеры, в градусах.
ortho scale
  Устанавливает фактор масштабирования ортографической камеры.
movement speed
  Устанавливает скорость движения камеры.
rotation speed
  Устанавливает скорость поворота камеры.
allow panning
  Включает/выключает панорамирование камеры.
allow zoom
  Включает/выключает зум камеры.
zoom on ctrl key
  Позволяет камере двигаться только при нажатой клавише Ctrl.
keyboard controls
  Включает/выключает управление с клавиатуры.
orbit min distance (persp)
  Указывает как близко может приблизиться камера (только для перспективных камер).
orbit max distance (persp)
  Указывает как далеко может отдалиться камера (только для перспективных камер).
orbit min zoom (ortho)
  Указывает как сильно можно увеличить изображение (только для ортографических камер).
orbit max zoom (ortho)
  Указывает как сильно можно уменьшить изображение (только для ортографических камер).
orbit min vertical angle
  Указывает как сильно можно крутить орбитальную камеру по вертикали, нижний лимит. От `0` до `180` градусов.
orbit max vertical angle
  Указывает как сильно можно крутить орбитальную камеру по вертикали, верхний лимит. От `0` до `180` градусов.
orbit min horizontal angle
  Указывает как сильно можно крутить горизонтальную камеру по вертикали, нижний лимит. От `-180` до `180` градусов (или `-Infinity` чтобы убрать ограничение).
orbit max horizontal angle
  Указывает как сильно можно крутить горизонтальную камеру по вертикали, верхний лимит. От `-180` до `180` градусов (или `Infinity` чтобы убрать ограничение).
orbit allow turnover
  Включает или выключает возможность поворота камеры через голову.
screen space panning
  Определяет, как меняется положение камеры при панорамировании. Если `true`, камера движется в пространстве экрана. В противном случае камера движется в плоскости, ортогональной направлению вектора up камеры. Поддерживается только для орбитальных камер.
enable collisions
  Включает / выключает определение препятствий для камеры от первого лица.
clip start
  Определяет начало отсечения камеры (ближнее). Допустимые значения: от `0` до конца отсечения.
clip end
  Определяет конец отсечения камеры (дальнее). Должен быть больше чем значение, указываемое для начала отсечения.

Этот пазл также поддерживает списки камер, группы (списки групп), а также пазл all objects.

#

### get camera param

Возвращает выбранный параметр камеры. Смотрите описание пазла set camera param выше.

#

## Пазлы источников освещения

#

### set light param

Устанавливает параметр источника света:

color (vector)
  Устанавливает цвет света с помощью вектора, где X, Y, Z представляют R, G или B компонент цвета соответственно. Например, вектор [0, 1, 0] представляет чистый зеленый цвет.
color (css/rgb)
  Устанавливает цвет света, используя строку CSS-стиля, например rgb(255, 0, 0) или magenta.
color (css/hex)
  Устанавливает цвет освещения с помощью шестнадцатеричной строки CSS, например #FF0000.
intensity
  Устанавливает интенсивность освещения.
use shadow
  Включает / выключает тени, отбрасываемые источником освещения.
shadow map size
  Размер карты теней.
shadow map filtering

  Алгоритм фильтрации теней:

  basic
    Базовые, без фильтрации.
  bilinear
    Используют билинейную фильтрацию для более мягких теней.
  pcf
    Используют алгоритм PCF.
  esm
    Используют алгоритм ESM.

  Подробности о настройке теней читайте в соответствующем разделе для «Блендера», для «3дс Макса», для «Майи».

Этот пазл также подходит для списка объектов, группы (или списка групп) или для пазла all objects.

#

### get light param

Возвращает выбранный параметр источника света. Список параметров смотрите в описании пазла set light param.

## Проблемы с пазлами?

Обращайтесь за помощью на наш форум!