Обо всех возможностях этой программы я рассказывать не буду, так
как только начал ей пользоваться. Но главные темы мы рассмотрим. А
самое главное это то, что с помощью этой программы можно конвертировать
Avi в Roq. И запихнуть любимый фильмец, если только будет желание ждать
конвертации :)
Как создать ролик с расширением .roq из avi?
1. Нам понадобится уже заготовленный ролик с расширением .avi,
желательно небольшого размера, так как от большого количества фреймов
увеличится время преобразования AVI в RoQ. К этому видеофайлу лучше
применить компрессию DivX MPEG-4 Video Codec (24bit) – только
желательно раннюю версию, так как конвертеры нового образца эта
программа не воспринимает. Это также относится и конвертерам типа Xvid.
Лично у меня прокатило только с установкой пакета DivX 3.22b.
Конвертировал я всё это дело в проге Rad Video Tools. Конвертируем без аудио.
2. Ещё нам понадобится заготовленная аудиодорожка с расширением ogg
или wav. Которая должна совпадать со временем проигрывания видеофайла –
для синхронизации. Её лучше дёрнуть из AVI какой нибудь прогой типа VirtualDub. При этом изначально к видеофайлу не применять кодеки. Сначала дёргаем звук, потом идём конвертировать видео.
Когда все материалы подготовлены – открываем прогу:
1) Создание RoQ из Avi
Создаём новый проект.
File\New:
В списке слева появится новая сцена
Ищем справа большую кнопку Wizard…
Прожимаем её и получаем новое меню:
Здесь включаем меню Import an frame animation file и жмём Next
Step… В следующем меню выбираем кнопку Browse… ищем в директориях свой
avi, выбираем и жмём кнопку Открыть, а затем Next Step… и наконец-то
кнопку Finish. Этой операцией мы подключили к нашей сцене видеофайл в
формате AVI.
Ищем справа большую кнопку Scan frames
Сканируем количество фреймов. После окончания сканирования
произойдёт загрузка видеофайла в меню справа Sequence Preview. И вот
здесь самое время вспомнить про кодеки. Если видеофайл не загрузится,
значит, проблема в кодеках. Попробуйте переконвертировать AVI,
используя кодеки более ранних версий.
В этом меню можно установить начало и конец фреймов. Допустим нам
нужно, чтобы наш видеофайл начинался с 80-го фрейма, а заканчивался
300-м фреймом. Для этого отодвигаем бегунок просмотра право до 80-ого
фрейма и жмём кнопочку Mark Start – это начало нашего ролика. Ещё раз
двигаем вправо до 300-ого фрейма, жмём кнопочку Mark End – это конец
нашего ролика. Для этой функции нужно снять галочку у Preview Selection
Only.
Все операции сохраняются кнопкой Apply, расположенной внизу редактора. Иначе сконвертируется пустой файл.
Далее следуем в меню Movie Settings
В этом меню мы устанавливаем размер изображения ролика и количество fps.
Атрибуты ролика:
Fps – 30
Width – 512
Height – 384
Если не придерживаться этих правил, то конвертация будет невозможна или ролик будет очень быстрым.
Переходим к генерации ролика. Открываем новое меню Generate Movie
Имя файла: задаём любое имя
Тип файла: RoQ files
Жмём Сохранить.
В следующем меню RoQ parameters выставляем качество на среднее или
высокое, чем выше, тем больше ждать конвертации. Жмем Ok и ждём
окончания процесса. А это может затянуться надолго.
Тестил на средней машине. У кого P4 ~2000 и один гектар памяти, могут сократить время вдвое.
Как создать деморолик игры с выбранной сценой?
Первый способ.
В обоих способах нам понадобятся скриншоты из сцен, которые мы преобразуем в формат RoQ.
Для создания ролика с использованием сцены из Doom3 нам понадобится сделать следующее:
В своём autoexec.cfg нужно написать новые строчки:
seta com_aviDemoHeight "256" // высота скриншота
seta com_aviDemoWidth "256" // ширина скриншота
seta com_compressDemos "0" // отключить компрессию, если включена
Загружаем Doom3. В меню игровых опций отключаем показ оружия и Hud. Грузим карту. Примечаем сцену и идем в консоль.
В консоли применяем команды:
recordDemo // начать запись деморолика
stopRecording // остановить запись деморолика
Для удобства эти команды лучше прикрепить к кнопкам, а для ощущения полёта камеры применить дополнительную команду noclip.
После остановки записи будет создан новый файл в base\demos с расширением .demo – это и будет наш деморолик.
Имена для этих файлов будут даваться автоматически, первый
созданный файл будет с именем demo000, следующий demo001 и так далее. Узнав точное имя созданного файла, возвращаемся в игровую консоль и конвертим наш ролик с помощью новой команды:
aviDemo demo001 // после названия команды пишем имя деморолика.
Будут созданы скриншоты для каждого фрейма из сцены отснятого
деморолика. Один звуковой файл wav – звук из сцены во время демозаписи.
И один файл .roqParam (его удалить) с параметрами для RoQ Program – что
это за прога я опишу ниже. А так все созданные материалы находим в
base\demos\demo001 – какое имя было у демо файла, такое имя будет и у
папки со скриншотами и звуком.
Поговорим об этой программе поподробней. Эта прога – аналог нашей
программы (Quake Video Maker), только работает под Dos (подойдёт
эмуляция под Windows – Пуск\Программы\Стандартные\Командная строка).
Называется он roq.exe и подойдёт даже от Quake3. Короче, это дедовский
и надёжный способ от разработчиков. Найти его можно в каком-нибудь SDK
от IdSoftware.
Как его использовать?
Закидываем этот roq.exe в папку со скриншотами, и создаём там же новый файл с расширением .param, открываем его и пишем в нём:
INPUT_DIR C:\doom\base\demos\demo001 // где лежат скриншоты
FILENAME C:\doom\base\demos\demo001\mynewvideo.RoQ // куда
будет создан файл, расширение немного отличается от Quake Video Maker –
(.roq), но ничего страшного в этом нет. Папка для файла должна
соответствовать названию папки, где лежат скрины.
INPUT
demo001_*.tga [00000-00384] // в сцену будут входить скриншоты с начальным именем demo001_ с 0 по 384
END_INPUT
Сохраняем под любым именем, например, test_screen.param
Переходим в сеанс Dos. Пишем вот такую команду:
roq test_screen.param // этим действием мы запускаем roq.exe, который считывает информацию из созданного нами файла test_screen.param
Жмём Enter и ждём окончания процесса. Файлы с расширением .cb можно удалить.
Так что вывод один – здоровые деморолики лучше не писать, а то замучишься разгребать кучу скринов.
Второй способ.
Вернёмся к нашей программе Quake Video Maker, так как она тоже
умеет преобразовывать из скриншотов один видеофайл (RoQ). Используем
её, если есть в наличие скриншоты из игры.
Создаём новый проект.
File\New. Ищем справа большую кнопку Wizard… далее Import a still
image\NextStep…\Browse…\ открываем первый скриншот – с него будет
начинаться первый кадр ролика \NextStep…\Finish
Далее
В этом меню исправляем строчку demo001_00000.tga на эту
demo001_#####.tga – это значит, что в нашу сцену будут входить все
скриншоты из папки C:\doom\base\demos\demo001 и у которых имя начинается как demo001_
Должно получиться вот так:
Жмём кнопку Scan frames, и дальше всё как с AVI файлом. Только
загружаем скрины вместо AVI в Sequence Preview, потом используем меню
Movie Settings и так далее…
Что делать дальше, когда есть в наличии ролик .roq?
Ну что ж, если всё прошло успешно и есть в наличии roq с отдельным
звуком, то приступаем к подключению этих материалов к нашим картам. Создаём папку video в папке base. И закидываем туда наш созданный файл .roq
Пишем новый .mtr файл:
mynewvideo // любое имя, к которому в дальнейшем будут обращаться функции (Gui. Videocd)
{
translucent
{
videomap "video/mynewvideo.roq" // директория, в которой лежит наш видеофайл
linear // вкл. трилинейную фильтрацию
}
}
Сохраняем в base\materials\ любое имя, кроме оригинального .mtr
Пример: base\materials\newvidmaterial.mtr
Звуковую дорожку закидываем в base\sound
Но чтобы её услышать и вообще использовать, пишем звуковой шейдер.
sound_for_video // любое имя, к которому в дальнейшем будут обращаться функции
{
onDemand
sound/newsound.wav // куда закинули звучок
}
и сохраняем в папке sound с любым именем кроме оригинала с расширением .sndshd
Пример: base\sound\mynewsound.sndshd
Для отображения роликов в Doom3 нам потребуется создать Gui.
Создаём в папке base\guis\ файл с расширением .gui и любым именем.
Наполняем его вот этой информацией – я взял начинку из
оригинального материала. И здесь нас интересует всего две строчки, а
остальные – это стандартный набор материалов: окантовка, отражение,
линии от сканирования, в общем, суповой набор для монитора:
windowDef Desktop
{
rect 0 ,0 ,640 ,480
nocursor 1
windowDef Bg
{
rect 10,10,618,456
background "guis/assets/cpuserver/bgWhite4"
matcolor 0,0,0,1
visible 1
}
windowDef Movie
{
rect 31, 24, 577, 428
background " mynewvideo " // имя строчки находящейся в .mtr файле
matcolor 1, 1, 1, 1
visible 1
Сохраняем в районе base\guis\ любое имя, кроме оригинального .gui
Пример: base\guis\mynewgui.gui
Как использовать в редакторе?
Открываем редактор и карту. Экран делаем из Patch\ Simple Patch
Mesh, накладываем текстуру textures\common\gui и придаём этому объекту
func_static. Через меню Entity\Gui… выбираем выше созданный Gui
(mynewgui.gui). Добавляем этой функции ключи:
key: s_waitfortrigger // ролик запустится, когда мы нажмём
на триггер, а так у нас на мониторе будет заставка из рисунка, который
мы обозначили в выше созданном gui в строчке "guis/assets/marscity/uac.tga"
val: 1
Устанавливаем на карте trigger_once, выделяем его, а потом выделяем
экран и коннектим их между собой вот такой пальцовкой – Ctrl + K.
Компилим, загружаем, входим в область триггера и наслаждаемся
просмотром.
Как подключить .roq к videocd?
Пишем материал для Pda, так как просмотр videocd будет происходить именно через него.
video mynewvideo_for_cd {
name "Test Pershtein" // имя videocd в Pda
info "Creator: X-Ray\nDate: 05/07/06\n\nThe material is taken from a site www.pranks.ru" // создатель, дата и небольшая информация о файле
video "mynewvideo" // обращение к строчке для видео
audio "sound_for_video" // обращение к строчке для звука
preview "guis/assets/cpuserver/uac.tga" // заставка в Pda для videocd
}
Сохраняем в папке base\newpdas\ с раширением .pda
Пример: base\newpdas\mynewcd.pda
Устанавливаем на карте объект item_videocd с такими ключами:
key: video
val: mynewvideo_for_cd // имя строчки в материале для .pda
Подбираем Pda и наслаждаемся просмотром…
P.S.
Всё нормалёк, вот только запар в кодеках. Даже если и прокатит в Quake Video Maker, то в Doom3 всё может закончиться никак.
Хотелось бы повториться по поводу DivX 3.22b, с ним всё нормально пашет. За остальные кодеки я не отвечаю.
Звуковые дорожки можно использовать в двух форматах: ogg и wav.