Помощь:Создание демонстраций
|
Содержание
Консольные команды
Команда | Описание |
---|---|
Record <имя файла> | Начинает запись демонстрации текущего геймплея в файл с заданным именем. Демонстрация будет сохранена как имя демонстрации.dem в папке с игрой (..\Steam\SteamApps\<имя учётной записи Steam>\team fortress 2\tf\), как и все файлы, связанные с ней |
Stop | Останавливает запись текущей демонстрации |
Demoui или Demoui2 | Отрывает небольшой пользовательский интерфейс для записи демонстраций, который выглядит как проигрыватель мультимедиа файлов, но создающий и проигрывающий демонстрации; в нём есть такие удобные функции,как возможность Ускорения, Быстрой Перемотки и пропуска каких-то частей домонстрации. Проигрыватель также может быть запущен нажатием клавиш Shift+F2 на клавиатуре. |
Playdemo <имя файла> | Проигрывает записанную ранее демонстрацию |
Stopdemo | Останавливает проигрывание текущей демнстрации |
Listdemo <имя демонстрации> | Даёт подробную информацию о файле демонстрации |
Demo_recordcommands <0/1> | Если имеет значение 1, записываются все команды, написанные в консоли в файлы демонстрации |
Startmovie <имя файла> [avi/raw] | Начинает запись клипа кадрами, хранящимися папке с игрой (..\Steam\SteamApps\<имя учётной записи Steam>\team fortress 2\tf\) как файлы формата .tga.
Недавняя особенность в HL2 это возможность записи сразу в формат AVI (в версиях для ПК), задав параметр |
Endmovie | Заканчивает запись игровых кадров. |
Demo_debug <0/1> | Показывает/скрывает дополнительную информацию отладки демонстрации. |
Demo_fastforwardstartspeed <factor> | Запускать с такой скоростью при удерживании кнопки FF |
Demo_fastforwardramptime <seconds> | Сколько секунд занимает достижение полной FF скорости |
Demo_fastforwardfinalspeed <factor> | Конечная скорость воспроизведения демонстрации при удерживании кнопки FF |
Demo_interpolateview <0/1> | Включает/Выключает просмотр интерполяции между кадрами демонстрации |
Demo_quitafterplayback <0/1> | Закрывает игру после воспроизведения демонстрации |
Demo_recordcommands <0/1> | Записывает консольные команды в файлы формата .dem |
Demo_pause [seconds] | Ставит на паузу воспроизведение демонстрации, в секундах опционально |
Demo_resume | Продолжает воспроизведение демонстрации |
Demo_togglepause | Ставит демонстрацию на паузу/воспроизведение |
Demo_gototick <tick> [relative] [pause] | Пропускает кадры демонстрации. Если параметру relative присвоено значение "1", то кадр будет отсчитываться от текущего кадра. Если параметру pause присвоено значение "1", воспроизведение будет остановлено когда кадр будет достигнут |
Demo_timescale <множитель> | Устанавливает скорость воспроизведения демонстрации, множитель (скорости) 1.0 это нормальное воспроизведение |
Основы Записи Демонстраций
Демонстрация, записанная в Team Fortress 2 включает в себя:
- Геймплей от лица игрока, записывающего демонстрацию
- Все элементы HUD , включая чат и текстовые сообщения консоли
- Звук, которой слышал игрок через голосовой чат
Есть некоторые ограничения, которые надо отметить при записи демонстрации:
- Демонстрации нужна копия файла карты, которая проигрывается в демонстрации. Демонстрация не сохраняет копию карты, когда она проигрывается.
- Демонстрация записывает только то, что необходимо для воспроизведения звука и видео игрока.
- Демонстрация не записывает таблицу результатов (по умолчанию кнопка Tab), даже если игрок и смотрел в неё на протяжении записи.
- Игрок не может видеть своего персонажа в процессе воспроизведения, кроме моментов, когда он делает насмешку, умирает, хотя если задать "sv_cheats 1" и "thirdperson" в консоли, это позволит видеть вашего персонажа "от третьего лица".
- Объекты, такие как другие игроки, постройки и выстрелы оружия будут не видны дальше определённого расстояния от текущей позиции игрока, если используется функция Drive в окне Воспроизведения Демонстрации (Demo Playback). Вся карта будет загружена, но действия на большом расстоянии с точки зрения игрока будут не видны (всегда). Спреи будут показаны, если их локальный кэш существует.
- В демонстрацию не будет записана речь игрока. Хотя, вы будете видеть текстовые сообщения, которые тот вводил в игровой чат. (Для записи голоса игрока, параметр voice_loopback 1 должен быть прописан в консоли. Это приведёт к тому, что голос игрока будет записан как звук.)
- Если сервер меняет карту в процессе записи, игра создаст новый файл демонстрации с таким же именем и добавит порядковый номер, чтобы избежать конфликтов с именами файлов.
- Файл демонстрации нельзя запустить прямо из операционной системы (то есть 2 раза кликнув по ней в Проводнике Windows). Демонстрация должна быть загружена с помощью команды игровой консоли или интерфейса demoui.
Как Записывать Демонстрации?
Данные действия создадут короткую демонстрацию на публичном сервере.
- Запустите Team Fortress 2.
- В Настройках, убедитесь, что консоль разработки включена:
- В главном меню выберите Настройки.
- На вкладке Клавиатура нажмите Дополнительно....
- Поставьте галочку напротив Включить консоль разработки (~).
- Создать сервер:
- В главном меню кликните СОЗДАТЬ СЕРВЕР (кнопка к плюсом).
- На вкладке Сервер, выберите нужную вам карту, например ctf_2fort.
- На вкладке ИГРА задайте Пароль сервера, чтобы другие игроки не смогли присоединиться к серверу во время теста.
- Кликните Начало.
- Когда карта загрузится, можно начать запись.
- Выберите команду и персонажа, например синий Разведчик.
- После появления, откройте консоль разработки. По умолчанию это клавиша ~ (тильда).
- В консоли, в линии для написания команд введите record demotest. Запись файла при этом будет производиться в файл вод названием demotest.dem.
- Игра начала запись.
- Закройте консоль.
- Выйдите с места появления и прыгните, побегайте или что-нибудь другое.
- Используйте насмешку. В процессе насмешки, посмотрите на персонажа с разных сторон.
- Выберите Солдата или Подрывника, используйте взрывчатку для самоубийства.
- После записи фрагмента нужной длины остановите запись:
- Откройте консоль.
- В консоли, в линии для написания команд stop. Примечание: отключение от сервера во время игры также приведёт к остановке записи
- Консоль покажет общее время и количество записанных кадров.
Как Воспроизводить Демонстрации?
Данные действия приведут к загрузке демонстрации, записанной вами ранее.
- В консоли, введите demoui. Это откроет окно Воспроизведения Демонстрации (Demo Playback). Нажатие клавиш Shift+F2 также приведёт к открытию этого окна.
- Нажмите Загрузить (Load...) в окне Воспроизведение Демонстрации (Demo Playback). Откроется проводник, который по умолчанию открывает папку игры Team Fortress 2 в папке со Стимом (Steam).
- Найдите файл demotest.dem и откройте его.
- Начнётся воспроизведение.
- Все персонажи и записанной демонстрации будут выполнять действия, которые они делали в процессе игры.
- Обзор у вашего игрока будет изменяться как во время записи. Вы увидите всё с момента ожидания при появлении. Единственный способ убрать его - использовать функцию Drive (см.ниже).
- Каждый кадр воспроизведения это тик (tick), текущий тик и общее количество тиков демонстрации показано в окне demoui.
- Стандартные кнопки управления окна Demoui:
- Pause останавливает запись
- Stop возвращает игру в главное меню
- Бегунок Шкалы Времени контролирует изменения во времени, или скорости воспроизведения. 100% это стандартная скорость. 200% проигрывает демонстрацию в два раза быстрее обычного.
- Кнопка Drive позволяет наблюдателю использовать мышь и кнопки передвижения для изменения вида камеры. Это может показаться необычным сначала, но вы привыкните.
- Кнопка Goto переходит к тику, написанному в текстовом окне справа от неё.
- Также есть консольная команда demoui2, которая открывает окно Воспроизведения Демонстрации (Demo Playback) со шкалой тиков. На ней нет некоторых кнопок, которые есть в окне demoui, например кнопки Drive.
Как создать клип?
Движок Source может генерировать звуковые и видео файлы, основанные на записанной демонстрации. Полученные звук и видео могут быть обработаны через программы для создания видео/клипов. Данные действия приведут к генерации выходных данных, называемых mymovie, которые основаны на демонстрации demotest.dem, созданной ранее. Если вы собираетесь делать видео высокого качества, чтобы загрузить его на Машиниму вам потребуются Ультра-высокие настройки для графического ускорения
- В консоли, введите startmovie mymovie. Игра подготовится для сохранения файлов с именем mymovie. Пользователь может использовать и другое имя.
- В консоли появится сообщение: "Started recording movie, frames will record after console is cleared..." ("Запись клипа начнётся после очистки консоли"). Теперь игра готова к обработке файла демонстрации.
- В консоли введите playdemo demotest. Команда playdemo проигрывает демонстрацию сначала до конца, если вы не вмешаетесь.
- Игра начнёт обрабатывать файл демонстрации. Она создаст файлы изображений для каждого кадра видео в папку Team Fortress 2 tf\ и звук в формате Wave для звуковой дорожки.
- Вот что происходит в процессе команды startmovie:
- Каждый кадр видео сохраняется в формате изображений TarGA (.tga). Игра может "тормозить" при этом. Размер каждого файла изображения зависит от текущего разрешения. При расширение в 1024x768 кадр будет занимать примерно 2,300 килобайт (2.3 мегабайт каждый файл).
- Вы можете слышать прерывистый звук или не слышать его вообще при этом. Это из-за того, что команда startmovie отделяет звуковую дорожку от файла демонстрации. Вся мощь обработки используется для обработки видео.
- При достижении конца демонстрации появится консоль.
- В консоли, введите endmovie. В консоли будет надпись "Stopped recording movie..." ("Запись клипа остановлена...")
- Выйдите из Team Fortress 2 и перейдите в папку (папка установки Steam)\Steam\SteamApps\(имя учётной записи Steam)\team fortress 2\tf.
- Файл звука Wave сохранён как mymovie.wav.
- Имена файлов формата TarGA начинаются с "mymovie" и кончаются номером кадра. Номер первого изображения в последовательности будет умножен на 10, например 01000.
Эти файлы могут быть соединены в один клип с использованием программ, таких как VirtualDub, утилмта для захвата и обработки видео. Следующие действия строятся на предыдущих примерах данной статьи и соединят файлы mymovie в один клип.
- Откройте VirtualDub.
- Выберите File > Open > Open video file... (Файл > Открыть > Открыть видео файл...)
- Найдите папку Steam\SteamApps\(имя учётной записи Steam)\team fortress2\tf.
- Выберите первый файл формата TarGA (.tga) в списке (первый кадр вашего клипа).
- Обычно его номер 01000 или типа того; выберите файл с наименьшим номером. В этом вам поможет сортировка файлов по имени.
- Если вы выбрали не первый файл в последовательности, изображения будут загружаться последовательно, начиная с выбранного.
- Выберите Video > Compression (Видео > Сжатие). Там можно выбрать кодек. Выберем напрмер XviD MPEG-4 Codec.
- Объяснение значения выбранного кодека выходит за рамки данной статьи. Пользователю может поэксперементировать с разными кодеками, чтобы найти тот, который будет отвечать его требованиям.
- Неправильный выбор кодека (например, если оставить Несжатый RGB) может привести к неоправданно большому размеру файла клипа.
- Выберите Audio > WAV Audio... (Звук > Звук WAV...). Выберите файл Wave, имя которого соответствует имени клипа в папке tf\.
- После выбора звуковой дорожки WAV, поставьте Audio > Full processing mode (Звук > Режим полной обработки. Это позволит сжать звук.
- Выберите Audio > Compression (Звук > Сжатие). Например выберите MPEG-Layer 3.
- Выберите File > Save as AVI...(Файл > Сохранить как AVI...). Пользователь может задать имя для файлов клипа. Напишите имя файла и нажмите OK.
- VirtualDub начнёт обрабатывать файл клипа.
Или вы вы можете сделать видео файл из TF2, пользуясь следующим руководством (взято с форумов сообщества TF2, пост Kuiper'а):
Вот как вы можете создать видео, используя максимальные графические настройки с определённым количеством кадров, если на вашем жёстком диске мало места:
Если вы этого ещё не сделали, запишите геймплей, из которого вы хотите создать видео. Для этого введите "record [demoname]" в консоли в процессе игры и введите "stop", для остановки видео. После того, как у вас есть файл демонстрации, выполните следующие шаги:
- Запустите TF2, используя настройки, с которыми вы хотите увидеть своё видео. Например расширение экрана. Если вы планируете загружать видео на сайт с потоком низкого качества, я бы посоветовал использовать 640x480, чтобы видео меньше обрабатывалось и загружалось. Если же вы хотите загрузить HD видео на Youtube, используйте 1280x720.
- Откройте консоль и введите следующие команды: "sv_cheats 1" и "host_framerate 30" (Вы можете записывать и с высшим количеством кадров в секунду, например 60 КВС для последующей обработки, но большинство сайтов, таких как Youtube используют 30 КПС.)
- Начните воспроизведение демонстрации, написав в консоли команду "playdemo [demoname]" или используйте окно demo ui, которое открывается командой demoui или нажатием клавиш shift+f2 на клавиатуре
- Когда вы найдёте нужный момент, который вы хотите записать введите "startmovie [videofilename] avi"
- При этом вы увидите окно со списком кодеков, которые можно выбрать. Я бы рекомендовал использовать кодек XviD. Если в этом списке нету нужных вам кодеков, вы можете их скачать CCCP или K-Lite (выберите первый, или второй, если первый не будет работать).
- После того, как вы начали записывать клип, не трогайте игру. Воспроизведение будет прерывистым и звук может зациклится или не воспроизводиться совсем. Не беспокойтесь, это нормально и не отразится на конечном видео. Просто позвольте демонстрации проигрываться до момента, на котором вы хотите закончить запись. Если у вас "слабый" компьютер или вы записываете длинный сегмент видео, это займёт много времени, так что вы сможете заняться чем-нибудь во время обработки видео.
- Введите "endmovie" в консоли когда вы закончите запись.
- В результате вы получите AVI файл, которого не будет в папке TF. Он будет расположен в вашей папке "team fortress 2" под именем, которое вы задали, например C:/Program Files/Steam/SteamApps/bobsmith/team fortress 2/mymovie.avi
- Теперь вы можете импортировать файл AVI в Windows Movie Maker или другую программу, которую вы собираетесь использовать для последующей обработки.
Как поделиться демонстрацией?
.DEM файлы, созданные игрой могут быть получены другими пользователями:
- У другого пользователя должна быть установлена соответствующая игра (Team Fortress 2).
- У другого пользователя должна быть карта, использованная при записи. Игра выдаст ошибку, если вы попытаетесь воспроизвести демонстрацию без нужного файла карты.
- .DEM файлы хорошо сжимаются с помощью программ для архивации, таких как 7zip или WinRAR.
Проблемы
- Ошибка "Unreliable snapshot error" появляется при повторной загрузке файла демонстрации.
- Если в ошибке говорится о отсутствующем файле карты, пользователь должен загрузить нужную версию карты, с помощью которой была записана демонстрация, поместить её в папку ...\Steam\steamapps\<имя учётной записи Steam>\team fortress 2\tf\maps и попробовать снова.
- Существует ошибка в патчах Team Fortress 2, допущенная при обновлении 29 апреля (April 29 Goldrush / Medic update), которое сделало демонстрации, записанные ранее непроигрываемыми (!). Пока не известно решение данной проблемы.
- Снимки экрана (скриншоты) и записанные кадры будут чёрными при включении поддержки нескольких ядер. Выключение этой опции решит проблему.
Дополнительные ссылки
- Valve Developer Community: Demo Recording Tools. Эта страница содержит инструкции для создания демонстраций и управления ими в играх на движке Source, таких как Team Fortress 2. Там описаны дополнительные команды, такие как сглаживание (demo smoothing) и настройка команд.
- Source Record Tutorial: Демонстрационный фильм, размещённый на сайте YouTube, показывающий команды record, startmovie, и основы создание клипов.
- K-Lite Codec Pack: Набор кодеков для кодирования и декодирования различных форматов клипов.