ГЛАВА 28

ГЛАВА 28

Композиционные эффекты

В главе исследуются методы обработки и подготовки образов и анимации к композиционным эффектам. Большая часть усилий по созданию эффектов должна быть направлена на понимание механизма 3D Studio MAX Video Post, который является отдельным приложением внутри 3DS МАХ. Объединив понимание 30-сцен со стратегическим использованием исходных образов и анимации, можно производить профессиональные трехмерные графические и движущиеся образы для любых визуальных носителей. Кроме того, доступна возможность автоматизации обработки графических файлов с целью использования в других приложениях. Ниже перечислены некоторые темы, исследуемые в данной главе:
  • Понимание Video Post
  • Подготовка к обработке образа и post production (монтажу)
  • Работа с событиями сцены
  • Использование размывания для имитации эффектов скорости
  • Использование событий вводного образа
  • Использование слоев и фильтров Video Post для объединения эффектов
  • Понимание и использование alpha
  • Применение циклов и внешних событий
  • Управление комбинированным выводом

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

  • Идентифицируйте центр интереса и организуйте все вокруг него.
    Это необязательно положение в пространстве или во времени. Скорее это тематический и контекстуальный фокус, который можно передать цветовым контрастом, масками, перспективой и т. п. Центр интереса анимации может оказаться "вне экрана" или быть эффектом среды.
  • Используйте асимметрию для подчеркивания движения и привлечения зрительского внимания.
    Когда асимметричные объекты двигаются по управляемому пути, можно достичь уникальных эффектов и оптических иллюзий.
  • Управляйте зрительским ощущением сбалансированности.
    Создавайте напряжение и расслабление, управляя визуальным "весом" композиционных элементов.
  • Манипулируйте размерностью с целью влияния на перекрывающиеся объекты и образы.
    Глубина сцены, особенно когда элементы перемещаются один относительно другого, расширяется за счет внимательного наслоения объектов сцены и двумерных исходных образов.
  • Планируйте визуализацию с учетом носителя воспроизведения.
    Используйте технологии композиции, которые станут доступны через конкретный носитель воспроизведения. Например, сформируйте требуемый масштабный коэффициент для письма в фильме о возможностях путем создания своего безопасного кадра и отображения его (например, прямоугольный сплайн, визуализируемый в битовое изображение) в качестве фона видового окна. Кроме того, можно аккуратно уменьшить высоту относительно ширины общего окна 3DS МАХ, отредактировав файл 3dsmax.ini. Измените соответствующим образом значения Size (ширину и высоту) в секции [Window State]. Видовые окна соответствующим образом изменят свою пропорцию отображения. Координация безопасного кадра пользовательского фона и пропорции видового окна поможет породить эффекты, связанные с конкретным форматом (см. рис. 18.1).

Понимание Video Post

Video Post произошел от термина post-production - окончательной стадии создания фильма. Post-production выполняется после того, как фильм отснят и собственно производственная работа выполнена- На завершающей стадии каждый элемент редактируется в законченную форму. Редактор вместе с режиссером решает как, когда и где будут происходить переходы. В этих точках часто вставляются специальные эффекты (если они есть). Обычно переходом является разрез, переключающий действие на новую сцену с новым кадром без каких-либо эффектов. Однако в ряде ситуаций требуется более драматический переход, например медленно затухающий один образ в сочетании с проявляющимся другим или открытие образа с вытиранием слева направо всего экрана. В прошлом такие переходы вместе со специальными эффектами были возможны только при монтаже, который выполняли профессиональный редактор и художник.

Механизм Video Post 3D Studio MAX предоставляет возможность работать с режиссером, редактором и художниками перед, во время и после производства анимации. При помощи Video Post можно быстро породить широкий спектр полезных образов и анимаций. Такими анимациями могут быть трудные и дорогостоящие пиротехнические эффекты. Или же можно создать и "на лету" представить виртуальный фон для композиции с видеозаписью живых актеров. И конечно же, имеется возможность создать завораживающие специальные эффекты и переходы.

В отличие от завершенных настольных приложений редактирования видео. Video Post является в основном служебным приложением, используемым для объединения 3DS МАХ сцен с другими образами анимации. Хотя в учебных целях было бы полезно создать сложную неподвижную композицию из нескольких слоев или смонтировать фильм, типичной функцией Video Post является подготовка образа или анимации для профессионального монтажа или редакторской платформы (цифровой или аналоговой) либо визуализация более масштабных аниматорских усилий.

Дополнительно механизм Video Post в 3DS МАХ оказывает помощь в автоматизации обработки образов и включения содержимого в продукты, подобные видеоиграм, CD-ROM-заголовки и интерактивные анимации.

Диалог Video Post, представленный на рисунке 28.2, состоит из двух главных частей - окна Queue слева и окна Edit справа. Для визуализации того, что происходит, при выполнении последовательности - т.е. визуализации событий, перечисленных в окне Queue, - представьте, что окно Edit является дополнительным видом проектора слайдов, объектив которого установлен вверху слева от линий диапазона и указывает на верх окна. Лампа проектора расположена внизу слева под линиями диапазонов всех событий. Объектив и лампа перемещаются слева направо, продвигаясь во времени по стеку слайдов (кадров). Лампа является чем-то подобным слайду и ее можно вставить в любое место стека слайдов для проектирования образов перед собой. В стек можно поместить различные слайды, играющие роль масок, зеркал, призм и источников света.

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

