Найти материал

Поиск по опубликованным материалам, разборам и форматам работы. После согласия на аналитику запросы помогают улучшать поиск. ⌘K / Ctrl+K — поиск · ↑↓ — выбор · Enter — открыть

Поиск по полным текстам на отдельной странице →

Все разборы

Разбор / Анимация кодом

Материал от

Как бумажный терьер получил движение в мультфильме из кода

Я попросил видеобота Reels Studio сделать бумажного бостон-терьера. Начали со статичного кадра и трёх вариантов персонажа, затем перешли к ходьбе, прыжкам и галопу. В финале получился ролик длиной 15,5 секунды.

Формы, глубина и фактура сцен задавались HTML и JavaScript. Проверка сетевых запросов и совпадения контрольных кадров помогла отделить наблюдаемый результат от красивого описания технологии.

Финальная длительность

15,5 секунды

Предыдущая версия длилась 26,7 секунды; финал получил другой монтаж.

Глубина мостика

15 слоёв

Плоские элементы на разной глубине создают параллакс.

Запросы сцен

0 изображений

В описанном демо зафиксированы HTML и восемь JS-модулей; логотип добавлен SVG-разметкой.

Узнаваемого персонажа сначала пришлось выбрать и зафиксировать

Исходная ситуация

Бот предложил оригами, мягкий мультяшный и более реалистичный вариант. После самопроверки уточнил уши, квадратный корпус и шерсть. Я выбрал вариант с реалистичными пропорциями.

Пропорции и окрас закрепили. Свет и окружение менялись отдельно, а прежние варианты сохранялись воспроизводимыми. После статичного кадра сделали девятисекундную пробу ходьбы.

Картинка, движение и звук получили разные правила

Ход работы

Раздельные правила для кадра, походки и музыкальной сетки помогли проверять каждое изменение.

  1. Нарисовать бумажную сцену

    Canvas2D задаёт контуры, three.js размещает плоскости, GLSL добавляет фактуру и освещение. Ближние слои смещаются быстрее дальних при движении камеры.

  2. Привязать лапы к пути

    Двухзвенная обратная кинематика определяет суставы по положению стопы. Фаза шага зависит от пройденного расстояния; прыжок разделён на фазы.

  3. Пересобрать монтаж под музыку

    Замена трека без изменения видео не дала совпадения всех переходов с долями. В финале вернулись к «A Game» и изменили длительности сцен и движения.

  4. Проверить воспроизводимость

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

Три образа одного кадра: A — оригами, B — мультяшный, C — реалистичный. Сверху полные кадры, снизу крупные планы. Подписи добавлены после рендера.
Три образа одного кадра: A — оригами, B — мультяшный, C — реалистичный. Сверху полные кадры, снизу крупные планы. Подписи добавлены после рендера. Источник: исходная статья.
Все 15 слоёв сцены с мостом по отдельности: от неба на заднем плане до крупных цветов на переднем.
Все 15 слоёв сцены с мостом по отдельности: от неба на заднем плане до крупных цветов на переднем. Источник: исходная статья.

Финальный мультфильм с бумажным терьером

Готовая работа

Сохранность прежних кадров проверили отдельно от новой версии

Проверка

После изменений контрольные кадры первого демо совпали с исходными до байта. Журнал рендера фиксировал запросы HTML и JS; отсутствие картинок относится к сценам и не означает отсутствие внешней музыки или звуков.

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

Появился ролик с управляемыми сценами и известными дефектами

Результат

Финальная версия короче прежней и соединяет разные движения персонажа в одном музыкальном монтаже.

Персонаж движется в трёх окружениях

Шаг на мосту, прыжки в лесу и галоп в снегу получили свой рисунок движения.

Правки можно проверять

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

Что подтверждено этим опытом

Границы результата

Числа относятся к опубликованному эксперименту. Рендер на программной графике занимал секунды на кадр; отсутствие файлов картинок не делает такой способ быстрым.

Музыка и эффекты взяты из Mixkit, для них действуют отдельные условия использования. В финале есть официальный SVG-логотип. Подход не следует описывать как полностью свободный от внешних материалов.

Исходный материал

Подробности, исходные иллюстрации и контекст описанного этапа — в авторском материале.

От чтения — к своей практике

Спасибо, что дочитали. Если хотите применить прочитанное к своей задаче, приходите обсудить её со мной. Для регулярной практики, общения и вебинаров есть Перезагрузка.