3D Studio MAX: первые шаги. Урок 14. Камеры в сцене

Светлана Шляхтина

Теоретические аспекты

Управление камерами

Параметры настройки камер

Создание и настройка камеры

Примеры настройки камеры в статичных сценах

Выбор удачной точки обзора сцены с учетом глубины резкости

Интеграция 3D-объектов в фон

Анимация камер

Перемещение по прямолинейной траектории

Осмотр сцены

Слежение за движущимся объектом

Облет по криволинейной траектории

Интеграция 3D-объектов в фон

Предположим, у нас есть подходящий фоновый рисунок или снимок (рис. 28), в который необходимо вписать созданную в среде 3D Studio MAX модель, чтобы в итоге получилось цельное изображение. Установите данный рисунок в качестве фона при рендеринге, воспользовавшись командой Rendering=>Environment=>EnvironmentMap=>Bitmap. Затем для удобства ориентации сделайте фон видимым в окне проекции Perspective, применив команду Views=>ViewPortBackground, щелкнув на кнопке Files (Файлы) и указав имя файла. Создайте нацеленную камеру, замените окно перспективы на вид из камеры (клавиша C) и отрегулируйте положение и ориентацию камеры примерно так, как показано на рис. 29. Обратите внимание, что камеру разместили чуть наклонно в направлении сверху вниз, потому что по виду фонового рисунка создается ощущение, что наблюдатель находится на некоторой возвышенности. Проведя рендериг, вы получите следующий результат (рис. 30).

 

Рис. 28. Фоновый рисунок

Рис. 28. Фоновый рисунок

 

Рис. 29. Исходное изображение с камерой

Рис. 29. Исходное изображение с камерой

 

Рис. 30. Начальный вид сцены

Рис. 30. Начальный вид сцены

Теперь нужно согласовать линию горизонта камеры с линией горизонта на фоновом изображении. Для этого в свитке Parameters камеры включите флажок ShowHorizon — линия горизонта станет видимой. В данном случае она оказалась выше линии горизонта фона, последняя для наглядности нарисована красным цветом (рис. 31). Инструментом SelectandMove передвиньте мишень камеры по оси Y так, чтобы черная горизонтальная линия (линия горизонта камеры) совпала с предполагаемой линией горизонта фона (рис. 32 и 33). Теперь осталось провести расфокусировку и размыть внедряемый в фон домик так, чтобы он естественно вписывался в фон. Выделите камеру, в списке ее параметров в группе Multi-PassEffects (Многопроходные эффекты) установите флажок Enable (Разрешить) для включения многопроходного режима визуализации, увеличьте значение параметра SampleRadius (Радиус выборки) примерно до 2, подберите для домика более подходящий к стилю фона материал и визуализируйте сцену — домик станет смотреться гораздо реалистичнее (рис. 34).

 

Рис. 31. Окно проекции камеры с линиями горизонта: камеры (черная) и фона (красная)

Рис. 31. Окно проекции камеры с линиями горизонта: камеры (черная) и фона (красная)

 

Рис. 32. Перемещение мишени по оси Y

Рис. 32. Перемещение мишени по оси Y

 

Рис. 33. Вид сцены после согласования линий горизонта

Рис. 33. Вид сцены после согласования линий горизонта

 

Рис. 34. Домик на нарисованном фоне

Рис. 34. Домик на нарисованном фоне

В начало В начало

Анимация камер

Как было отмечено в предыдущем уроке, анимировать можно самые разные параметры, включая камеры, причем у target-камеры может анимироваться как сама камера, так и ее мишень (как вместе, так и по отдельности). Анимация камеры позволяет добиваться интересных вариантов представления сцены зрителю. Например, анимируя откат камеры (DollyCamera), несложно добиться эффекта постепенного приближения к интересующему объекту или удаления от него, анимация орбитального вращения камеры (OrbitCamera) позволяет создать эффект облета интересующего объекта. Сопровождение камеры (TruckCamera) может применяться для имитации вида из движущегося объекта, крен (RollCamera) и панорамное вращение (PanCamera) — для создания эффекта переворота и т.д.

Перемещение по прямолинейной траектории

Смоделируйте произвольный текстовый объект (в нашем случае текст объемный за счет применения лофтинга) и две плоскости — под текстом и за текстом (рис. 35). В проекции Top создайте нацеленную камеру (команда Create=> Cameras=>Target — Создать=>Камеры=>Нацеленная камера), в проекции Perspective нажмите клавишу C, чтобы активировать проекцию камеры. Подберите для нее фокусное расстояние так, чтобы высота поля обзора была немногим больше высоты букв, а саму камеру с помощью инструмента Select and Move (а при необходимости и инструмента Select and Rotate) разместите перпендикулярно первой букве текста (рис. 36). Включите режим создания анимации с автоматическим созданием ключей, передвиньте ползунок таймера анимации в последний кадр и переместите камеру (вместе с мишенью) вдоль линии расположения текста так, чтобы она оказалась на последней букве текста (рис. 37). Выйдите из режима создания анимации, проиграйте ролик и сразу увидите, что камера перемещается параллельно тексту, буквы которого по очереди появляются в поле ее зрения. Правда, камера движется неравномерно: в начале траектории она явно ускоряется, а в конце — замедляется. Поэтому откройте редактор кривых (команда GraphEditor=>TrackView-CurveEditor — Редактор графов=>Просмотр треков-Редактор кривых) и найдите строки, которые отвечают за перемещение камеры и ее мишени — в нашем случае это X Position. При нажатой клавише Ctrl выделите обе ключевые точки для первого параметра X Position и щелкните на кнопке SetTangentstoLinear (Установка касательных для линейной анимации) — криволинейная траектория превратится в прямолинейную. Аналогичную операцию проведите для второго параметра X Position (рис. 38) — движение камеры станет равномерным.

 

Рис. 35. Исходная сцена

Рис. 35. Исходная сцена

 

Рис. 36. Результат настройки камеры

Рис. 36. Результат настройки камеры

 

Рис. 37. Положение камеры в последнем кадре

Рис. 37. Положение камеры в последнем кадре

 

Рис. 38. Корректировка вида касательных в редакторе кривых

Рис. 38. Корректировка вида касательных в редакторе кривых

В начало В начало

Осмотр сцены

Попробуем посредством анимации камеры добиться эффекта постепенного приближения к объекту и его последующего осмотра с противоположной стороны. Смоделируйте произвольную простую сцену, например такую, как представлена на рис. 39, — дерево, растущее на холме. Создайте Target-камеру с фокусным расстоянием в 50 мм, слегка наклоните ее и нацельте на дерево, установите проекцию камеры, нажав клавишу C (рис. 40). Щелкните на кнопке DollyCamera (Откат камеры) и перетащите курсор отката вниз, чтобы камера отодвинулась от дерева (рис. 41).

 

Рис. 39. Исходная сцена

Рис. 39. Исходная сцена

 

Рис. 40. Появление камеры

Рис. 40. Появление камеры

 

Рис. 41. Результат отката камеры

Рис. 41. Результат отката камеры

Включите режим создания анимации с автоматической генерацией ключей, передвиньте ползунок таймера анимации на последний кадр и в режиме DollyCamera перетащите курсор отката вверх так, чтобы камера приблизилась к дереву (рис. 42). Выйдите из режима создания анимации, проиграйте ролик и увидите, что камера будет постепенно приближаться к дереву, отображая его все более крупным планом. Увеличьте в окне TimeConfiguration общее количество кадров до 400. Щелкните на кнопке ToggleAutoKeyMode, установите ползунок таймера анимации на 250-й кадр, активируйте режим орбитального вращения камеры (OrbitCamera) и перетащите курсор вращения вправо так, чтобы камера повернулась вокруг мишени по орбите примерно на 180° (рис. 43). Проиграйте анимацию. Камера в целом перемещается так, как и было задумано, только чересчур быстро. Для ее замедления перетащите два ключа анимации (при выделенной камере): с 250-го кадра на 400-й и с 100-го на 200. А напоследок избавьтесь от ускорения и замедления движения, открыв редактор кривых, выделив ключевые точки для параметров X Position, Y Position и Z Position и установив для них касательные для линейной анимации (кнопка SetTangentstoLinear).

 

Рис. 42. Создание первого этапа анимации

Рис. 42. Создание первого этапа анимации

 

Рис. 43. Создание второго этапа анимации

Рис. 43. Создание второго этапа анимации

В начало В начало

Слежение за движущимся объектом

Предположим, что по некоторой достаточно длинной криволинейной трассе движется шарик, перемещение которого должно фиксироваться камерой крупным планом, а значит, в конкретный момент наблюдать можно только за отдельным ее участком. Задача состоит в том, чтобы камера отображала в каждый конкретный момент лишь тот участок пути, где находится шарик. Создайте плоскость, трассу в виде произвольного криволинейного сплайна, шарик и, при желании, разместите вокруг трассы произвольные статичные объекты — мы выбрали шахматные фигуры, расставленные на шахматной доске, шарик должен двигаться по кривой между ними (рис. 44).

 

Рис. 44. Исходная сцена

Рис. 44. Исходная сцена

Выделите шар и примените к нему модификатор деформации по траектории, открыв из меню Modifiers (Модификаторы) команду AnimationModifiers=>PathDeform (WSM) (Анимационные модификаторы=>Деформация по траектории (WSM)). В открывшемся свитке параметров модификатора щелкните на кнопке PickPath (Указать путь) и укажите кривую в одном из окон проекций. После этого щелкните на кнопке MovetoPath (Передвинуть на путь) — шар займет нужное положение на траектории (рис. 45). В режиме создания анимации с автоматической генерацией ключей переместите шар в конец траектории и выйдите из режима создания анимации (рис. 46). Проиграйте анимацию — шар будет двигаться по кривой.

 

Рис. 45. Результат перемещения шара на траекторию