Независимо от того, видим ли слайд реально, если он участвует в виде хотя бы одного кадра, он имеет фиксированную иерархическую и относительную позицию в стеке. Эта позиция представляется в левой части окна Video Post меткой (пиктограммой, именем и путем) и справа горизонтальной линией, линией диапазона, указывающей появление слайда во времени.

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

В дополнение к своей обычной обязанности интерпретировать и представлять объекты в виде для заданного события Scene визуализатор 3DS МАХ знает, как позиционировать лампу проектора, считывая метки Event. Как и положено, проекция образа видна на экране 3DS МАХ, в Virtual Frame Buffer, и может записываться в файл или на устройство.

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

  • Inputs - сцены и образы
  • Effects - фильтры, слои, петли и внешности (external)
  • Outputs - файлы и устройства

Renderer нс просто проходит по очереди в направлении сверху вниз. Заданное событие может быть в очереди автономным, или находиться в иерархической связи с другим событием - т.е. событие по отношению к другим может быть родительским, дочерним или родственным.

На рисунке 28.2 обратите внимание на колонку чисел, выделенных курсивом, как в левой части очереди событий Video Post, так и в окне Edit вдоль линий диапазона. Числа представляют действительную последовательность визуализации событий для кадров 40 и 550. Повторно визуализируя один и тот же кадр (например, 40) в Virtual Frame Buffer, можно наблюдать за разделом Current Task диалога хода работ и следовать действительной последовательности визуализации в порядке, показанном в колонках. Знание действительного порядка визуализации поможет сконструировать очередь в соответствии с логикой визуализатора.

Окно редактирования является линией времени. Начиная с нуля линия времени представляет диапазон кадров, которые бесконечно расширяются вправо в положительном направлении. Каждое событие имеет соответствующую линию диапазона, обеспечивающую возможность управления тем, как и когда появляется заданный стек слайдов. "Как" выполняется путем добавления событий Scene или Image Input и применения модифицированных эффектов, подобных Filters и Layers. "Когда" достигается за счет организации специальных начальных и конечных параметров линий диапазонов.

Кроме команд запуска в меню Render Video Post не имеет выпадающих меню. Инструменты в верхней части окна Video Post обеспечивают метод для размещения новых элементов в очереди. В зависимости от активного или пассивного состояния событий, инструменты будут себя активизировать для применения к выбору.

СОВЕТ

Очень важно, чтобы последовательность Video Post конструировалась внимательно и консервативно. Файлы Video Post (VPX) следует сохранять для каждой основной стадии конструирования последовательности, нажимая инструмент Save Sequence и подтверждая перезапись существующего файла или присваивая имя новому файлу. Файл 3DS МАХ также следует регулярно сохранять. Данная часть 3DS МАХ не содержит функций UNDO или REDO и нет возможности щелкнуть правой кнопкой мыши для возврата линий диапазонов в исходные позиции. Вообще можно выделить события для редактирования, дважды щелкнув на их метках, а не на пиниях диапазона. Щелкнув на линиях диапазона, можно непреднамеренно сдвинуть параметры Start Time и End Time в Video Post. Настраивать несовпадения одного кадра между смежными событиями или начальными и конечными точками очень скучно и неприятно, особенно в случае, когда вы жаждете увидеть композиционные эффекты и полную визуализацию, необходимую для просмотра работы.

Использование событий Scene

Событие Scene является определенной частью общей сцены 3DS МАХ- При добавлении события Scene к очереди Video Post указывается, какой вид и какие кадры добавляются. Вы применяете эффекты движения сцены и координируете определенный диапазон кадра с общей очередью Video Post.

Во время добавления события Scene имя видового окна или камеры отображается в верхней части списка View диалога. Список View сортируется в алфавитном порядке по именам видовых окон или камер.

Добавлять события Scene можно с различными видами или использовать один и тот же вид в Queue несколько раз для генерации специальных эффектов, подобных прерывистому движению. Например, можно выполнить анимацию движения муравья по экрану. При этом Video Post используется для добавления к очереди нескольких событий Scene. Затем можно разбросать точки, в которых начинается каждая Scene, настроив линии диапазона по правой стороне диалога Video Post. Результатом будет парад муравьев, марширующих по экрану.

Если в одной и той же очереди Video Post требуется использовать разные файлы 3DS МАХ, визуализируй-те один 3DS МАХ файл на диск и затем добавьте его к очереди как событие Image Input. Если в очереди нет событий Scene, текущая сцена игнорируется Video Post, который визуализирует только те события, которые появляются в окне иерархии.

Управление диапазоном сцены по отношению к диапазону Video Post

По умолчанию 3DS МАХ использует полный диапазон Scene для параметров Video Post Start Time и End Time. Можно было бы принять, что время Video Post и время сцены 3DS МАХ одно и то же, но это не тот случай. Время сцены 3DS МАХ распространяется бесконечно назад (отрицательное) или вперед (положительное), тогда как Video Post определяет диапазон положительных кадров. Эта разница становится очевидной при сравнении способов представления времени в окнах Track View и Video Post.

Изучите различия самостоятельно. Откройте учебный файл Video Post tutl9J2.max, который распространяется с 3D Studio MAX и используется в сочетании с Tutorial 19. Откройте окна Track View и Video Post. В Track View расширьте секцию Objects так, чтобы появились линии диапазона. Теперь выберите навигационный инструмент Zoom Time и транспортируйте его вверх и вниз в окне Track View. Заметьте, что линии диапазона расширяются в обеих направлениях. Теперь выберите навигационный инструмент Zoom Time в окне Video Post. Транспортируйте курсор в область Event Editing. Заметьте, как линии диапазона фиксированы на кадре нуль и расширяются в правую сторону окна (см. рис. 28.3).

