Кейсы 6 мин чтения

Промо-ролик игры на Remotion: съёмка кадров прямо из игры

Для своей онлайн-игры я сделал ролик на минуту в горизонтальном и вертикальном форматах, семнадцать постеров и десять рилсов по функциям. Кадры снимает скрипт прямо из игры по виртуальному времени ровно 30 кадров в секунду, монтаж собран кодом на Remotion с музыкой на доли. Данных о просмотрах нет.

кейсRemotionпромо-роликвидео кодомPlaywright

Коротко (TL;DR)

  • Для собственной онлайн-игры я сделал промо-ролик на 60 секунд в двух форматах, горизонтальном и вертикальном, плюс семнадцать постеров и десять коротких рилсов по функциям. Монтаж собран кодом на Remotion.
  • Все кадры сняты из самой игры. Скрипт подменяет время в браузере, камера летит по заданным ключам, съёмка идёт ровно 30 кадров в секунду без пропусков.
  • Одна таймлайн-таблица управляет всем: сценами, звуком и музыкой. Дроп трека поставлен на заданный кадр, смены сцен идут на доли.
  • Готово и лежит у меня в файлах. Где и как ролик публиковался, в этом кейсе не утверждаю.
Хотите внедрить это у себя?

Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.

Обсудить автоматизацию

Реклама игры должна показывать игру. Это кажется очевидным, пока не попробуешь заказать красивую картинку у нейросети. Моя первая попытка так и началась, и закончилась тем, что на кадрах было чужое село. Дальше я делал иначе.

Задача

У меня есть собственная многопользовательская игра на 3D-карте настоящего села. О самом продукте я писал отдельно в кейсе про симулятор жизни села. Чтобы рассказать о ней людям, нужны были материалы: главный ролик на минуту, вертикальная версия для коротких лент, постеры для сторис и короткие ролики по отдельным функциям.

Условия я поставил такие. Показывать только настоящую игру, без нарисованных картинок чужих мест. Не раскрывать данные реальных жителей: на кадрах должны быть тестовые персонажи. И собрать всё так, чтобы любую правку можно было внести и перерисовать без ручного монтажа.

Что я сделал

Съёмка из игры по виртуальному времени

Игру запускал на локальном стенде с чистым миром без данных живых людей. Съёмку вёл скриптом на Playwright. Игра в браузере считает время по системным часам и перерисовывается по таймеру кадров, из-за чего запись экрана получается рваной: кадры пропускаются, камера дёргается. Поэтому я подменил в браузере и часы, и таймер кадров на виртуальные. Скрипт сам двигает время на одну тридцатую секунды и после каждого шага сохраняет кадр. Получается ровно 30 кадров в секунду, независимо от того, насколько быстро компьютер рисует сцену.

Камера летает по ключевым точкам, которые заданы в файле планов. Я меняю план, запускаю съёмку и получаю новый пролёт. Для сцены с домом нужны были три состояния двора, от простого дома до усадьбы, и их я записывал напрямую в локальную базу тестового жителя, чтобы не проходить игру руками.

Единая таблица времени

Ролик на 60 секунд это 1800 кадров. Все сцены, звуки и моменты вроде «дом вырос» или «пошла зарплата» заданы в одном файле времени, и больше нигде. Темп музыки примерно 125 ударов в минуту, это около 14 кадров на долю. Смены сцен привязаны к долям. Дроп трека с отметкой 15,25 секунды я поставил на 186-й кадр, а начало трека сдвинул так, чтобы это совпало.

Звук собран из заготовленных эффектов: подъём к логотипу, удар на дроп, свист при влёте к дому, клик при ответе в мини-игре, монеты при зарплате. AAC на выходе чуть запаздывает, поэтому звуки поставлены на кадр раньше. Итоговая дорожка выведена до громкости минус 14 LUFS с пиком не выше минус 1,2 dBTP.

Форматы и серия материалов

Горизонтальная версия 1920 на 1080. Вертикальная 1080 на 1920 снималась отдельно: камеру отодвинул в полтора раза, иначе в узкий кадр помещается слишком мало сцены. Для вертикали заведена отдельная композиция в Remotion, обрезать горизонтальную версию я не стал. Обе версии я отдал с музыкой, без неё и в лёгкой копии около 29 МБ для отправки.

Постеров семнадцать. Первые семь собраны как неподвижные кадры из Remotion, остальные десять это последние кадры рилсов. Рилсов по функциям десять, по десять секунд каждый. Тексты берутся из каталога самой игры, так что название и описание функции в ролике совпадают с тем, что игрок видит в интерфейсе. Иконки игры выгружены в отдельный файл и подключены как есть. Подход к сборке видео из шаблонов описан в материале про Remotion и массовое производство видео.

Что было сложно

Первое, рваная запись. Обычная запись экрана для 3D-карты не годится: кадры идут с разной задержкой. Виртуальное время решило это, но потребовало аккуратно подменить таймеры, иначе анимации интерфейса и физика камеры расходились.

Второе, чужое село. Первый пролёт над селом я попробовал получить от видеомодели по одному текстовому описанию. Модель нарисовала похожее село, но не то. Реклама, на которой показано не то место, вводит людей в заблуждение, поэтому я отказался от этого пути. Теперь в генерацию я подаю только кадры игры, одного текста модели не даю. Пролёт для вертикального формата пробовал по двум кадрам игры, первому и последнему. Подробнее о том, как такие модели ведут себя, я писал в материале про нейросети для видео.

Третье, ритм. Пока смены сцен не привязаны к долям, ролик смотрится вяло. После привязки правка стала зависеть от одного файла: сдвинул сцену, пересчитались звуки и всё остальное.

Четвёртое, чистота кадра. Игра показывает карту реального села, и в кадр не должны попасть данные живых жителей. Поэтому съёмка идёт с отдельной базой, созданной для этого, рабочую я не использую.

Что получилось

МатериалСостояние
Главный ролик 60 с, горизонтальныйготов, с музыкой и без
Вертикальная версия 1080 на 1920готова, с музыкой, без музыки и лёгкая копия
Постеры для сторис17 штук
Рилсы по функциям10 штук по 10 секунд
Пролёт для вертикалидва варианта: из кадров игры и с видеомоделью по первому и последнему кадру игры
Публикация и охватыв этом кейсе не утверждаю, данных нет

Все файлы лежат у меня на рабочем столе, исходники в отдельной папке проекта. Ролик обрезан до 59,97 секунды, чтобы уложиться в минуту. Сведений о просмотрах у меня нет, поэтому о них я не пишу.

Что дальше

Если в игре появится новая функция, я добавлю её запись в каталог, перезаписываю нужный пролёт и пересобираю рилс. Если нужно поменять текст в главном ролике, правится один файл и рендерится заново. Съёмку по тому же принципу можно применить к любому продукту, у которого есть работающая версия: к мини-приложению, сервису или сайту.

Отдельно стоит собрать сводку по тому, какие материалы дают больше всего переходов в игру, когда они будут опубликованы и появится статистика. Пока такой статистики у меня нет.

Частые вопросы

Можно ли сделать такой ролик для сайта или приложения?

Можно, если есть работающая версия. Скрипт открывает её в браузере, проходит нужный сценарий и записывает кадры, а Remotion собирает из них ролик с текстом и звуком.

Зачем подменять время, если можно записать экран?

Запись экрана зависит от мощности компьютера: на сложной сцене кадры теряются. Виртуальное время даёт ровные кадры в любой момент и позволяет повторить съёмку один в один.

Сколько времени занимает такая работа?

Зависит от числа сцен и форматов. Основное время уходит на подготовку планов съёмки и подгонку под музыку, а повторный рендер после правки занимает минуты.

Коротко о главном

Я сделал промо-ролик игры по кадрам самой игры. Съёмка идёт по виртуальному времени, монтаж собран кодом, сцены и звуки привязаны к одному файлу времени. Получились две версии главного ролика, семнадцать постеров и десять рилсов. Данных о просмотрах нет.

Если вам нужен ролик о продукте, который уже работает, я могу собрать его таким же способом. Подробнее на странице разработки ботов и мини-приложений, напишите в Telegram, MAX или VK.

Обсудим вашу задачу

Что я делаю для бизнеса

Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ
Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх