Назад

A Gift for My Dog

Целый мир снов для собаки: пересеките гостиную, разросшуюся до размеров каньонов, и бескрайнее поле для игры в апорт, погонитесь за светящимся мячиком, который всегда остаётся в полуметре впереди, и соберите 5 подарков — тогда сон опустится в настоящую собачью лежанку.

Автор: x7peepsИсходный код
Попробовать онлайн
A Gift for My DogПопробовать онлайн

Описание

Что, если бы можно было подарить своей собаке целый мир? «A Gift for My Dog — A Dog's Dream» — браузерный игровой мир, в котором вы бродите по собачьему сну: здесь есть гостиная, разросшаяся до размеров каньонов, бескрайнее поле для игры в апорт и светящийся мячик, который всегда остаётся в полуметре от вас.

Соберите 5 подарков в разных зонах сна — и сон наконец вернётся в настоящую собачью лежанку: «этот мир — для тебя». Автор сделал игру в подарок своей собаке.

Это однофайловая веб-сборка на Three.js с полностью локальными зависимостями: 60 fps при 1440p, 48 инстансированных объектов в 5 зонах, тени в реальном времени и эффект bloom. На мобильных устройствах управление сенсорное, на компьютере — WASD.

Все 3D-ассеты, а их не менее 26, созданы через Tripo API во время хакатона, а весь пайплайн — от генерации и риггинга до анимации и импорта в движок — от начала до конца автоматизирован скриптами, без какой-либо ручной работы в 3D-программах.

Как использовался Tripo

Весь 3D-пайплайн держался на Tripo: все ассеты, а их не менее 26, созданы через Tripo API v3 — полностью по скриптам и без участия человека, без ручной работы в DCC-программах.

  • Ключевой реквизит: диван, кровать, подарочная коробка и собачья лежанка сделаны с помощью text-to-3D в H3.1.
  • Массовый реквизит: мячи, кости, тапочки и растения получены низкополигональной генерацией P1 и рендерятся как 48 инстансированных объектов при 60 fps.
  • Парящие острова: концепт-кадры превращены в острова единого стиля с помощью image-to-3D.
  • Собака: сгенерирована, прошла автоматический риггинг четвероногого (rig-check плюс rig-v2.0), анимации ходьбы и ожидания ретаргетированы с помощью animate_in_place, после чего модель сразу отправилась в движок.
  • Один скрипт: от промпта до готового к загрузке в движок GLB — text-to-3D и image-to-3D, делайтинг, PBR, автоматический риггинг и ретаргетинг, и всё это связано одним клиентом на Python.

Трейлер