Когда к очереди Video Post добавляются события Image Input, содержащие последовательность образов или анимацию, их длина и диапазон определяются параметрами в поддиалоге Options диалога Add или Edit Image Input Event. Если диапазон кадра отличается от диапазона Video Post, то Video Post просто блокирует кадр Image Input Start на VP Start Time, отрезает или задерживает последний образ у VP End Time и зацикливает всю последовательность в зависимости от установленных параметров.

Параметры Scene Range в диалоге Add и Edit Scene Event предоставляют возможность раздельно и относительно позиционировать время Scene в контексте времени Video Post. По умолчанию Scene Range блокирован на диапазон Video Post. Сбросив флажок Lock to Video Post Range и затем при необходимости сбросив Lock Range Ваг to Scene Range в диалоге Add или Edit Scene Event, можно указать, будет ли определенный диапазон Video Post содержать кадры, отличные от непосредственно соответствующих параметрам VP Start Time и End Time.

Очистка флажка Lock Range Bar to Scene Range обеспечивает интересный способ создания эффектов медленного и быстрого движения. Если общий диапазон, определенный в Scene Range меньше диапазона, указанного в параметрах Video Post Start и End Time, Video Post добавляет кадры так, чтобы диапазон Scene соответствовал большему диапазону Video Post. Такой процесс растягивает движение во время воспроизведения, создавая эффект медленного движения. Если общее число кадров в диапазоне Scene больше диапазона Video Post, то Video Post пропускает кадры для того, чтобы общая последовательность совпала с меньшим диапазоном Video Post. Большее движение за меньшее время создает эффект ускорения.

Например, в одном событии Scene можно медленно двигать космический корабль по экрану. Затем можно пристыковать второе событие Scene, содержащее тот же вид и диапазон Scene, но с меньшим количеством кадров Video Post. При визуализации и воспроизведении будет казаться, что космический корабль внезапно увеличил скорость. Попробуйте!

Опции визуализации

Диалог Render Scene (см. рис. 28.4) содержит две части, разделенные характерными свитками 3D Studio МАХ -- Common Parameters и Default Scaniine A-BufFer. При установке события Scene в Video Post имеется возможность изменить некоторые из представленных параметров в диалоговых окнах Add или Edit Scene Event. Video Post не разделяет параметры Time Output, Output Size или Render Output с 3DS MAX визуализа-тором. В Video Post данные параметры находятся в диалоге Execute Sequence, поскольку они влияют на все события в очереди. (Более подробная информация приведена в разделе "Управление комбинированным выводом" позже в данной главе.)

Хотя Common Parameters и Scanline-A buffer можно установить из Render Options в отдельном событии Scene, помните, что данные параметры не уникальны для конкретного события Scene. Поддиалог Render Options просто обеспечивает доступ к глобальным параметрам визуализации для удобства настройки события Scene. Если в очереди имеется одно событие Scene и добавляется другое, любые изменения, выполненные в диалоге Render Options, повлияют на первое событие Scene. Сказанное означает, что вы не можете отдельно установить эффекты Anti-Aliasing, Object Motion Blur, Ray Trace Shadows, Atmospheric или какие-либо другие параметры визуализации для каждого события Scene в очереди. Единственный способ комбинирования и редактирования одних и тех же сегментов с разными параметрами эффектов заключается в индивидуальной визуализации сегмента и добавлении его в очередь с другими сегментами сцены в качестве события Image Input.

Исследование движения

Размывание движения представляет собой эффект, который существует в 3DS МАХ в двух вариантах. Первая версия - это размывание движения объекта, который сконфигурирован в диалоге Render Scene, и предоставляет возможность определения эффекта размывания движения для абсолютного изменения в положении отдельных объектов. Второй версией является размывание движения сцены в событии Scene Video Post. Размывание движения сцены применяет эффект размывания ко всей сцене, воздействуя на абсолютное и относительное движение (камера) всех объектов на сцене. Оба эффекта размывания работают, делая копии объекта, на который влияют, однако способы расчета и распространения копий в кадре отличаются. Используемая технология или способ комбинирования обеих технологий зависит от эффекта, который необходимо получить.

Руководство пользователя 3D Studio MAX описывает размывание движения объекта как форму сглаживания движения объекта во времени, а размывание движения сцены ~- как специальный эффект. Руководство указывает на то, что имеется возможность комбинировать оба способа для достижения наилучшего результата. Настоящий раздел описывает оба типа размывания движения и то, как они работают по отдельности, вместе и как соотносятся с визуализацией полей, которая использует сходный метод для "сглаживания" линий и движения.

Концепции размывания движения

Большинство думает о размывании движения в связи с фотографией. Если объект двигается достаточно быстро, то при съемке фотографии он кажется размытым. То, что зарегистрировано на пленке, является результатом нахождения объекта в одном положении, когда шторка камеры открылась, и в другой позиции, когда шторка закрывалась. Эффект размывания является результатом бесконечного числа копий объекта, каждая из которых экспонировалась в течение бесконечно малой части общего времени экспозиции. Копии экспонируются по мере передвижения объекта из положения в начале экспозиции во второе положение в конце экспозиции.

3DS МАХ не может воспроизвести бесконечное количество образов. Вместо этого он делит время на дискретные сегменты и визуализирует одну копию соответствующего объекта для каждого указанного сегмента времени. Количество копий и размер сегментов времени управляется параметрами.