Рис. 45. Результат перемещения шара на траекторию

 

Рис. 46. Создание анимации движения шара

Рис. 46. Создание анимации движения шара

 

В окне Top создайте камеру и настройте ее положение и ориентацию так, чтобы в первом кадре она была направлена на шар (рис. 47). Обратите внимание, что в проекции камеры видна далеко не вся сцена (как и задумано), поэтому при запуске анимации вы увидите, что по прохождении трети пути шарик скроется из виду (рис. 48). Попробуем настроить слежение камеры за сценой при помощи операции TruckCamera (Сопровождение камеры). Включите режим автоматического создания ключей, переместите ползунок временной шкалы на последний кадр, щелкните на кнопке TruckCamera и переместите камеру и мишень параллельно плоскости окна проекции камеры (рис. 49). Выйдите из режима создания ключей анимации и проиграйте ролик — шарик двигается точно так же, но теперь он все время виден в проекции камеры.

 

Рис. 47. Появление камеры

Рис. 47. Появление камеры

 

Рис. 48. Сейчас шарик скроется из поля зрения камеры

Рис. 48. Сейчас шарик скроется из поля зрения камеры

 

Рис. 49. Настройка сопровождения камеры

Рис. 49. Настройка сопровождения камеры

В начало В начало

Облет по криволинейной траектории

Рассмотрим вариант облета сцены с постепенным приближением камеры к интересующему объекту. Однако, в отличие от вышерассмотренных примеров, закон движения камеры мы будем задавать не путем непосредственного перемещения камеры по сцене, а с помощью пространственной кривой, по которой камера и будет передвигаться к объекту, что гораздо удобнее в плане контроля за кривизной пути.

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

 

Рис. 50. Исходная сцена

Рис. 50. Исходная сцена

 

Рис. 51. Появление камеры

Рис. 51. Появление камеры

Согласно замыслу камера будет перемещаться по сложной траектории, но независимо от положения она всегда должна быть направлена на интересующий объект — в данном случае на текст, поэтому ее следует привязать к тексту. Для этого выделите камеру (без мишени), активируйте панель Motion (Движение), откройте на ней свиток LookAtParameters (Параметры контроллера «Смотреть на»), щелкните на кнопке PickTarget (Указать мишень) — рис. 52 и укажите текстовый объект.

 

Рис. 52. Привязывание камеры к тексту

Рис. 52. Привязывание камеры к тексту

Создайте сплайновый путь для камеры — в данном случае подойдет вытянутая по высоте сцены и сужающаяся книзу спираль. Разместите спираль над текстом подходящим образом (рис. 53). Теперь камеру нужно установить в начало кривой: выделите камеру, откройте из меню Animation (Анимация) команду Constraints=>PathConstraint (Ограничители=>Ограничитель пути) — это приведет к появлению временной пунктирной линии, тянущейся от камеры до указателя мыши (рис. 54), щелкните на спирали. В итоге камера переместится на первую вершину кривой и окажется привязанной к траектории. Проиграйте анимацию в проекции Left или Front и увидите, что камера будет перемещаться по заданной траектории и при этом окажется направленной на текст в любой ее точке (рис. 55).

 

Рис. 53. Появление спирали

Рис. 53. Появление спирали

 

Рис. 54. Связывание камеры с траекторией движения

Рис. 54. Связывание камеры с траекторией движения

 

Рис. 55. Положение камеры в конце траектории

Рис. 55. Положение камеры в конце траектории

Проиграйте анимацию в окне проекции камеры и убедитесь, что камера совершает облет текста, постепенно приближаясь к нему. Немного усложним задачу — уменьшим скорость облета, заставим камеру в точке максимального приближения к тексту задержаться на несколько мгновений, а затем столь же плавно удалиться от объекта в обратном направлении. Увеличьте число кадров до 200. Откройте окно редактора кривых, для объекта Camera 01 установите параметр Percent, активируйте кнопку Add Keys (Добавить ключи) и щелкните по пунктирной линии. На линии появится новая ключевая точка, для корректировки ее положения активируйте инструмент Move Keys (Переместить ключи) и в левом поле ввода укажите значение 180 для номера кадра и значение 100 для значения (рис. 56). Это обеспечит задержку камеры при максимальном приближении к объекту. Теперь организуем ее движение в обратном направлении. На движение камеры вперед у нас отведено 180 кадров (поскольку на протяжении последних 20 кадров камера просто зависает над текстом), на обратное движение предусмотрим столько же кадров, поэтому увеличьте их общее число до 380. Переключитесь в редактор кривых и создайте в нем для параметра Percent еще одну ключевую точку (рис. 57), что и приведет к достижению запланированного результата.

 

Рис. 56. Создание первой ключевой точки в редакторе кривых

Рис. 56. Создание первой ключевой точки в редакторе кривых

 

Рис. 57. Создание второй ключевой точки в редакторе кривых

Рис. 57. Создание второй ключевой точки в редакторе кривых

В начало В начало

Previous

КомпьютерПресс 3'2007


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует