Александр Зуев
TONWeb - Браузерное 3D-пространство
Александр Зуев
#Программирование сайта#Программирование игр#Разработка программного обеспечения

TONWeb - Браузерное 3D-пространство

36 
Александр Зуев Россия, Краснодар
Поделиться: 0 0 0
TONWeb - Браузерное 3D-пространство
Бюджет

250 000

Сфера

Информационные технологии и интернет

Сдано

Октябрь 2024

Задача

Требовалось создать иммерсивную витрину для держателей NFT экосистемы TON, которая превращает плоский список токенов в живое выставочное пространство и при этом остается доступной максимально широкой аудитории. Ключевые требования к продукту:

- Полностью браузерный запуск без установки приложений и без потери качества трехмерной графики.

- Единый продукт для десктопа и мобильных устройств вместо двух раздельных разработок.

- Подгрузка NFT напрямую из источников экосистемы TON, включая маркетплейсы и децентрализованное хранилище IPFS, с непредсказуемыми форматами и пропорциями изображений.

- Интерактивное редактирование экспозиции владельцем с сохранением раскладки между сессиями.

- Двусторонняя связка 3D-сцены с веб-страницей, на которой происходит авторизация через кошелек TON и располагается остальной интерфейс продукта.

Решение

Реализовано Unity WebGL приложение, встраиваемое в страницу через единый канвас и слой JavaScript-интеграции. Внутри собрана полноценная навигация от первого лица: контроллер персонажа на базе CharacterController с гравитацией, прыжком и проверкой опоры под ногами, управление камерой по горизонтали и вертикали с ограничением угла наклона, блокировка и захват курсора при переходе между режимами осмотра и редактирования.

NFT приходят в сцену пакетом в формате JSON с адресами токенов в сети TON, координатами, масштабом и номером стены. Каждое изображение загружается в рантайме асинхронно, автоматически нормализуется по соотношению сторон и размещается ровно в той точке экспозиции, где его оставил владелец в прошлый раз. Для владельца включается режим редактирования: перетаскивание полотен по стенам, бесшовный переход картины с одной стены на соседнюю, плавное масштабирование и подсветка активного объекта. Любое перемещение или изменение размера автоматически отправляется на сервер и становится новым постоянным состоянием комнаты.

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

Результат

  • Запущен публичный продукт, доступный по обычной ссылке без установки и без дополнительных плагинов.

  • Одна сборка Unity WebGL покрывает сразу десктоп и мобильные браузеры, что вдвое сократило объем разработки и поддержки клиентской части по сравнению с раздельными версиями.

  • Полный цикл взаимодействия с NFT работает в рантайме: загрузка коллекции из источников TON и IPFS, размещение в трехмерной комнате, интерактивная перекомпоновка и постоянное хранение раскладки.

  • 3D-навигация от первого лица с физикой и плавной камерой реализована напрямую в браузере, сохраняя отзывчивость на обеих платформах.

  • Достигнута устойчивая работа с произвольным пользовательским контентом: изображения любого формата и размера автоматически приводятся к корректному виду без ручной подготовки.

  • Архитектура с четким разделением веб-слоя и 3D-движка дала продукту запас на развитие, включая социальные механики вроде перехода между комнатами и зон телепортации.

https://tonweb.alexxxdevelop.pro/

Стек технологий

  • С# С# Язык программирования
  • ASP.NET Core ASP.NET Core Фреймворк/библиотека
  • Unity Unity Среда разработки

Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Оставить заявку