Используемая 3DS МАХ технология математически и технически корректна. К сожалению она некорректна визуально. Верхний размытый мяч на рисунке 28.5 показывает способ по умолчанию, в соответствие с которым 3DS МАХ визуализирует размывание движения.

Хотя визуализация корректна технически, визуально она не создает впечатления размывания. Кажется, что множество копий имеют большую плотность посредине, чем по краям. Большинство наблюдателей считали бы это чем-то вибрирующим, чем движущимся вперед. Даже если бы это была часть анимации, ошибка выявлялась бы подсознательно. Ваше естественное ощущение движущегося объекта порождает ожидание, что ведущий край объекта будет резко сфокусирован, тогда как ведомый окажется размытым вместе с линией движения. Вот почему вы рисуете "линии скорости" позади движущихся объектов и почему традиционные аниматоры обучены рисовать размывание движения, размывая только ведомый край. Нижний мяч на рисунке 28.5 показывает результат имитации данной технологии в 3D Studio MAX.

Создание эффекта, показанного на примере нижнего мяча на рисунке 28.5, требует применения Video Post для комбинирования неразмытой версии объекта поверх размытой. Показанный здесь трюк связан с получением неразмытого объекта, который вел бы размытый. Величина требуемого опережения зависит от типа размывания движения и параметров для каждого типа.

Размывание движения объекта

Размывание движения (motion blur) объекта можно применять для репродукции аналогоподобного размывания и "сглаживания" движущихся объектов и персонажей (например, частей машины или частей персонажа). Вспомните обсуждение в разделе "Визуализация кадров против визуализации полей" в главе 27, "Визуализация анимаций". Параметр Render to Fields также используется для увеличения гладкости оживленных объектов, особенно при визуализации для видеовоспроизведения. Эффект от визуализации полей похож, но не идентичен тому, что создается размыванием движения объекта.

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

СОВЕТ

В отличив от размывания движения сцены или объекта, визуализация полей не обладает уникальной способностью сглаживать движение в карте Environment. Карты Environment не обрабатываются как элементы Scene, поэтому размывание на них не влияет. Но Renders to Fields для создания подкадровых экземпляров на самом деле работает с буфером информации, а не с геометрией, деля и переустанавливая сканированный вывод в серии кадров.

Размывание движения объекта определенно может расширить - и иногда полностью заменить - визуализацию полями. Размывание движения объекта обеспечивает дискретное управление отдельными объектами на сцене, прореживанием копий объекта и количеством образов подкадров в диапазоне движения. Если выполняется визуализация анимации для цифрового видео в форматах AVI или FLC и одновременно необходимо обеспечить гладкую анимацию для воспроизведения с видеоленты без визуализации полями (не рекомендуется для цифрового видео), стоит затратить дополнительное время на планирование и визуализацию и привлечь к работе размывание движения объекта.

Помните о том, что прореживание для цифрового видео в общем случае не рекомендуется, поскольку применяемые кодекзми алгоритмы сжатия могут породить цветовые полосы. Таким образом, в предыдущем примере с мячом при визуализации в цифровой видеоформат следовало бы внимательно настроить параметр Samples, управляющий прореживанием цвета при размывании движения объекта (см. раздел "Экземпляры" позже в этой главе). Кроме того убедитесь, что прореживание (усреднение цвета в противоположность смешиванию прозрачности) в разделе Rendering Preferences не включено. В диалоге Render Scene установите значение Samples в максимально возможное (как минимум в величину прореживания), равное количеству Duration Subdivisions. Помните также о том, что кажущееся движение, вызванное перемещением камеры, при размывании движения объектов во внимание не принимается, хотя учитывается при размывании движения сцены.

Для того, чтобы применить размывание движения объекта к отдельным объектам, следует выбрать объект в видовом окне и щелкнуть правой кнопкой мыши, открывая выпадающее меню объекта. После выполнения Properties появится диалог Object Properties. Используйте данный диалог для включения размывания движения, щелкнув мышью на флажке. Параметры размывания движения объекта указываются в диалоге Render Scene (вернитесь и посмотрите на рисунок 28.4). Когда вы начнете визуализацию, объекты, у которых свойства установлены для размывания, станут подвергаться данному эффекту.

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

Durafion Subdivisions

Значение поля Duration Subdivisions представляет число копий для визуализации в каждом кадре. Число, введенное в данное поле, играет критическую роль для успешного эффекта. Если число слишком маленькое, копии окажутся полностью раздельными - получится эффект под названием стробирование (strobing). Если число слишком велико, копии будут наползать одна на другую и результат окажется похож скорее на сплошную полосу, чем на размытое движение. Кроме того, визуализация копий размывания движения требует времени. Визуализация большего количества копий, чем необходимо, для длинной анимации приведет к потере значительного времени.

3DS МАХ налагает ограничение в шестнадцать копий. Вы можете высчитать подходящее начальное значение, воспользовавшись следующей формулой:

