После того как моделирование и анимация объектов сцены закончены, остается только добавить камеру и визуализировать полученный результат. При этом нужно помнить, что камера является не просто альтернативным окном проекции, но и способом выражения вашего видения. Изменяя такие настройки, как масштаб и фокусное расстояние, можно создать впечатление, что мышь имеет размер дома, а небоскреб совсем крошечный. Камеры в Maya в отличие от реальных не имеют ни размера, ни массы, поэтому они могут проходить сквозь игольное ушко или внезапно менять направление движения. Правильное размещение камеры и выбор расположения объектов в кадре является целым искусством.
В компьютерной графике визуализацией называется процесс создания двумерного изображения трехмерной сцены. Эти изображения сохраняются в файлах, последовательный показ которых создает впечатление движения объектов. Кроме того, можно визуализировать набор статичных изображений, чтобы получить представление о том, как выглядит итоговая анимация с разных точек. В предыдущих упражнениях вам уже приходилось визуализировать полученные сцены, но в этой главе вы познакомитесь с деталями этого процесса. Вам предстоит изучить следующие темы:
Ключевые термины
Сглаживание (Antialiasing). Устранение ступенчатого эффекта или разрывов на изображениях линий, расположенных не параллельно краям экрана.
Перспективная проекция (Perspective view). Результат переноса на плоскость точек трехмерного объекта, который выполняется пучком лучей, исходящих из одной точки, соответствующей положению глаза наблюдателя.
Ортографическая проекция (Orthographic view). Двумерный, плоский вид сцены, обычно наблюдаемый спереди, сбоку или сверху. Получается путем выравнивания плоскости проекции параллельно одной из координатных плоскостей трехмерного пространства.
Фокусное расстояние (Focal length). Расстояние от линзы объектива до плоскости пленки. Прямо пропорционально размеру объекта в кадре.
Плоскости отсечки (Clip Planes). Параметры усечения изображения сцены в окне камеры плоскостями, установленными на заданном расстоянии от камеры перпендикулярно линии взгляда.
Глубина резкости (Depth of field). Область на некотором расстоянии от камеры, в пределах которой объекты находятся в фокусе.
Переворот (Tumble). Поворот камеры вокруг ее центра.
Сопровождение (Truck). Перемещение камеры вместе с мишенью вверх, вниз, влево или вправо без смены ориентации линии визирования.
Наезд (Dolly). Движение камеры без изменения ширины поля зрения объектива и соответственно без изменения степени перспективных искажений.
Масштабирование (Zoom). Способ увеличения или уменьшения объекта, сопровождаемый перспективными искажениями.
Крен (Roll). Поворот камеры вокруг оси пирамиды видимости.
Проигрыватель (Playblast). Специальный модуль, предназначенный для просмотра эскиза анимации.
Пакетная визуализация (Batch render). Фоновый процесс, позволяющий визуализировать набор кадров, не прекращая работы с окном программы Maya. Полученные кадры сохраняются в папке Images.
В Maya все проекции связаны со своими камерами. По умолчанию после загрузки программы сцена содержит четыре камеры, которые показывают вид объекта сверху, сбоку, спереди, а также в перспективной проекции. Первые три проекции являются ортографическими. Значки соответствующих камер видимы, что дает возможность переместить их или повернуть. Значок камеры, создающей перспективную проекцию, по умолчанию невидим. Эти камеры являются вспомогательными элементами, без которых невозможен процесс моделирования. После того как определена точка, с которой будет производиться визуализация сцены, необходимо создать в этой точке камеру. Если требуется получить набор неподвижных изображений, можно создать несколько камер, фиксирующих сцену с разных точек. Однако проще всего перемещать одну камеру, в различных кадрах визуализируя вид через ее объектив. Существует возможность анимировать несколько камер одновременно, чтобы получить несколько различных клипов одной и той же сцены.
Положение камеры четко определяет, что именно вы будете наблюдать через ее объектив и какая часть сцены попадет в кадр. Также это зависит от фокусного расстояния, ориентации камеры и ее поля зрения. При этом увеличение фокусного расстояния приводит к сужению поля зрения. Если же вы увеличиваете поле зрения, для сохранения размера объекта без изменений необходимо переместить камеру ближе к объекту.
Создание камер
Как и в случае с источниками света, изменить тип камеры можно в окне диалога Attribute Editor (Редактор атрибутов).
ПРИМЕЧАНИЕ
При запуске Maya окно проекции Perspective (Перспектива) представляет собой вид в окне камеры persp. Эта камера используется для фокусировки на определенных областях сцены. В сцену можно ввести дополнительные камеры и визуализировать именно вид, наблюдаемый через объектив любой из них. Обычно для этой цели очень нежелательно использовать камеру, имеющуюся в сцене по умолчанию, потому что ее очень легко ненамеренно переместить.
Параметры камеры
Если камера выделена, для нее можно открыть окно диалога Attribute Editor (Peдактор атрибутов) и, раскрыв все разделы, как показано на рис. 11.1, рассмотреть параметры камеры.
Перечислим основные параметры, необходимые для редактирования камеры. Большинство из них расположено в разделе Camera Attributes (Атрибуты камеры):
Рис. 11.1. Параметры камеры в окне диалога Attribute Editor
ПРИМЕЧАНИЕ
Параметр Film Offset (Смещение кадра) часто используется при моделировании архитектурных ансамблей в случаях, когда необходимо избежать перспективных искажений. Если искажения все-таки появились, для начала поднимите или опустите камеру таким образом, чтобы она располагалась горизонтально. Это приведет к исчезновению вертикальных искажений. Затем используйте поля, расположенные справа от имени параметра Film Offset (Смещение кадра), чтобы указать, какую часть изображения вы хотите визуализировать. Параметры Film Offset X (Смещение кадра по оси X) и Film Offset Y (Смещение кадра по оси Y) задают смещение «взгляда» камеры относительно ее мишени.
Анимация камеры
При анимации камеры необходимо соблюдать несколько правил, к примеру, избегать резких движений, таких как быстрое панорамирование, увеличение масштаба и вращение камеры. Кроме того, желательно создать впечатление, что камера обладает массой. Виртуальные камеры начинают двигаться и останавливаются внезапно. Такое поведение не имеет ничего общего с реальным положением дел. Избежать этого можно, изменив положение касательных к первому и последнему ключам анимации таким образом, чтобы движение начиналось и заканчивалось постепенно. То же самое нужно сделать для ключей, описывающих поведение остальных параметров камеры, только в этом случае получится сглаженное движение. Вам предстоит проделать это в первом упражнении данной главы.
ПРИМЕЧАНИЕ
Можно посмотреть на сцену сточки расположения любого объекта. Для этого его нужно выделить и выбрать в меню Panels (Панели) окна проекции команду Look Through Selected (Вид из точки расположения выделенного объекта). Обычно эта команда используется, когда необходимо проверить место расположения мишени источников света типа Spot (Прожектор) или Directional (Направленный). Наблюдение происходит из опорной точки объекта в отрицательном направлении оси Z.
Упражнение. Моделирование движения камеры
В этом упражнении вам предстоит анимировать камеру, а затем сгладить ее движение путем редактирования ключей анимации. Нужно, чтобы камера переместилась из точки, расположенной справа от цилиндра, в точку, расположенную слева от параллелепипеда, пройдя этот путь по полуокружности и периодически приближаясь к показываемым объектам и удаляясь от них. После размещения ключей анимации для камеры и ее мишени нужно будет создать впечатление наличия у камеры массы. Это достигается редактированием положения касательной в первом и последнем ключах анимации.
Рис. 11.2. Исключение из выделения всех объектов сцены
ПРИМЕЧАНИЕ
Обычно для создания ключей используется клавиша s, но вы можете воспользоваться комбинациями клавиш Shift+W, Shift+E и Shift+R, чтобы получить ключи анимации только для преобразований Move (Перемещение), Rotate (Поворот) и Scale (Масштабирование). По умолчанию нажатие клавиши s приводит к появлению набора ключей для всех параметров выделенного объекта, что не всегда необходимо. Лишние ключи могут стать причиной массы проблем в будущем, если вдруг вы захотите анимировать параметр, которому они соответствуют.
Создав новый ключ для какого-либо параметра в кадре, в котором уже находится ключ для этого параметра, вы замените первый ключ вторым.
Рис. 11.3. Окно диалога Motion Trail Options
Рис. 11.4. Процесс редактирования формы анимационных кривых в окне диалога Graph Editor
При работе с простыми сценами даже медленный SD-ускоритель позволяет отслеживать редактирование анимации непосредственно в окне проекции в режиме тонированной раскраски. Но если в сцене находится слишком много объектов и, кроме того, включено аппаратное размещение текстур, то скорость реагирования сильно снижается. Обычно это не составляет проблемы. В конце концов, можно подождать, пока процесс завершится, или переключиться в режим каркасного отображения. Но для проверки скорости анимации нужно каким-то образом посмотреть на ее воспроизведение в реальном времени. В Maya для этой цели служит модуль Playblast (Проигрыватель). Для его вызова используйте команду меню оперативного доступа Window > Playblast (Окно > Проигрыватель). Этот инструмент использует видеокарту для записи в буфер всех кадров анимации. Затем можно посмотреть на полученный результат и решить, устраивает ли он вас.
Когда все готово для визуализации законченной анимации, нужно открыть окно диалога Render Globals (Общие параметры визуализации). Для обработки набора кадров применяется функция пакетной визуализации, которая использует настройки, сделанные вами в окне диалога Render Globals (Общие параметры визуализации). Его можно открыть, нажав кнопку Render the current frame (Визуализация текущего кадра) строки состояния или же выбрав в меню оперативного доступа команду Window > Rendering Editors > Render Globals (Окно > Редакторы визуализации > Общие параметры визуализации).
Общие параметры визуализации
Окно диалога Render Globals (Общие параметры визуализации), показанное на рис. 11.5, на первый взгляд может показаться перенасыщенным параметрами, но вам нужно помнить только несколько ключевых разделов.
Если требуется запускать визуализацию автоматически, то необходимо убедиться, что в разделе Image File Output (Выходной файл) все настроено правильно. В общем случае желательно, чтобы новая визуализация не записывалась поверх предыдущей, поэтому необходимо сохранять их в разных файлах. Если этого не сделать, запись будет произведена в файл, расположенный в папке images вашего проекта. Поля, находящиеся под полем Frame/Animation Ext (Расширение имени файла/Нумерация кадров анимации), становятся доступными при выборе для итогового файла формата фильма или же нумерованных расширений файлов. Вы получите возможность указывать начальный и конечный кадры анимации. По умолчанию число таких кадров равно 10, что соответствует очень короткому фильму. В предыдущем упражнении необходимо было бы изменить значение параметра End Frame (Конечный кадр) на 300, а значение параметра Start Frame (Начальный кадр) — на 0. Раскрывающийся список Image Format (Формат изображения) позволяет выбрать для результата визуализации подходящий формат. Обзор возможных форматов был дан в главе 1.
В разделе Resolution (Разрешение) устанавливается размер выходного изображения. Можно использовать раскрывающийся список Presets (Предустановленные значения) для выбора одного из заранее заданных разрешений. Для тестовой визуализации значение этого параметра обычно равно 320x240. Если итоговое изображение предназначено для печати, то желательно сделать его ширину равной 2000 пикселам или больше. Максимально возможный размер изображения определяется объемом оперативной памяти вашего компьютера. Величину параметра Pixel Aspect Ratio (Пропорцию пиксела), задающего отношение высоты пиксела к его ширине, оставьте равной 1.
Параметры раздела Anti-aliasing Quality (Качество сглаживания) оказывают непосредственное влияние на скорость визуализации и качество изображения. Без сглаживания края объектов приобретают ступенчатую структуру, особенно заметную при высокой контрастности цветов пересекающихся друг с другом элементов изображения. Для тестовой визуализации можно оставить значение этого параметра небольшим, так как его увеличение приводит к замедлению данного процесса. Соответственно, выберите в раскрывающемся списке Presets (Предустановленные значения) вариант Preview Quality (Эскизное качество). Для итоговой визуализации используйте вариант Production Quality (Высокое качество).
Рис. 11.5. Окно диалога Render Globals служит для задания параметров визуализации
В разделе Raytracing (Трассирование) настраиваются параметры эффектов отражения, преломления и теней, которые должны появиться в итоговой картинке. По умолчанию трассирование отключено, так как оно сильно замедляет процесс визуализации. Числа в полях Reflections (Отражение), Refractions (Преломления) и Shadows (Тени) определяют глубину трассирования, то есть число возможных отражений луча от поверхностей объектов, после которого он еще способен формировать указанные эффекты. Когда луч света сталкивается с поверхностью отражающего или преломляющего объекта, он рикошетирует обратно. Если числоотскоков луча превосходит значение одного из вышеуказанных параметров, соответствующий эффект не возникает. Это позволяет сэкономить массу времени при визуализации таких сцен, как, например, зеркальный зал, потому что в противном случае луч отражался бы от поверхностей бесконечно.
Визуализация статичных изображений
При необходимости визуализации одного из окон проекции необходимо перевести его в активное состояние и выбрать в меню оперативного доступа команду Render > Render Current Frame (Визуализация > Визуализация текущего кадра). Настройки, заданные в окне диалога Render Globals (Общие параметры визуализации), определяют разрешение, сглаживание и эффекты, получаемые с помощью трассирования. При этом визуализируется только один кадр, который сохраняется во временном файле в папке image вашего проекта. После окончания визуализации можно сохранить полученный результат. Для этого нужно щелкнуть правой кнопкой мыши в любой точке окна Render View (Визуализатор) и выбрать в появившемся меню команду File > Save Image (Файл > Сохранить изображение).
Визуализированные и сохраненные изображения можно просматривать с помощью служебной программы FCheck (Контроль файлов), окно которой показано на рис. 11.6.
Рис. 11.6. Служебная программа FCheck используется для просмотра и редактирования итоговых изображений
С помощью этого инструмента можно просматривать большинство изображений и фильмов, а также осуществлять их преобразование к другим форматам. Он запускается с помощью команды Programs > Maya > FCheck (Программы > Maya > FCheck) меню, появляющегося при нажатии кнопки Start (Пуск) вашей операционной системы.
Подготовка к визуализации
Перед тем как запустить процесс визуализации, необходимо выполнить следующие действия:
Теперь можно закрыть окно диалога Render Globals (Общие параметры визуализации) и выбрать в меню оперативного доступа команду Render > Batch Render (Визуализация > Пакетная визуализация), чтобы начать процесс обсчета кадров. При этом можно продолжить работу с программой, но в большинстве случаев визуализация требует настолько большого количества ресурсов, что выполнение всех прочих операций крайне замедляется.
Упражнение. Создаем камеру в сцене с домом
Теперь пришла пора применить знания, полученные в предыдущих разделах, и создать камеру для сцены с домом монстра. Вы можете продолжить работу над сценой, полученной в главе 10, или загрузить файл ch11tut02start.mb.
Создание траектории
Для создания траектории движения будет использован метод, с которым вы уже познакомились в главе 4. При всей его простоте он дает потрясающие возможности управления положением камеры и скоростью ее движения в процессе воспроизведения анимации. Мы попытаемся имитировать съемку с операторского крана, применяемую при создании настоящего кино.
СОВЕТ
Для максимального упрощения сцены оставляйте в ней только слои, необходимые для выполнения текущей процедуры.
ПРИМЕЧАНИЕ
Для более эффективной работы камеры должны иметь ближнюю и дальнюю плоскости отсечки. В окне проекции отображается только участок сцены, находящийся между этими плоскостями. В Maya параметр Far Clip Plane (Дальняя плоскость отсечки) по умолчанию имеет значение 1000 единиц, что для большинства сцен является недостаточным. Если вид в окне проекции кажется вам странным или некоторые объекты оказываются невидимыми, проверьте, нельзя ли решить эту проблему, изменив указанный параметр. Камеры, создающие проекции Side (Вид сбоку). Тор (Вид сверху) и Front (Вид спереди), также имеют плоскости отсечки.
ВНИМАНИЕ
Если нажать комбинацию клавиш Shift+А, чтобы уместить все объекты сцены в границах окон проекции, или нажать клавишу f, чтобы сфокусироваться на опорной плоскости, может случиться так, что все объекты исчезнут. Эта проблема связана с размером опорной плоскости — камера отодвигается так далеко, что они оказываются за границей одной из плоскостей отсечки. Можно вернуть сцену к предыдущему состоянию, нажав клавишу [.
Рис. 11.7. Кривая, которая будет использоваться в качестве пути анимации
Рис. 11.8. Результат редактирования формы CV-кривой в окне проекции Тор 1.
Редактирование пути анимации
На данный момент траектория камеры не отслеживает изменений рельефа поверхности, так как это невозможно сделать в окне проекции Side (Вид сбоку), в котором опорная плоскость видна в режиме каркасного отображения. Продолжим редактирование сцены.
Создание камеры и связывание ее с кривой
Теперь, когда кривая окончательно готова, пришло время создать камеру, которая будет двигаться вдоль нее. Продолжим выполнение предыдущего упражнения.
Теперь все готово для указания параметров визуализации в окне диалога Render Globals (Общие параметры визуализации). Правда, работа над сценой на этом не окончится. Вам еще предстоит добавить некоторые детали при изучении эффектов рисования в главе 12 и рассмотрении свойств систем частиц в главе 13. Не пожалейте времени и настройте пакетную визуализацию, как описано в приведенном ниже упражнении. Например, посвятите этому один из вечеров, оставив компьютер работать на ночь, и к утру вы получите готовый фильм.
Упражнение. Получение фильма методом пакетной визуализации
Продолжите выполнение предыдущего упражнения или загрузите файл ch11tut02end. mb.
ПРИМЕЧАНИЕ
Некоторые предпочитают визуализировать вместо фильма последовательность статичных кадров. В этом случае прерывание процесса визуализации не приводит к потере уже полученных данных и нет необходимости начинать все сначала. Однако посмотреть на полученный результат можно будет только с помощью служебной программы FCheck (Контроль файлов), а на диске у вас окажется огромный набор файлов. Кроме того, чтобы получить возможность посмотреть анимацию на другом компьютере, необходимо будет сначала преобразовать ее в один из форматов фильма.
Рис. 11.9. Несколько небольших изменений в окне диалога Render Globals, и все готово к визуализации фильма
Самостоятельно отредактируйте движение камеры таким образом, чтобы ее движение начиналось и заканчивалось постепенно. Попытайтесь также придать сцене другое настроение, меняя в окне диалога Attribute Editor (Редактор атрибутов) значение параметра Angle of View (Угол зрения) и используя различные кривые в качестве траектории камеры. Если нужно создать впечатление огромного опасного мира, поместите траекторию на небольшом расстоянии от опорной поверхности и выберите широкий угол зрения. Сделав крупный план и высоко расположенную траекторию, вы получите впечатление, что съемка производится с вертолета. Попробуйте анимировать мишень независимо от камеры, а также сделать камеру слегка покачивающейся. Установите связь между камерой и объектом и визуализируйте сцену.
Выполнение упражнений этой главы помогло вам получить представление о параметрах камер и о том, какие именно настройки необходимо произвести перед запуском процесса анимации. Вы изучили следующие темы: