Doom3.ru





















    •  Главная

  •  Doom3-форум   •  Прислать новости




  •  Doom3-info



  



  •  Doom3: RoE



  



  •  Статьи



  



  •  Quake4



  



  •  Quake Wars



  




Реклама




Создание видеороликов из AVI и скриншотов

 13.08.2006  15:52  Автор: X-Ray

Для добавления своих видеороликов в Doom3 я использовал прогу под названием Quake Video Maker, а взял я её вот отсюда:

http://www.swift-tools.net/Quake/QVM/QVM-1.4.2-Setup.exe

Обо всех возможностях этой программы я рассказывать не буду, так как только начал ей пользоваться. Но главные темы мы рассмотрим. А самое главное это то, что с помощью этой программы можно конвертировать 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

onTrigger {
resetCinematics ;
resetTime "Anim" "0" ;
localsound "sound/newsound.wav";
// наша звуковая дорожка
}

}
windowDef RoqFile1
{
rect 31, 24, 577, 428
visible 1
background "guis/assets/marscity/uac.tga"
// изображение перед активацией ролика
matcolor 1,1,1,1
}
windowDef Anim
{
rect 0,0,0,0
notime 1

onTime 0 {
transition "RoqFile1::matcolor" "1 1 1 1" "1 1 1 0" "500" ;
}

onTime 58500 {
transition "RoqFile1::matcolor" "1 1 1 0" "1 1 1 1" "500" ;
}

}
windowDef Mask
{
rect 25 ,20 ,-590 ,440
visible 1
background "guis/assets/test/mask"
matcolor 1, 1, 1, 0.25
}
windowDef Outershadow
{
rect 24,19,-591,440
background "guis/assets/common/outershadow"
matcolor 1 ,1 ,1 ,1
visible 1
}
windowDef Addhighlight
{
rect 22,20,-596,440
background "gui/addhighlight"
matcolor 0.05,0.1,0.1,1
visible 1
}
windowDef Scanlines
{
rect 25 ,20 ,-590 ,440
matcolor 0.1,0.1,0.1,1
background "gui/test/gui_scanlines5"
visible 1
matscaley 2
}
windowDef Reflect
{
rect 30,19,580,448
matcolor 1 ,1 ,1 ,0.1
visible 1
background "gui/reflect1"
}
}



Сохраняем в районе 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.

Конвертируйте небольшие видеофайлы, пока учитесь.



Другие материалы рубрики:




Комментарии

#1  AntiEviL(IMP) (-----.50.164)   16:32  13.08.2006
обязательно попробую, когда приеду

#2  X-Rаy (-----.rol.ru)   03:09  14.08.2006
Если что-то DivX 3.22b здесь: webfile.ru/1058034

#3  BMGod (-----.mtu-net.ru)   23:24  19.12.2007
А наоборот из RoQ в AVI можно?

#4  Тася (-----.spdop.ru)   19:06  28.11.2009
Любовь
это......

#5  sandy (-----.zelcom.ru)   01:30  26.02.2010
BMGod, обратно тоже можно. Иначе бы эту программу может быть и выкинул. )

#6  unknown (-----.avangarddsl.ru)   01:11  06.03.2010
Немогу сделать видеороликов из скриншотов! скриншоты размером (1280х1024).
когда жму "Generate Movie"
сначала выдаёт табличку с надписью "RoQ format implies 30 frame per seconds. Resulting movie won't playback at the expected frame rate." и тут токо ОК нажать можно, ну жму ОК а дальше больше... ещё табличка с надписью "BAD MOVIE SIZE. MUST BE 512x384." тут я тоже ОК жму и ещё табличка вылазит - "Can't initialize codec! Movie size may not be supported by this codec."

помогите плиз кто может, мне в целом нужно создать видеоролик НАИЛУЧШЕГО качества из кучки скриншотов, но всё эти ошибки недают ничего поделать...



Добавить комментарий
Имя - заполнять обязательно

Е-майл

Заголовок

Текст комментария - заполнять обязательно

Введите эти цифры в это поле.






Розовый





















Valuehost.Ru


Яндекс цитированияRambler's Top100Rambler's Top100
DOOM3 is a registered trademark of id'Software
Copyright 2002-2017 © Doom3.ru