Duration Subdivisions >= (distance/size I/overlap

Ниже описаны переменные формулы:

  • Distance (расстояние). Расстояние, которое объект проходит с параметром Duration. Вообще говоря, если Duration установлен в 1.0, расстояние равно расстоянию, проходимому за кадр. Если Duration установлено в 0.5, расстояние равно расстоянию, проходимому за полкадра.
  • Size (размер). Длина объекта вдоль линии движения.
  • Overlap (перекрытие). Значение между .0 и 1, управляющее тем, насколь сильно копии перекрывают друг друга. Чем меньше значение перекрытия, тем больше копии перекрывают одна другую. Значение перекрытия обычно должно не превышать 0.5. Любое большее значение приводит к тому, что объекты будут казаться разделенными-

Рисунок 28.6 показывает размытый мяч со стробированием, являющимся результатом слишком маленького значения, введенного в поле Duration Subdivisions.

Экземпляры

Samples (экземпляры) управляют величиной прореживания, выполняемой для копий. По мере уменьшения данного значения экземпляры случайно выбираются из Duration Subdivisions. Чем ниже значение, тем меньше экземпляров выбирается, соответствуя менее дифференцированным объектам (выглядящим зернисто или разрежено). Самое нижнее допустимое значение 1 приводит к максимальному прореживанию. Максимально допустимое значение равно значению Duration Subdivisions и порождает больше копий, кажущихся полупрозрачными. Таким образом достигается более гладкий тип размывания.

Duration

Duration (продолжительность) управляет количеством движения, применяемым к визуализации каждого кадра. Руководство пользователя 3D Studio MAX описывает Duration как количество времени, в течение которого затвор камеры открыт. Обратитесь к предыдущему разделу "Duration Subdivisions", где приведено описание того, как вычислять расстояние, проходимое при данном значении поля Duration Subdivisions. Количество копий, заданное в поле Duration Subdivisions, распределяется по расстоянию, покрытому в количестве кадров, указанных в поле Duration. Значение Duration может быть меньше 1, что означает сжатие копий в расстояние, меньшее покрываемого одним кадром.

Интересное замечание относительно размывания движения объектов касается того, где размещаются копии. Копии распределяются по расстоянию, указанному значением Duration, и затем центрируются в позиции объекта в данном кадре. Это означает, что когда вы смотрите на размытый образ, порожденный размыванием движения объекта, настоящая позиция объекта находится в центре эффекта размывания. Рисунок 28.7 показывает неразмытый мяч, связанный с его размытым образом.

Размывание движения сцены

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

Параметры размывания движения сцены

Размывание движения сцены применяется в Video Post. Им можно управлять через значения в диалогах Add или Edit Scene Event в области Scene Options (см. рис. 28.8).

Эффект размывания движения сцены включается флажком. При установленном флажке все объекты в виде событий Scene подвергаются эффекту размывания - включая материалы, но исключая карты Environment и родительские события, действующие в Scene, подобные композиции слоев или фильтрам. Поле Duration Subdivisions определяет количество копий для визуализации. Значение Duration работает одинаково как для размывания движения объекта, так и для размывания движения сцены. По умолчанию для размывания движения сцены Duration устанавливается в 0.5 или половину умалчиваемого значения размывания движения объекта. Такое значение предполагает, что размывание движения сцены будет стратегически привлекаться к созданию ощущения движения, включая явное движение камеры, происходящее в течение кадра (см. следующий раздел). В сочетании с размывание движения сцены доступна опция прореживания. Прореживание здесь является методом сглаживания краев между перекрывающимся избыточным цветом областей в кадре. Пикселы смешиваются так, чтобы края объектов казались слитыми друг с другом. Поле Dither % устанавливает процент прореживания, применяемый к копиям, созданным размыванием движения сцены. Значение 0 порождает полупрозрачные копии, а значение 100 полностью прореживает копии, порождая определенные края внутри размывания.

Копии размывания движения сцены

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

Объединение размывания движения сцены и объекта

Лучший общий результат можно получить за счет объединения размывания движения объекта и размывания движения сцены. Используйте Scene Motion blur для обеспечения общего эффекта размывания и Object Motion blur для достижения дополнительного прореживания между копиями Scene Motion blur.

Объединяя Object Motion blur и Scene Motion blur, следует иметь в виду эффект, оказываемый на значение Duration. При объединении Object Motion blur и Scene Motion blur значение Duration применяется к расстоянию между копиями Scene Motion blur, а не к расстоянию между кадрами. Таким образом, когда объединяются эффекты размывания движения, то значение Duration Subdivisions для Object Motion blur должно быть низким, а значение Duration - обычно 1.0 или меньше.

Использование событий Image Input

Событие Image Input может содержать любой файл образа или устройство, поддерживаемое 3DS МАХ, включая файлы AVI, FLC, IFL, последовательно пронумерованные или единичные файлы битовых карт и файлы, размещенные на устройствах, подобных Digital Disk Recorder (DDR). Имя, формат параметров и положение образов сохраняется в 3DS МАХ файле -ив независимом файле VPX.

Для создания одного файла, который включает серии файлов с пронумерованными образами, следует использовать глобальные символы, идентифицирующие и генерирующие файл Image File List (IFL). Например, введите первые несколько символов имени серии файлов с последующей звездочкой. 3DS МАХ создаст файл, который начинается с желаемых символов, в конце разместит четырехзначный номер и в качестве расширения имени файла добавит IFL. Файл IFL автоматически разместится в том же каталоге, что и перечисляемые им файлы. Имя файла IFL загружается в диалог Event как входной файл, и метка события в очереди будет отражать его положение и имя. Если имеется анимация или файл списка, подобный IFL, AVI или FLC, количество кадров анимации будет появляться в трех местах: параметрах Video Post Start Time и End Time в Video Post, полях статуса в нижней части окна и линии диапазона для данного события, где кадры представлены графически.

Если необходимо установить специальное значение гаммы для битового образа, нажмите кнопку Gamma в Browse Images для диалога Input. Закладка Gamma диалога Preferences предоставляет возможность глобально корректировать Input Images. Для объединения с Video Post выделите в 3DS МАХ Preferences флажок Enable Gamma, установите правильно гамму дисплея и стратегически планируйте изменение гаммы в событиях Image Input и Output. Сказанное особенно верно при использовании образов, ассоциированных с устройствами, подобными DDR.

СОВЕТ

При редактировании события Image Input путем изменения информации в Browse Images поддиалога Input (например, положение, формат или параметры Gamma), 3DS МАХ будет устанавливать Video Post-параметры Start и End Time в значения по умолчанию- Можно потерять ряд очень точных параметров диапазона, поскольку параметры по умолчанию не только будут изменять общую длину диапазона, они вероятно удалят событие из относительного положения во времени, разместив событие в начале анимации. Наиболее консервативная практика заключается в отдельном хранении упорядоченного списка всех параметров, в частности параметров Video Post Start Time и End Time. Одна стратегия заключается в создании в очереди полностью нового автономного события, ссылающегося на значения параметров, которые необходимо редактировать. Используйте инструмент Swap для замены оригинала и инструмент Delete для его удаления вслед за Swap,

Во время визуализации имеется возможность выровнять и изменить размеры вводных образов. Если данные образы являются файлами анимаций или последовательностями, укажите, какие кадры включать. Подобное осуществляется путем ввода значений в диалог Add или Edit Image Input Event, поддиалог Options (см. том 2 Руководства пользователе. Композиционные эффекты, подобные размещению 2D-cмeщeннoй анимации на сцене, аккуратное размещение масок и вытягивание и сдавливание - все это можно получить при помощи данного приема.

СОВЕТ

Помните о том, что Alignment offsets to Custom Sized images обладает одной относительно непонятной характеристикой. Она проявляется тогда, когда размер Output в диалоге Execute Sequence является таким же, как размер Image Input, или размер, задаваемый полем Custom, совпадает с размером Output. Несмотря на то, что выбран Preset или введен Coordinate offset в области Alignment, 3DS МАХ будет центрировать выравнивание Image Input того же размера, что и Renderes Output. Обходной путь заключается в увеличении размера Rendering Output на один пиксел в каждом направлении или вводе пользовательского размера с разницей в один пиксел в диалог Image Input Options так, чтобы смещение исходного образа возымело действие.

Работа с фонами

Video Post не имеет непосредственного доступа к образу Background, который можно позиционировать во Viewport и использовать для ротоскопирования - конструируя сцену на фоновом образе. Существует несколько способов включения данного образа в визуализацию Video Post. Можно использовать механизм Environment для проецирования образа фона на карту Screen Environment. Зате"! образ включается в событие Scene в Video Post и соответствующим образом визуализируется. Однако, если необходимо использовать данный образ (или анимацию) в качестве композиционного элемента в Video Post, образ должен добавляться отдельно как событие Image Input. Если фон является анимацией, последняя синхронизируется с очередью, управляемой в диалоге Input Image Event/Options.

Вообще говоря, если вы не будете применять эффект к фоновому образу с использованием Material Editor или Environment (матовые или теневые материалы, например), то для позиционирования образа в качестве фона можно просто добавить фон как событие Image Input в Video Post, используя Alpha Compositor в событии Layer. Битовая обработка образа, подобного событию Video Post, весьма целенаправленна и занимает меньше времени при визуализации. Если фон статичен, образ при визуализации можно кэшировать и тем самым дополнительно сэкономить время визуализации. Обычно для этой цели конструируется событие Layer, объединяется фоновое событие Image Input с последующим событием Scene или другим Input Image с альфа-каналом.

Использование событий Filter и Layer

Как утверждалось ранее, события Filter и Layer попадают в широкую категорию событий Effects. Данные события обычно воздействуют на другие события (события Input - Scene и Image). Немного непонятно, как очередь обрабатывает эти эффекты, в частности порядок, в котором они обрабатываются, и способ, в соответствие с которым прозрачность используется в образе, содержащем альфа-канал. Здесь также следует визу-ализировать отдельные кадры сложных очередей в буфер Virtual Frame, наблюдая за изменением поля диалога Current Task (текущая задача). Наблюдение поможет понять порядок визуализации фильтров, масок и композитов.

СОВЕТ

Если удалить дочерний элемент событий Filter или Layer, родитель также удалится. При наличии нескольких вложенных событий удалится вся линия предков до корня или высшего уровня. Корневые разделы очереди можно скопировать, используя клавишу Ctrl и транспортируя корень в точку вставки в очередь. До того, как отпустить клавишу Ctrl, убедитесь, что нет подсвеченных событий. Нажмите клавишу и затем щелкните мышью на корне. Транспортируйте выборку в позицию вставки. Все дочерние элементы родителя будут скопированы в очередь. Если требуется просто заменить детей, добавьте в очередь новое дочернее событие как автономное, затем поменяйте его (используя инструмент Swap) с ненужным событием. Впоследствии автономное событие можно удалить или переименовать, не теряя иерархии.

Стратегии для использования событий Filter

События Filter применяются в Video Post для производства специализированных фотографических эффектов, подобных искажению объектива, постеризации (уменьшению количества цветов в образе), свечению, и других общих манипуляций с образом. Вообще и в частности с подключаемыми фильтрами Adobe Photoshop события Filter визуализируют эффекты во временный образ, предоставляя возможность обработать каждый пиксел в соответствии с установленными параметрами.

С подключаемыми фильтрами Photoshop появляется ограниченная возможность предварительного просмотра эффекта - либо с Video Post замещающим образом, либо с файлом, определенным пользователем. В любом случае способность предварительного просмотра точного влияния фильтра на события в очереди во время установки недоступна. Не забывайте координировать замещающий образ или образ, определенный пользователем, с Output Size очереди Video Post. Значение Output Size видно в последних двух полях Status в нижней части окна Video Post.

Использование событий Layer

События Layer предоставляют возможность комбинировать два события относительно друг друга. Например, событие Alpha Compositor Layer распознает значения прозрачности второго дочернего элемента так, что значения из первого дочернего элемента остаются видны. Поскольку одновременно можно наслаивать только два образа, нетрудно конструировать очень глубоко вложенные иерархии событий Layer. Процессом наслаивания очень трудно управлять, особенно когда события случаются "позже" в Video Post, но с иерархической точки зрения в очереди размещаются "перед" другими событиями. Поначалу может показаться нелогичным, например, что такое событие, как Simple Wipe Layer, для анимации в Tutorial 19 является родителем корневого уровня для других событий Layer, которые в Video Post времени идут раньше.

Это возвращает к метафоре проектора слайдов, описанной в главе ранее. В предыдущих обстоятельствах событие Simple Wipe Layer действует на два дочерних события Layer. Вместо этого возникало искушение разместить событие Simple Wipe Filler на. втором дочернем элементе, событии AlphaCompositor Layer, содержащем конечный заголовок. Но лампа проектора слайдов не смогла бы просветить непрозрачную часть события Simple Wipe Filter, поскольку данный фильтр не может распознавать альфа-прозрачности в своих детях. Фильтр не создает прозрачного окна ввиду того, что он "рисует" черноту из своих дочерних образов. Фильтр отрисовывает комбинацию черных пикселов из конца заголовочного образа и пикселы из непрозрачного композита. При визуализации Plate будет очищать вид, но Tower Scene окажется скрытым. Однако событие Simple Wipe Layer обладает свойством трансляции пустой дорожки в качестве прозрачной и "рисует" пикселы конечного заголовка по мере их вытирания. Лампа просвечивает сквозь Tower Scene до тех пор, пока не выполнится непрозрачное вытирание.

Управление Alpha

Файлы цветных битовых образов, такие как TARGA (TGA), имеют различные битовые глубины, например 8, 16, 24 и 32 разряда на пиксел. В 32-разрядном файле истинного цвета каждый пиксел в образе имеет четыре канала, описывающих образ - RGBA, т.е. Red-Green-Blue-Alpha. Три канала - Red, Green и Blue - охватывают источник создания полного спектра цветовых оттенков. Каналы Red, Green и Blue для описания каждого пиксела в образе используют по 8 бит памяти каждый (3 х 8 = 24 бита на пиксел). Например, чисто зеленый пиксел имеет значения RGB, составляющее 0, 255, 0. Каждый восьмиразрядный канал представляется числом 0-255, поскольку в строке из восьми битов существует 256 возможных комбинаций нулей и единиц (2х2х2х2х2х2х2х2).

Об Alpha в простейшей форме можно думать как о еще одном канале. Он представляет уровень прозрачности посредством еще 8 разрядов памяти для каждого бита образа. Предположим, что визуализируется плоский белый круг на черном фоне, используя для круга на 50% прозрачный материал. Когда Renderer сталкивается с пикселом, попадающим внутрь круга, то он записывает в 32-разрядный файл образа для этого пиксела значения 255, 255, 255, 128 или 8 разрядов для каждого канала. Данные значения уведомляют программу о необходимости отобразить пиксел в виде смеси красного полной интенсивности, зеленого полной интенсивности и голубого полной интенсивности (белый) и предоставить возможность каждому образу ниже данного пиксела быть на 50% видимым - т.е. черный фон, проглядывающий сквозь белый круг, породит серый. Достоинство подобного представления состоит в том, что теперь можно накладывать полупрозрачный круг на любой образ в Video Post, например на облачное небо, и видеть сквозь круг облака.

СОВЕТ

3D Studio MAX создает образы в файлах форматов TGA, RLA и PNG. При первом выводе в 3DS МАХ битового образа автоматически появляется диалог Setup. В диалоге предоставляется возможность определить, будет ли альфа-канал включаться в файл. 3DS МАХ запоминает последнюю установку, введенную для конкретного формата. В диалоге Browsing Image for Input можно выделить любой файл и нажать кнопку Info для просмотра деталей, связанных с файлом. Здесь можно быстро рассмотреть, содержит ли файл альфа-канал. Выбрав View, вы перенесете файл в буфер кадра и изучите альфа-канал.

В Video Post можно воспользоваться преимуществами альфа-канала внутри битовых файлов, указав параметры из событий Filter и Layer. Например, событие Alpha Composite Layer предоставляет возможность объединить два выделенных события путем распознавания альфа-канала второго из двух образов. Если вспомнить слайды, альфа можно считать непрозрачностью образов на слайде. Некоторые образы непрозрачны, другие же полупрозрачны или прозрачны.

Не все образы обладают информацией альфа - подобную возможность имеют только 32-разрядные файлы истинного цвета. По этой причине предоставляется широкий набор методов создания и использования альфа-информации для эффектов Video Post. Например, событие Pseudo Alpha Filter берет верхний правый пиксел RGB не-альфа файла и конвертирует все идентичные пикселы в образ с полностью прозрачным альфа.

В дополнение к способностям некоторых событий Layer и Fileter распознавать и использовать альфа-канал в файлах, па которые они непосредственно воздействуют, ряд событий обеспечивают механизм Mask, предоставляющий возможность использовать альфа-канал другого файла для формирования пользовательской области прозрачности (см. рис. 28.10). Здесь можно определить, как эффект Mask применяется в очереди. Имеется возможность инвертировать Mask и использовать другие каналы в буфере Graphics (G-буфере) для управления эффектом Mask.

В случае щелчка в диалоге на флажке справа от раздела Mask возникает список битовых каналов, один или все из которых могут содержаться внутри исходного образа. Это те каналы, которые 3DS МАХ поддерживает в настоящее время для целей создания маски. 3DS МАХ может выводить файлы как с 16-разрядными каналами RGBA, так и уникальные 3D-KaHanbi, подобные Z-буферу и каналам идентификации объекта или материала. Механизм маски использует некоторые из уникальных каналов для создания своих эффектов. Наиболее распространена маска Alpha-канала. Она создаст маску из альфа-канала исходного битового образа.

Если в качестве исходных данных для маски выбирается канал Red, Green или Blue, то маску формирует двоичное значение (0-255) каждого пиксела данного канала, где 0 ~ полностью прозрачен и 255 - полностью затемнен. Точно так же для создания маски можно использовать информацию глубины Z-буфера или канальных идентификаторов материалов и объектов в исходных файлах RLA. Например, можно вывести маски, созданные 3DS МАХ для файла типа RLA, и реализовать их позже в композициях Video Post.

Можно использовать уникальную способность 3DS МАХ порождать трехмерные маски. Предположим например, что имеется ландшафт, похожий на файл образца wheatfld.tga. Требуется поэкспериментировать с трехмерным объектом, появившимся в небе. Используя следующую технологию, можно смешивать и сопоставлять объекты и текстуры без проецирования материалов.

Прежде всего добавьте к очереди Video Post два события Image Input. В качестве первого входа добавьте образ ландшафта. В качестве второго - образец карты текстуры - например, asphalt2.jpg. У карты текстуры пет альфа-канала, но путем применения к карте текстуры фильтра Image Alpha и идентифицируя маску фильтра, состоящую из информации Z-буфера специального битового файла (RLA), можно объединить текстуру с ландшафтом, используя Alpha compositor (Layer Event). Фактически вы проецируете трехмерную текстуру на фоновый ландшафт.

Применяя нашу прежнюю аналогию с проектором слайдов, данная очередь создает специальный слайд (текстуру с фильтром маски). Когда свет от лампы проектора просвечивает специальный слайд, свет блокируется трехмерным образом (объектом текста). Фильтр Alpha Image создает альфа-канал для текстуры, состоящий из специальной маски и объекта текста, который визуализирован 3DS МАХ в файл RLA. Используя в качестве маски канал Z-буфер файла RLA, фильтр Alpha Image рисует на слайде трехмерную текстуру. Лампа проецирует свет только как часть текстуры, замаскированной в соответствии с глубиной объектной информации в исходном файле RLA. Событие Alpha Compositor Layer применяемое к двум образам Input, использует проекцию фильтрованной текстуры (распознавая Image alpha текстуры) для объединения маски и битовой карты ландшафта. Рисунки 28.11 и 28-12 демонстрируют образ, используемый для маски Z-буфера, и окончательный комбинированный образ.

Использование событий Loop и External

События Loop обеспечивают повторение кадров и реверсирование направления (пинг-понг) отдельных дорожек и целых последовательностей. Хотя ограниченное зацикливание доступно и в событиях Image Input, можно использовать событие Loop для зацикливания композиций и создания тем самым необычных образов и движения.

Для примера предположим, что к очереди добавлено событие Scene, состоящее из 100 кадров, и требуется, чтобы событие повторялось трижды. Если изменить VP End Time на 299, анимация просто остановится на кадре 99 и Video Post будет визуализировать кадр 99 для оставшейся длины линии диапазона. Вспомните, что при изменении Scene Range на значение, отличающееся от Video Post Start и End Times, Video Post добавляет или сбрасывает кадры, создавая тем самым эффекты медленного или быстрого движения. Таким образом единственным способом повторения события Scene, отличным от многократного добавления сцены в очередь и соединения дорожек Event, заключается в использовании события Loop. Задействуйте событие Loop для управления началом и концом повторяющихся кадров, транспортируя линейку диапазона относительно его дочернего события. Поэкспериментируйте с данной возможностью для достижения интересных циклов и эффектов пинг-понг.

Как упоминалось ранее, события Input Image будут зацикливаться при установленном флажке Loop диалога Options. В противном случае Input Image будет вести себя подобно событию Scene, повторяя последний кадр в течение линии диапазона Video Post.

Посредством события External появляется возможность вставки в очередь Video Post других приложений или собственных пакетных файлов. Это то, как обычно будут обрабатываться события Output с использованием конвертирующего приложения, которое принимает параметры командной строки, например Image Alchemy или PKZIP. Здесь также можно разместить обработку, записывающую файлы, используемые в последующих событиях. Для приложений DOS, подобных PKZIP, обязательно создавайте файлы PIF и используйте их в качестве файлов событий External.

Управление Composite Output

В общем случае события Output являются автономными событиями в очереди и как правило последними. Множественные выводные события можно использовать для одновременного порождения последовательных файлов и цифровой анимации, например AVI-файлов. В отличие от событий типа Input или Effects, воздействующих на другие события, событие Output становится дочерним по отношению к событию, на которое воздействует. А раз так, оно будет записывать файл, объединяющий информацию, которая была обработана до точки в очереди, в которой размещен родитель. Эта точка может, например, представлять неполную композицию альфа. Добавление событий Output в очередь подобно вставке лампы в проектор слайдов в середине стопки слайдов. Слайды (события), попадающие за пределы лампы, никогда "не увидят света".