🔆 Анимации солнечных панелей и Слежение за Солнцем
Солнечные панели и другие детали теперь поддерживают keyframe-анимации и автоматическое слежение за Солнцем.
Была реализована система, которая позволяет использовать keyframe-анимации для различных частей корабля.
Первой деталью, использующей эту систему, стала раскладывающаяся/складывающаяся солнечная панель.
Дерево keyframe-анимации создаётся и экспортируется как отдельный файл в формате .glb, после чего сама анимация настраивается и загружается в модуль KeyframeAnimationModule, связанный с конкретной деталью, через XML-файлы.
Модуль KeyframeAnimationModule управляет воспроизведением анимации через кнопку Deploy/Retract, которую нажимает игрок. При этом анимация также может запускаться программно — другим кодом для различных дополнительных сценариев.
Кроме того, была создана система слежения за Солнцем, которая поворачивает деталь в его сторону. Это сделано с помощью модуля SolarTracker. Данный модуль ищет у детали наличие KeyframeAnimationModule, и если он присутствует, учитывает текущее состояние анимации (разложено/сложено). Поворот происходит только в разложенном состоянии — в этом случае подчасти детали автоматически вращаются в сторону Солнца, когда объект находится на освещённой стороне.
В совокупности всё это даёт полностью функциональную солнечную панель, которая может раскладываться, отслеживать положение Солнца и вырабатывать электричество.
Все эти модули можно использовать как вместе, так и по отдельности, применяя их к другим деталям в зависимости от нужной функциональности.
Комментарии (0)
Оставить комментарий