Перейти к содержанию

Проекты

То, что я делаю в свободное время. Оба проекта выросли из задач, которые раз за разом возвращались на работе.

Sangria

Нодовое процедурное моделирование и генерация мешей в рантайме для Unity. 2026 - сейчас.

Дневник разработки на Unity Discussions: Sangria: a procedural node-graph mesh framework for Unity

Convex decomposition стэнфордского кролика Сфера с булевыми полостями
Convex decomposition под коллайдеры: кролик, разбитый на выпуклые оболочки, рядом с оригиналом Сфера с полостями, вычтенными булевой нодой, красный резак ещё на месте
Сотня статуй, разрезанных вне главного потока Граф параметрической шестерни
Сотня статуй, разрезанных под разными углами, посчитана вне главного потока Параметрическая шестерня: число зубьев, модуль и отверстие - входы графа, меняются в рантайме

Палитра нод Sangria

Видео: процедурная генерация, асинхронные графы вне главного потока, булевы операции, параметрическая шестерня.

Одни и те же процедурные задачи всплывали на каждой работе: генерация мешей, булевы операции, кинематическая экструзия и следование по контуру, кривые, пространственные индексы, GIS-геометрия в масштабе города. Я собирал эти куски несколько раз. Sangria - это та же накопленная работа, упакованная в один плагин с единой моделью данных под ним.

  • Самостоятельный плагин для Unity с графом операторов внутри движка, который берёт у Houdini модель данных и операторный подход.
  • Модель геометрии, где n-гоны - полноценные примитивы, а типизированные атрибуты живут на каждом уровне меша.
  • Обработка геометрии в Burst-компилируемых джобах на unmanaged native-контейнерах, без managed-аллокаций.
  • Mesh Booleans на реальном игровом контенте, с Seam, Trim и Shatter поверх них и открытой геометрией на входе.
  • Асинхронное выполнение графов вне главного потока, expression-ноды на Roslyn source generator, convex decomposition под коллайдеры и графы, собранные из текстового запроса через Unity CLI и Claude Code.

Как устроена модель данных и почему вершин 24, а не 8 - в статье Как Houdini вдохновил меня на процедурную генерацию мешей в Unity.

Experimenters

Виртуальная лаборатория по электричеству в браузере. 2022 - сейчас. experimenters.app

Experimenters на ноутбуке, планшете и телефоне

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

Проект начался как прототип на геймджеме в 2022 году и стал самостоятельным продуктом со своим солвером цепей и симуляцией в реальном времени на детерминированной архитектуре. Солвер работает на Burst: схема делится на независимые связные части, и каждая считается отдельно, примерно в 50 раз быстрее старого managed-кода, так что средние схемы пересчитываются в реальном времени. Есть осциллограф и режим блокировки, который защищает от случайного отсоединения. Сделано на Unity, работает как WebGL на десктопе, планшете и телефоне, ставится как PWA и работает офлайн, локализовано на 14 языков. Весь 3D-контент сделан в Houdini. Шаблоны лабораторных, префабы из моделей Houdini, тесты вёрстки и локализации и ролики для руководства пользователя делаются через Unity CLI под управлением Claude Code. На сайте 50+ готовых лабораторных от начальной школы до старших классов: закон Ома, правила Кирхгофа, RC- и RL-цепи, трансформаторы, транзисторы, резонанс.

Experimenters прошёл преинкубацию в Bird Incubator в Загребе.

Open source и сообщество

  • github.com/dr-vij: Docker-сборки для запуска моделей 3D- и видеогенерации на Nvidia DGX Spark (Trellis2, Hunyuan3D 2.1, LongCat-Video, UltraShape), GPU-ускоренная библиотека 2D-рисования и расширения для Unity.
  • Unity Discussions, где живёт дневник Sangria.