|
В настоящее время большинство
мультимедиа-приложений включают
поддержку для создания и проигрывания
цифровых "фильмов" в форматах AVI (AVI)
и FLIC (FLC или FLI). Растущее число
приложений, особенно оперативные
броузеры, также обеспечивают поддержку
трехмерных объектов и анимации.
Специальные текстовые файлы ASCII,
содержащие Virtual Reality Modeling
Language (VRML), обеспечивают
стандартизованные методы для
представления ЗО-объектов и анимаций
внутри Web-страницы. Подобного рода
текстовые файлы имеют расширение WRL (от
"world").
3D Studio MAX полностью поддерживает
чтение и запись AVI и FLIC форматов,
включая поддержку нескольких кодов AVI
(алгоритмы компрессии-декомпрессии).
Kinetix также разработала подключаемое к
3D Studio MAX приложение для экспорта
сцен в виде файлов VRML. Для успешного
создания цифрового видео или
VRML-анимации необходимо понимать и
управлять ограничениями, присущими
форматам файлов и средам
воспроизведения.
Когда вы создаете анимацию для цифрового
воспроизведения, то сталкиваетесь с
широким кругом ограничений. Часть
необходимых для решения проблем включает
следующее:
-
Нормализация цветовой палитры на
множестве кадров
-
Выбор и конфигурирование
соответствующего кодера-декодера (codec)
-
Обход аномалий воспроизведения,
подобных видеоразрывам
-
Уменьшение размеров файлов и
количества многоугольников для
эффективного воспроизведения и
ускорения интерактивного
взаимодействия
-
Оптимизация презентаций для
соответствия выбранному методу
демонстрации
-
Планирование контрольных точек и
использование переходов
Управление палитрой
Важная проблема, которую приходится
решать при создании CD-ROM и ряда
оперативных анимаций, заключается в
работе с 265-цветной палитрой (8
разрядов). Некоторые заголовки CD-ROM
требуют отображения в 256 цветах или
предлагают 8-разрядные и выше параметры
конфигурации глубины цвета. Типичная
плата графического дисплея конечного
пользователя может поддерживать только
256 цветов. В данном случае следует
определить стандартную палитру для
ранней опции. Двумд наиболее важными
вопросами, о которых следует помнить,
являются конструкция цветовой схемы и
устранение прореживания.
Вы должны внимательно планировать
выбираемые цвета и материалы 8-разрядных
образов. Когда доступны только 256
цветов, то от каждого цветового набора
необходимо получить как можно больше.
Для этого большая часть цветов и
материалов сохраняется в одном и том же
семействе цветов. Данное ограничение не
настоль серьезно, как можно подумать,
особенно когда разговор идет о теплых
тонах земли, холодных зелено-голубых
тонах и неуловимо серых. Вы обнаружите,
что работа в жестких рамках обостряет
ваше зрение и чувство цвета. Большинство
хороших цветовых конструкций работает с
ограниченной палитрой.
Следует не только справиться с цветовыми
ограничениями внутри одной палитры, но
также знать, как цвет выражается во
времени между сценами и в сочетании с
интерактивным выбором. Какие объекты
попадают в поле зрения, а какие
исчезают? Изменяется ли положение или
цвет источников света? Перемещается ли
анимация на другую сцену или она
встроена в Web-страницу, содержащую
собственные требования к цвету? Ответы
на подобные вопросы помогут выбрать
хорошую цветовую палитру.
Требованиями к изменению цвета можно
управлять с использованием 3D Studio MAX
для построения цветовой палитры.
Соответствие сцены и положения лучше
всего достигается путем создания
множества сцен с различными палитрами и
разработкой переходов между ними-
Встроенная анимация должна
координироваться с цветовой схемой
Web-узла.
Создание 8-разрядной цветовой палитры
Для визуализации пользовательской
палитры из анимации 3DS МАХ или из
последовательного файла в Video Post в
диалоге Render Scene или Video Post
Execute Sequence выберите формат файла
FLC (FLC или FLI) в качестве типа
выводного файла.
Вывод FLC предоставляет выбор из четырех
палитр - Low, Medium, Custom и Uniform.
Дополнительно имеется возможность
идентификации количества цветов, которое
3DS МАХ будет использовать из выбранной
палитры. Если выбрано менее 256 цветов,
конструируется оптимизированная палитра
Windows, а оставшиеся цвета заполняются
черным. Windows резервирует 20 цветов
для своих нужд, следовательно,
необходимо использовать палитру размером
236 (и менее) цветов для анимаций,
воспроизводимых в Windows.
Следующий перечень более детально
описывает параметры вывода:
-
Low.
Рассчитывает цвета для первого кадра
анимации и затем использует
полученный набор цветов для всех
последующих кадров. Установка Low
работает очень быстро, но порождает
ряд проблем. Во-первых и прежде
всего, если какие-либо объекты
отсутствуют на сцене в первом кадре,
их требования к цветам не
принимаются во внимание. Например,
представьте анимацию сквера. Имеется
ярко-зеленая трава, темно-зеленые
деревья и кустарник, коричневые
стволы деревьев и сияющее голубое
небо. Спустя несколько кадров в поле
зрения попадает красный детский мяч.
Откуда возьмется красный цвет? Если
производить визуализацию с
параметром палитры Low, красного
цвета не окажется. С цветом стволов
деревьев могут ассоциироваться
несколько теплых тонов, однако мяч
скорее всего окажется каким угодно,
только не красным.
-
Medium. Визуализирует каждый кадр со
своей собственной 256-цветной
палитрой. После завершения
визуализации 3D Studio MAX
просматривает все отдельные цветовые
палитры и строит одну палитру,
обслуживающую все кадры. Данная
опция работает очень хорошо и
обеспечивает практически лучшую из
возможных для анимации палитр.
Основной недостаток заключается в
медленной работе. После того, как 3D
Studio MAX визуализирует файл FLC с
отдельной палитрой для каждого
кадра, система должна переписать
каждый кадр, используя новую
цветовую палитру. Подобный процесс
требует значительного времени.
-
Custom. Требует, чтобы 3D Studio MAX
был обеспечен предварительно
определенной цветовой палитрой из
GIF-, FLC- или BMP-файлов. К счастью
3D Studio MAX поддерживает
инструменты, необходимые для
создания данной цветовой палитры.
Трюк связан с визуализацией
репрезентативного образцового набора
кадров и затем принуждения 3D Studio
MAX визуализировать всю анимацию в
пользовательской палитре, взятой из
образцовых кадров. Опция палитры
Custom используется чаще всего.
-
Uniform. Также визуализирует каждый
кадр, используя одну палитру, но в
данном случае визуализация
задействует общий куб цвета. Палитра
является системно сгенерированной,
однородно распределенной таблицей
цветов. Однородная палитра
обеспечивает использование каждым
кадром одних и тех же цветов,
поддерживаемых Windows.
Идентификация образцового набора кадров
производится посредством поля Every Nth
Frame в диалоге Render Scene или Execute
Video Post . Вводимое в данное поле
значение должно обеспечивать
визуализацию от 10 до 25% общего числа
кадров в анимации. Чем больше в анимации
кадров, тем большее число следует ввести
в поле Every Nth Frame.
ПРИМЕЧАНИЕ
Обязательно сохраните образцовый файл
FLC на диске и запомните его
расположение. Дело в том, что при
окончательной анимации будет выбрана
палитра Custom и образцовый FLIC
присвоен в качестве файла
пользовательской палитры. Если в
каталоге, из которого загружен файл МАХ,
или в каталоге пути Map FLC-файп
отсутствует, FLC не будет найден и 3D
Studio MAX отобразит диалог
предупреждения, приостанавливающий
процесс визуализации.
Для создания AVI-файла, применяющего
пользовательскую палитру, выведите сцену
как файл FLIC, использующий
пользовательскую палитру. Затем
задействуйте Video Post для
преобразования файла FLIC в файл AVI.
Обязательно уберите опцию прореживания в
закладке Rendering диалога Preferences.
Добавьте файл FLC в качестве события
Image Input и файл AVI в качестве
события Output. Выберите шифратор-дешифратор
Full Frame (Uncompressed)
и
Execute the sequence.
Теперь имеется файл AVI с управляемой
8-разрядной цветовой палитрой.
Работа с несколькими палитрами
Иногда анимации включают сцены, которые
круто изменяются как в смысле цвета, так
и в смысле освещения. Примером может
служить анимация, в которой происходит
переход из теплых и нейтральных тонов
жилой комнаты в яркий и цветастый
внутренний дворик. В подобных случаях
следует визуализировать каждую часть как
отдельный сегмент с собственной цветовой
палитрой. Попытка вместить широкий
диапазон цветов из обеих сцен в одну
палитру оставит обе сцены без
удовлетворительных для приемлемого
результата цветов. Точно так же, если
анимация будет занимать несколько сред
на Web-странице или несколько композиций
и ротоскопирований, следует использовать
для каждого условия пользовательскую
палитру.
Устранение прореживания
Как упоминалось ранее, при визуализации
в цифровой видеоформат, лучше всего не
использовать прореженный цвет. Для того,
чтобы 3D Studio MAX не прореживал цвет,
следует отметить флажок Paletted
(256-color) в разделе Output Dithering
вкладки Rendering диалога Preferences.
По умолчанию 3D Studio MAX прореживает
образы до 8-разрядного формата файла.
Для отдельных битовых карт это может
быть и прекрасно. Однако прореживание не
очень хорошо транслируется в файлы
цифрового видео, где подпрограммы сжатия
пытаются найти общие места в файлах,
включая избыточный цвет. Прореживание
сокращает полоса-тость объектов со
сплошной окраской, но мало что делает
для увеличения реализма образов
цифрового видео и к тому же существенно
увеличивает размер файла. Для повышения
реализма сцены используйте различные
технологии проецирования, поскольку
карты обычно предотвращают полосы лучше,
чем прореживание, и при этом не создают
файлов большого размера.
Еще одна причина избежания прореживания
во время визуализации файлов цифрового
видео заключается в трудности заставить
шаблон прореживания стоять неподвижно.
По мере того, как объекты двигаются по
сцене и изменяется освещение, шаблон
прореживания также изменяется. Иногда
изменения шаблона прореживания
происходят а гармонии с анимацией и
становятся едва заметными, но иногда
начинают жить на поверхности объектов
собственной жизнью.
Описанная выше технология палитры Custom
помогает минимизировать данный эффект,
но не может устранить его полностью.
Лучшие результаты получаются в случае
применения пользовательской палитры в
сочетании с использованием реалистично
отображаемых материалов и устранением
прореживания.
Что такое сжатие цифрового видео
Сжатие - это процесс удаления или
реструктуризации данных с целью
уменьшения размера файла. Когда 3DS МАХ
записывает визуализацию в файл типа AVI,
происходит сжатие информации каждого
кадра на основе выбора из списка
программно-управляемых
шифраторов-дешифраторов (кодеков).
Кодеки разделяются на три основных
категории. Прежде всего они являются
либо с потерей, либо без. Сжатие без
потерь сохраняет все данные образа,
обычно применяя технику под названием
Run Length Encoding (групповое
кодирование, RLE). RLE убирает
непрерывные области одинакового цвета,
помечая файл кодом, который
восстанавливает дублированный цвет во
время распаковки. RLE очень эффективен
для графики, сгенерированной компьютером
с большими областями одинаковых
пикселей, и не очень эффективен с
оцифрованным аналоговым видео и
фотографиями, поскольку такие образы,
как правило, содержат незначительное
количество областей непрерывного цвета.
Кодеки с потерями разработаны для
распознавания и постоянного удаления
информации образа, который скорее всего
не будет виден зрителю. Алгоритм
чувствителен к прореживанию и диффузии в
диапазоне кадров. Кодеки с потерями
имеют параметры качества, управляющие
величиной потерь (и, следовательно,
размером файла). Такие кодеки эффективны
при сжатии оживленной ЗD-геометрии,
скомбинированной с аналоговым видео.
Вторая важная категория кодеков касается
того, как сжатие подходит к целому кадру
- пространственно или временно.
Пространственное сжатие (spatial
compression) исследует каждый кадр,
распознает и удаляет деталь внутри
кадра. Временное сжатие (temporal
compression) сравнивает кадры во времени
с целью стратегического и постепенного
удаления данных. Важный вид временного
сжатия (покадровое дифференцирование) (frame
differencing) запоминает только
измененные пикселы информации из
последовательных кадров.
Наконец, кодеки поддерживают
определенную глубину пикселов и являются
платформо-специфичными. Некоторые кодеки
будут сжимать только 8 разрядов, другие
поддерживают 16-разрядное и 24-разрядное
сжатие. Некоторые воспроизводят только
Video for Windows. Декомпрессия (и
рекомпрессия) происходит при
воспроизведении фильма. Для этой цели
механизм View File в 3D Studio MAX
запускает Media Player MS Windows (NT
или WIN95).
Кодеки являются критичными, если
анимация воспроизводится с дисковода
CD-ROM или проигрывается с жесткого
диска. Выбираемый в выводе файла
визуализации в 3D Studio MAX кодек
влияет на визуальное качество и скорость
воспроизведения цифровой анимации.
Доступ к кодекам производится после
определения имени выводного файла с
расширением AVI и нажатии кнопки Setup в
диалоге File browsing.
Файлы AVI можно сжимать с использованием
любого из программных кодеков,
поступающих с Video For Windows. Скорее
всего с вашей операционной системой
установлен как минимум один кодек.
Другие кодеки устанавливаются с
мультимедиа-продуктами и броузерами
Internet. Можно также добавить в систему
кодеки от независимых разработчиков для
целого спектра форматов сжатия. Для
достижения необходимых для проекта
результатов разберитесь с тем, как
работают кодеки и побольше
экспериментируйте.
Распространенные кодеки и 3DS МАХ
Ниже перечислены несколько кодеков,
которые должны присутствовать в вашей
системе. Среди них кодек,
распространяемый Kinetix вместе с 3D
Studio MAX;
-
Microsoft Video 1.
Используйте данный кодек для сжатия
аналогового видео, например для
объединения сцены 3DS МАХ с несжатым
цифровым или аналоговым
видеозахватом. Хотя это и не самый
высококонфигурируемый кодек,
улучшение качества производится
посредством его временного ползунка.
Общее качество сжатия настраивается
в главном диалоге Video Compression.
-
adius
Cinepak.
Данный кодек с потерями используется
в основном для сжатия 24-разрядного
видео, которое в конечном счете
будет воспроизводиться с дисков
CD-ROM. (Одним из примеров является
анимация спрайтов.) По сравнению с
Microsoft Video 1 кодек достигает
более высокого уровня сжатия,
лучшего качества образов и более
быстрого воспроизведения, но его не
следует использовать для данных,
содержащих образы, сжатые с потерями
(такие как AVI, использованные в
качестве материала или фона). Данный
кодек конфигурируется для сжатия
черно-белого или цветного
изображения-Качество сжатия
настраивается в диалоге 3D Studio
MAX Video Compression.
-
Intel
Indeo Video R3.2.
Данный 24-разрядный кодек с потерями
сравним с кодеком Radius Cinepak.
-
Autodesk RLE.
Этот поставляемый Kinetix кодек
сжимает без потерь посредством RLE
24-разрядное видео, которое можно
также просмотреть при помощи
программного обеспечения Animator
Studio фирмы Autodesk. Используйте
данный кодек для большого
высококачественного 24-разрядного
видео, если хотите, чтобы информация
RGB не потерялась. Поскольку кодек
не удаляет информацию, его можно
эффективно применять для объектов, с
проецируемыми анимациями AVI или
FLIC.
-
Full
Frames (несжатый).
Это высококачественный, универсально
доступный метод для хранения
информации об анимации в потоке
данных. Данный кодек требует много
места на диске, но обеспечивает
удобства единственного
последовательного файла. Благодаря
совместимости между типами машин и
настольными видеоприложениями он
является весьма эффективным для
интерактивной мультимедиа-продукции.
Видеоразрыв
Видеоразрыв обозначает неспособность
аппаратного обеспечения поддерживать
необходимую скорость воспроизведения
анимации. Явление происходит в случае,
когда система не может прокачивать
информацию через графическую карту
достаточно быстро для того, чтобы не
отставать от движения объектов в
анимации. Можно наблюдать отображение
двух кадров одновременно. Верхняя часть
экрана показывает следующий кадр,
выглядит как нижняя часть – предыдущего.
Легкого и жесткого правила, которое бы
говорило о том, при каких
обстоятельствах возникает видеоразрыв,
не существует. Лучшее, что можно сделать
- это планировать для низшей типичной
системы, на которой будет проигрываться
анимация, и конструировать в
соответствии с качеством
воспроизведения.
Существует несколько правил, помогающих
уменьшить вероятность видеоразрыва.
Степень эффективности правил зависит от
понимания аппаратного обеспечения, на
котором будет воспроизводиться анимация.
-
Избегайте быстро двигающихся
объектов. Видеоразрыв является
прямым результатом скорости, с
которой компьютер отображает
единичный образ. Чем быстрее
двигается объект, тем больше
вероятность того, что он будет
разорван на части.
-
Избегайтедвижениявертикальныхребер.
Механика передачи видеоинформации
(слева направо и сверху вниз)
означает, что большие вертикальные
ребра, которые движутся по экрану
горизонтально, представляют худший
сценарий для видеоразрыва. Если
движение вертикальных ребер
неизбежно, как в архитектурных
проходах, попытайтесь уменьшить
область, которая может привести к
разрыву.
-
Используйте для проекта наименьший
приемлемый размер экрана. Чем больше
пикселов в образе, тем большее
количество данных участвует в
пересылке и, следовательно, тем
больше вероятность, что система
"захлебнется". Другими словами, если
320х200 клиента удовлетворяет, не
прибегайте к 1024х768.
-
Экспериментируйте с эффектами
размывания движения. Небольшое
размывание движения может увеличить
реализм движения и помочь
замаскировать видеоразрыв.
Размер файла
Все усилия по производству реалистичных
образов и обходу видеоразрыва пропадут
даром, если вы заставите систему
воспроизведения проигрывать анимацию с
диска, а не из памяти. Доступ к диску
настолько все замедляет, что анимация
будет похожа на старомодное слайдовое
шоу. Следует хорошо знать систему, на
которой будет проигрываться анимация и
затем разделить анимацию на сегменты,
помещающиеся в памяти системы.
В случае визуализации для
воспроизведения на другой системе,
необходимо решить, каковы минимальные
требования к памяти системы, выполняющей
презентации. Типичные домашние и
небольшие деловые PC имеют не более 8 Мб
памяти, а некоторые системы обходятся 4
Мб и даже менее- Сколько памяти для
хранения цифрового видео доступно на
самом деле, зависит от программы
воспроизведения и того, как
сконфигурирована память воспроизводящей
операционной системы. Единственный
способ делать какие-либо обоснованные
догадки в этом направлении заключается в
экспериментировании с системой, которая
сконфигурирована точно так же, как и
целевая машина. Конечно, визуализация
для воспроизведения происходит
исключительно на собственной системе,
задача существенно упрощается.
Цель состоит в конструировании такой
анимации, чтобы можно было поделить ее
на сегменты, помещающиеся в доступной
памяти. Размещение в памяти
предоставляет каждому сегменту
возможность выполняться настоль гладко и
быстро, как это только возможно, без
типичных частых пауз, которые возникают
при воспроизведении с жесткого диска.
Ключевым словом здесь является
"конструирование". Нельзя просто
порезать анимацию на куски подходящего
размера. Для успешной анимации
необходимо планировать, где будут
происходить разрывы сегментов и затем
расставлять эти разрывы в анимации в
такой последовательности, чтобы она
имела смысл.
Определение скоростей воспроизведения
Прежде чем планировать переходы и точки
разрыва анимаций, вы должны определить
окончательную скорость воспроизведения.
Обычно видеофайлы не проигрываются со
скоростью 30 кадров в секунду (frames
per second - fps). Пока оборудование для
проигрывания цифровых фильмов с такой
скоростью еще недостаточно
распространено. Более типичной скоростью
воспроизведения является 15-20 fps. По
умолчанию 3D Studio MAX визуализирует
файлы AVI и FLIC с 30 fps. Для настройки
частоты кадров своей анимации
используйте механизм Time Configuration.
Диалог становится доступен после
двойного щелчка на пиктограмме Time
Configuration в нижней правой секции
главного окна программы. Это как раз
справа от поля ввода кадра среди
элементов управления VCR.
ПРИМЕЧАНИЕ
Помните о том, что изменение частоты
кадров не изменяет общей длины (в
кадрах) анимации. Частота кадров ВЛИЯЕТ
на количество времени, которое займет
воспроизведение одного и того же числа
кадров. Так, если необходимо изменить
частоту кадров, но анимация все равно
должна проигрываться за определенный
период времени, то придется изменить и
длину анимации. Это можно выполнить за
счет параметра длины в диалоге Time
Configuration. Однако изменение данного
параметра просто обрежет первые и
последние кадры или растянет последний
кадр анимации. Для того, чтобы заставить
3DS МАХ действительно сократить или
растянуть анимацию путем добавления или
вырезания промежуточных кадров, следует
нажать кнопку Re-scale и изменить
параметры Start, End и Length (но не
длину кадра).
Планирование точек разрыва
В современном быстро шагающем мире
трудно привлечь чье-либо внимание более
чем на пять секунд. Смотря телевизор
проследите за тем, как часто меняются
сцены. Вы заметите, что изменение
происходит каждые три или пять секунд.
Если вы наблюдаете за музыкальным
видеосюжетом, сцены изменяются еще чаще.
Нередко музыкальное видео- или
коммерческое шоу меняет сцены через
каждые одну-две секунды. Путешествие в
Сети очень похоже на смену телевизионных
каналов. В любое время имеется
возможность прервать то, на что
смотрите, и перейти к совершенно новому
образу.
Хотя соображения изменения сцен и длины
фрагмента важны для хорошо
сконструированной анимации, они
становятся абсолютно критичными для
анимации, которую предполагается
использовать для записи и
воспроизведения в реальном времени. При
каждом изменении сцены в анимации
имеется возможность разорвать анимацию
на отдельные сегменты. Внимательно
управляйте данными изменениями сцены или
переходами, используя разрезы, затухания
и интерактивные паузы для того, чтобы
поместиться в ограниченные ресурсы
воспроизведения.
Использование переходов
Термин переход относится к любой смене
сцен. В фильмах и видео распространено
множество разных типов переходов, но два
из них очень важны для цифрового
воспроизведения - разрезы (cuts) и
затухания (fades). Разрезы в простейшем
смысле являются склейкой конечного и
начального кадров двух анимаций. Они
могут состоять из одних и тех же
элементов (включая объекты и материалы)
или быть полностью другими сценами и
образами. Затухания (fades) предлагают
постепенное представление образа (fade-in),
изменение одной последовательности на
другую (cross-fade) или завершение (fade-out).
Обе технологии полезны для поддержки
интереса к анимации и для идентификации
точек разрыва, разделяющих файлы
цифрового видео на сегменты. Однако
разрезы не настолько полезны как
затухания, поскольку быстрая смена одной
сцены на другую превосходит возможности
большинства систем. Вообще для того,
чтобы разрез правильно работал в течение
воспроизведения видео, оба сегмента
должны быть в памяти и принадлежать к
одной и той же цветовой палитре.
Разрезы и затухания являются одним
способом соединения сегментов анимации
вместе. Пауза - это период времени,
когда сегменты вводятся в память и
выводятся из памяти. Если выполняется
анимация не музыкального видеошоу и не
быстро текущего коммерческого
представления, различные паузы в
анимации необходимо планировать. Пауза
дает возможность зрителю прочитать текст
на экране, изучить сцену более
пристально или просто схватить и
проглотить последний сегмент анимации,
прежде чем переходить к следующему.
Скрытая польза от пауз заключается в
том, что они предоставляют шанс
освободить память от предыдущего
сегмента анимации и загрузить следующий.
Количество пауз, требуемое для загрузки
и выгрузки анимации, имеет прямое
отношение к объему памяти, доступной для
системы воспроизведения. Чем меньше
памяти доступно, тем больше пауз
требуется для перемещения сегментов в
память и из памяти - вот почему
требуется знать тип системы, на которой
воспроизводится анимация перед тем, как
начать составлять ключевые кадры и
визуализировать цифровое видео.
|