Исходный размер 273x423

Neuromuseum (учебные проекты)

PROTECT STATUS: not protected

Участие в итоговом проекте в качестве программиста (соединение и настройка логики).

Проект Museum of Neural Art представляет собой интерактивный виртуальный музей, в котором классические произведения мирового искусства («Плот Медузы», «Всадница» и др.) переосмысляются с помощью современных нейросетевых технологий.

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

big
Исходный размер 1354x680
big
Исходный размер 1560x875

Оптимизация и интеграция контента: Ключевым вызовом стала работа с высокополигональной геометрией. Мною был освоен и применен полный цикл переноса тяжелых ассетов из Blender в Unity: от децимации сетки (сокращение полигонажа с 67 млн до приемлемых значений) до настройки материалов в Universal Render Pipeline. Это позволило добиться стабильной частоты кадров (FPS) без потери визуального качества экспозиции.Программная архитектура: Разработанная мною модульная система на базе ScriptableObjects показала свою эффективность. Отказ от жесткого кодирования (hard-coding) текстов и параметров в пользу внешних ассетов данных сделал проект гибким и легко масштабируемым. Добавление новых картин, скульптур или перевод текстов на другие языки теперь не требует вмешательства в программный код.Игровая логика и UX: Была реализована интуитивно понятная система взаимодействия игрока с миром (Raycasting), а также полноценный пользовательский интерфейс (UI). Разработанная система квестов «терминал-барьер» добавляет в приложение элемент геймификации, мотивируя пользователя изучать экспонаты для продвижения по уровню.
Работа с физическим движком: Я научилась находить баланс между точностью физической симуляции и производительностью, заменив ресурсоемкие Mesh Collider-ы на оптимизированные примитивы.Таким образом, в процессе работы я закрепила навыки программирования на языке C#, углубила знания архитектуры движка Unity, освоила принципы UI/UX дизайна в играх и методы оптимизации 3D-графики. Итоговый продукт представляет собой законченный, играбельный прототип, готовый к демонстрации и дальнейшему расширению контента.

Исходный размер 1020x610

вид на локацию музея

post

Архитектура данных (Scriptable Objects)

Для реализации информационной системы музея я применила паттерн Data-Driven Design (управление через данные). Вместо того чтобы хранить тексты описаний и настройки экспонатов внутри скриптов поведения, я вынесла их в отдельные ассеты.
Мною был создан класс ExhibitData, наследуемый от базового класса Unity ScriptableObject. Это позволило мне создавать файлы данных прямо в окне проекта. Каждый такой файл хранит полную информацию об одном экспонате: его идентификатор, название, описание на русском и английском языках, соответствующие изображения (Sprites) и правильные ответы для загадок. Такой подход обеспечивает модульность: я могу добавлять сотни новых картин, не меняя ни строчки программного кода.

Реализация механики взаимодействия

Механика взаимодействия игрока с окружением построена на методе Raycasting (испускание луча). На камеру персонажа я добавила скрипт PlayerInteraction, который в каждом кадре выпускает невидимый луч из центра экрана вперед.
Для оптимизации проверок я выделила все интерактивные объекты в отдельный слой (Layer) под названием Interactable.Реализация механики взаимодействия
Механика взаимодействия игрока с окружением построена на методе Raycasting (испускание луча). На камеру персонажа я добавила скрипт PlayerInteraction, который в каждом кадре выпускает невидимый луч из центра экрана вперед.
Для оптимизации проверок я выделила все интерактивные объекты в отдельный слой (Layer) под названием Interactable.

Пользовательский интерфейс и логика прохождения

Система пользовательского интерфейса (UI) реализована через Canvas. Я сверстала две основные панели: информационное окно для просмотра экспонатов и интерактивный терминал для ввода кодов доступа.Управление интерфейсом осуществляет класс UIManager, реализованный через паттерн Singleton (Одиночка). Это гарантирует, что в сцене существует только один менеджер интерфейса, к которому можно обратиться из любой точки кода. При открытии любого окна менеджер автоматически разблокирует курсор мыши и отключает управление персонажем, чтобы игрок мог комфортно работать с интерфейсом.Логика прохождения уровня построена на системе «Замок-Ключ». Терминалы, размещенные в залах, проверяют введенный пользователем текст, сравнивая его с эталонным ответом из ExhibitData. При совпадении срабатывает система событий (UnityEvent), которая деактивирует игровые объекты-барьеры, открывая доступ к новым локациям.
Neuromuseum (учебные проекты)
Проект создан 09.08.2026