Браузерное 3D-пространство, в котором владелец коллекции NFT на блокчейне TON попадает в собственную виртуальную комнату с видом от первого лица, развешивает токены по стенам галереи и вживую настраивает экспозицию. Приложение собрано на Unity WebGL и запускается на обычной веб-странице без установки клиента, одинаково корректно работая на десктопе с мышью и клавиатурой и на смартфоне с сенсорным управлением. Внутри сцены пользователь свободно перемещается, перетаскивает изображения между стенами, масштабирует их колесом мыши или жестом двумя пальцами, а каждое изменение мгновенно фиксируется на бэкенде, формируя персональную постоянную выставку коллекции.
Реализовано Unity WebGL приложение, встраиваемое в страницу через единый канвас и слой JavaScript-интеграции. Внутри собрана полноценная навигация от первого лица: контроллер персонажа на базе CharacterController с гравитацией, прыжком и проверкой опоры под ногами, управление камерой по горизонтали и вертикали с ограничением угла наклона, блокировка и захват курсора при переходе между режимами осмотра и редактирования.
NFT приходят в сцену пакетом в формате JSON с адресами токенов в сети TON, координатами, масштабом и номером стены. Каждое изображение загружается в рантайме асинхронно, автоматически нормализуется по соотношению сторон и размещается ровно в той точке экспозиции, где его оставил владелец в прошлый раз. Для владельца включается режим редактирования: перетаскивание полотен по стенам, бесшовный переход картины с одной стены на соседнюю, плавное масштабирование и подсветка активного объекта. Любое перемещение или изменение размера автоматически отправляется на сервер и становится новым постоянным состоянием комнаты.
Управление построено как единый слой ввода, который сам определяет платформу. На десктопе работают мышь и клавиатура, на смартфоне включается сенсорная схема с разделением экрана: левая половина отвечает за перемещение по принципу виртуального джойстика, правая за обзор камерой, а жест сведения и разведения двух пальцев масштабирует выбранное полотно.
- Запущен публичный продукт, доступный по обычной ссылке без установки и без дополнительных плагинов.
- Одна сборка Unity WebGL покрывает сразу десктоп и мобильные браузеры, что вдвое сократило объем разработки и поддержки клиентской части по сравнению с раздельными версиями.
- Полный цикл взаимодействия с NFT работает в рантайме: загрузка коллекции из источников TON и IPFS, размещение в трехмерной комнате, интерактивная перекомпоновка и постоянное хранение раскладки.
- 3D-навигация от первого лица с физикой и плавной камерой реализована напрямую в браузере, сохраняя отзывчивость на обеих платформах.
- Достигнута устойчивая работа с произвольным пользовательским контентом: изображения любого формата и размера автоматически приводятся к корректному виду без ручной подготовки.
- Архитектура с четким разделением веб-слоя и 3D-движка дала продукту запас на развитие, включая социальные механики вроде перехода между комнатами и зон телепортации.