Упрощение кривых анимации в Blender

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

Уменьшить количество точек на кривой анимации можно вручную.

Для этого в рабочей области Graph Editor нужно выделить нужную кривую анимации и в меню выбрать:

Key – Density – Decimate (Ratio)

После чего движением мышки подобрать приемлемый коэффициент от 0.0 – ни одна точка не будет удалена, до 1.0 – будут удалены все точки, кроме двух крайних. В соответствии с выбранным значением количество точек будет равномерно уменьшено.

То же самое можно сделать и при помощи Blender Python API.

За уменьшение количества точек на кривых анимации отвечает оператор

Давайте для примера уменьшим количество точек на кривой анимации перемещения дефолтного куба по оси X.

Оператор graph.decimate() контекстно-зависимый. Это значит, что для того, чтобы вызвать его из окна текстового редактора Text Editor, необходимо временно переопределить контекст.

Получим указатель на рабочую область Graph Editor:

Теперь мы можем переопределяя контекст при помощи temp_override() вызвать нужный нам оператор graph.decimate():

В параметрах оператора graph.decimate() мы указываем режим работы “RATIO” – процентное соотношение количества точек к общей длине кривой, и фактор равный 0.7 – это как раз то число, которое мы подбирали ранее мышкой. Т.е при factor равным 0.0 кривая не будет упрощаться совсем, а при factor равный 1.0 – удаляться все точки, кроме крайних. Используемое нами значение 0.7 оптимально в нашем случае, чтобы получить упрощение, но и в то же время сильно не исказить кривую анимации.

После выполнения кода количество точек на кривой анимации перемещения куба по оси Х будет уменьшено.

0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии