Помощь:Создание демонстраций

From Team Fortress Wiki
< Help:Recording demos
Revision as of 22:13, 15 January 2011 by ANGEL UNDEAD (talk | contribs) (Created page with '{{DISPLAYTITLE:Помощь:Создание демонстраций}} {{Help navbar}} == Консольные команды == {| class="wikitable grid" ! class="header" | …')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Консольные команды

Команда Описание
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 (в версиях для ПК), задав параметр avi. Если этот параметр используется, появится диалоговое окно, которое позволит выбрать кодек, так что лучше запускать Team Fortress 2 в окне. Например Startmovie мойклип avi запишет мойклип.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.


Как Записывать Демонстрации?

Консольная команда для демонстрации: record
Консольная команда для демонстрации: stop

Данные действия создадут короткую демонстрацию на публичном сервере.

  1. Запустите Team Fortress 2.
  2. В Настройках, убедитесь, что консоль разработки включена:
    • В главном меню выберите Настройки.
    • На вкладке Клавиатура нажмите Дополнительно....
    • Поставьте галочку напротив Включить консоль разработки (~).
  3. Создать сервер:
    • В главном меню кликните СОЗДАТЬ СЕРВЕР (кнопка к плюсом).
    • На вкладке Сервер, выберите нужную вам карту, например ctf_2fort.
    • На вкладке ИГРА задайте Пароль сервера, чтобы другие игроки не смогли присоединиться к серверу во время теста.
    • Кликните Начало.
  4. Когда карта загрузится, можно начать запись.
    • Выберите команду и персонажа, например синий Разведчик.
    • После появления, откройте консоль разработки. По умолчанию это клавиша ~ (тильда).
    • В консоли, в линии для написания команд введите record demotest. Запись файла при этом будет производиться в файл вод названием demotest.dem.
    • Игра начала запись.
      • Закройте консоль.
      • Выйдите с места появления и прыгните, побегайте или что-нибудь другое.
      • Используйте насмешку. В процессе насмешки, посмотрите на персонажа с разных сторон.
      • Выберите Солдата или Подрывника, используйте взрывчатку для самоубийства.
  5. После записи фрагмента нужной длины остановите запись:
    • Откройте консоль.
    • В консоли, в линии для написания команд stop. Примечание: отключение от сервера во время игры также приведёт к остановке записи
    • Консоль покажет общее время и количество записанных кадров.


Как Воспроизводить Демонстрации?

Интерфейс окна demoui
Интерфейс окна demoui2

Данные действия приведут к загрузке демонстрации, записанной вами ранее.

  1. В консоли, введите demoui. Это откроет окно Воспроизведения Демонстрации (Demo Playback). Нажатие клавиш Shift+F2 также приведёт к открытию этого окна.
  2. Нажмите Загрузить (Load...) в окне Воспроизведение Демонстрации (Demo Playback). Откроется проводник, который по умолчанию открывает папку игры Team Fortress 2 в папке со Стимом (Steam).
  3. Найдите файл demotest.dem и откройте его.
  4. Начнётся воспроизведение.
    • Все персонажи и записанной демонстрации будут выполнять действия, которые они делали в процессе игры.
    • Обзор у вашего игрока будет изменяться как во время записи. Вы увидите всё с момента ожидания при появлении. Единственный способ убрать его - использовать функцию Drive (см.ниже).
    • Каждый кадр воспроизведения это тик (tick), текущий тик и общее количество тиков демонстрации показано в окне demoui.
    • Стандартные кнопки управления окна Demoui:
      • Pause останавливает запись
      • Stop возвращает игру в главное меню
      • Бегунок Шкалы Времени контролирует изменения во времени, или скорости воспроизведения. 100% это стандартная скорость. 200% проигрывает демонстрацию в два раза быстрее обычного.
      • Кнопка Drive позволяет наблюдателю использовать мышь и кнопки передвижения для изменения вида камеры. Это может показаться необычным сначала, но вы привыкните.
      • Кнопка Goto переходит к тику, написанному в текстовом окне справа от неё.
    • Также есть консольная команда demoui2, которая открывает окно Воспроизведения Демонстрации (Demo Playback) со шкалой тиков. На ней нет некоторых кнопок, которые есть в окне demoui, например кнопки Drive.

Как создать клип?

Движок Source может генерировать звуковые и видео файлы, основанные на записанной демонстрации. Полученные звук и видео могут быть обработаны через программы для создания видео/клипов. Данные действия приведут к генерации выходных данных, называемых mymovie, которые основаны на демонстрации demotest.dem, созданной ранее. Если вы собираетесь делать видео высокого качества, чтобы загрузить его на Машиниму вам потребуются Ультра-высокие настройки для графического ускорения

