Интерактивный 3D-эксперимент с симуляцией физики и процедурной анимацией в Unity
Реализована симуляция электрической проводимости и механика "цветка", который распадается на лепестки под действием гравитации и исчезает, а также система физического взаимодействия с объектами через ручное управление силами и моментами.
Проект представляет собой набор инструментов и визуальных экспериментов, разработанных на Unity, с акцентом на физическую симуляцию и интерактивность. Ядром проекта является сцена "Flower Experiment", где реализован контроллер FlowerController. По заданной логике лепестки цветка отделяются от основы: для каждого лепестка динамически создаётся компонент Rigidbody с настройкой массы, объект открепляется от родительской иерархии, после чего на него начинает действовать физика. Спустя заданную задержку запускается плавное исчезновение материала лепестка с использованием анимации прозрачности (DOFade), и по завершении анимации объект уничтожается.
В проекте также присутствуют расширения из библиотеки Lean Common+, добавляющие компоненты для ручного управления физическими силами. Компонент LeanManualTorque позволяет прикладывать угловые моменты к Rigidbody через публичные методы, с поддержкой различных пространств (World/Self) и режимов приложения силы. Предусмотрена возможность настройки осей вращения и целевого объекта воздействия. Дополнительные утилиты, такие как LeanConstrainToOrthographic, служат для ограничения положения объектов относительно камеры и плоскости, что упрощает создание 2.5D-сцен.
Также в проекте имеется редакторский инструмент JSONChecker для валидации JSON-файлов прямо в редакторе Unity, что указывает на внимание к удобству разработки и работе с данными. FlowerAssemble, вероятно, является вспомогательным скриптом для начальной сборки или настройки цветка в сцене.
Стек технологий: Unity, C#, Rigidbody physics, DOTween (анимация материалов), Editor scripting. Проект демонстрирует навыки процедурной генерации физических сцен, создания переиспользуемых компонентов для манипуляции объектами в реальном времени и разработки кастомных инструментов для редактора Unity.