Консольная команда: startmovie
  1. В консоли, введите startmovie mymovie. Игра подготовится для сохранения файлов с именем mymovie. Пользователь может использовать и другое имя.
  2. В консоли появится сообщение: "Started recording movie, frames will record after console is cleared..." ("Запись клипа начнётся после очистки консоли"). Теперь игра готова к обработке файла демонстрации.
  3. В консоли введите playdemo demotest. Команда playdemo проигрывает демонстрацию сначала до конца, если вы не вмешаетесь.
    • Игра начнёт обрабатывать файл демонстрации. Она создаст файлы изображений для каждого кадра видео в папку Team Fortress 2 tf\ и звук в формате Wave для звуковой дорожки.
    • Вот что происходит в процессе команды startmovie:
      • Каждый кадр видео сохраняется в формате изображений TarGA (.tga). Игра может "тормозить" при этом. Размер каждого файла изображения зависит от текущего разрешения. При расширение в 1024x768 кадр будет занимать примерно 2,300 килобайт (2.3 мегабайт каждый файл).
      • Вы можете слышать прерывистый звук или не слышать его вообще при этом. Это из-за того, что команда startmovie отделяет звуковую дорожку от файла демонстрации. Вся мощь обработки используется для обработки видео.
    • При достижении конца демонстрации появится консоль.
  4. В консоли, введите endmovie. В консоли будет надпись "Stopped recording movie..." ("Запись клипа остановлена...")
  5. Выйдите из Team Fortress 2 и перейдите в папку (папка установки Steam)\Steam\SteamApps\(имя учётной записи Steam)\team fortress 2\tf.
    • Файл звука Wave сохранён как mymovie.wav.
    • Имена файлов формата TarGA начинаются с "mymovie" и кончаются номером кадра. Номер первого изображения в последовательности будет умножен на 10, например 01000.


Эти файлы могут быть соединены в один клип с использованием программ, таких как VirtualDub, утилмта для захвата и обработки видео. Следующие действия строятся на предыдущих примерах данной статьи и соединят файлы mymovie в один клип.

  1. Откройте VirtualDub.
  2. Выберите File > Open > Open video file... (Файл > Открыть > Открыть видео файл...)
  3. Найдите папку Steam\SteamApps\(имя учётной записи Steam)\team fortress2\tf.
  4. Выберите первый файл формата TarGA (.tga) в списке (первый кадр вашего клипа).
    • Обычно его номер 01000 или типа того; выберите файл с наименьшим номером. В этом вам поможет сортировка файлов по имени.
    • Если вы выбрали не первый файл в последовательности, изображения будут загружаться последовательно, начиная с выбранного.
  5. Выберите Video > Compression (Видео > Сжатие). Там можно выбрать кодек. Выберем напрмер XviD MPEG-4 Codec.
    • Объяснение значения выбранного кодека выходит за рамки данной статьи. Пользователю может поэксперементировать с разными кодеками, чтобы найти тот, который будет отвечать его требованиям.
    • Неправильный выбор кодека (например, если оставить Несжатый RGB) может привести к неоправданно большому размеру файла клипа.
  6. Выберите Audio > WAV Audio... (Звук > Звук WAV...). Выберите файл Wave, имя которого соответствует имени клипа в папке tf\.
  7. После выбора звуковой дорожки WAV, поставьте Audio > Full processing mode (Звук > Режим полной обработки. Это позволит сжать звук.
  8. Выберите Audio > Compression (Звук > Сжатие). Например выберите MPEG-Layer 3.
  9. Выберите File > Save as AVI...(Файл > Сохранить как AVI...). Пользователь может задать имя для файлов клипа. Напишите имя файла и нажмите OK.
  10. VirtualDub начнёт обрабатывать файл клипа.



Или вы вы можете сделать видео файл из TF2, пользуясь следующим руководством (взято с форумов сообщества TF2, пост Kuiper'а):

Вот как вы можете создать видео, используя максимальные графические настройки с определённым количеством кадров, если на вашем жёстком диске мало места:

Если вы этого ещё не сделали, запишите геймплей, из которого вы хотите создать видео. Для этого введите "record [demoname]" в консоли в процессе игры и введите "stop", для остановки видео. После того, как у вас есть файл демонстрации, выполните следующие шаги:

  1. Запустите TF2, используя настройки, с которыми вы хотите увидеть своё видео. Например расширение экрана. Если вы планируете загружать видео на сайт с потоком низкого качества, я бы посоветовал использовать 640x480, чтобы видео меньше обрабатывалось и загружалось. Если же вы хотите загрузить HD видео на Youtube, используйте 1280x720.
  2. Откройте консоль и введите следующие команды: "sv_cheats 1" и "host_framerate 30" (Вы можете записывать и с высшим количеством кадров в секунду, например 60 КВС для последующей обработки, но большинство сайтов, таких как Youtube используют 30 КПС.)
  3. Начните воспроизведение демонстрации, написав в консоли команду "playdemo [demoname]" или используйте окно demo ui, которое открывается командой demoui или нажатием клавиш shift+f2 на клавиатуре
  4. Когда вы найдёте нужный момент, который вы хотите записать введите "startmovie [videofilename] avi"
  5. При этом вы увидите окно со списком кодеков, которые можно выбрать. Я бы рекомендовал использовать кодек XviD. Если в этом списке нету нужных вам кодеков, вы можете их скачать CCCP или K-Lite (выберите первый, или второй, если первый не будет работать).
  6. После того, как вы начали записывать клип, не трогайте игру. Воспроизведение будет прерывистым и звук может зациклится или не воспроизводиться совсем. Не беспокойтесь, это нормально и не отразится на конечном видео. Просто позвольте демонстрации проигрываться до момента, на котором вы хотите закончить запись. Если у вас "слабый" компьютер или вы записываете длинный сегмент видео, это займёт много времени, так что вы сможете заняться чем-нибудь во время обработки видео.
  7. Введите "endmovie" в консоли когда вы закончите запись.
  8. В результате вы получите AVI файл, которого не будет в папке TF. Он будет расположен в вашей папке "team fortress 2" под именем, которое вы задали, например C:/Program Files/Steam/SteamApps/bobsmith/team fortress 2/mymovie.avi
  9. Теперь вы можете импортировать файл 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: Набор кодеков для кодирования и декодирования различных форматов клипов.