|
Оптимизация ключевых кадров для анимации
В общем есть линия времени. На ней через определенные одинаковые промежутки заданы смещение и поворот (кватернионом). Они интерполируются линейно. Мне нужно это все дело оптимизировать (т.е. убрать какие-то промежуточные ключевые кадры, при этом не включая большой погрешности при линейной интерполяции). У меня в голове сейчас только такой вариант:
берем стартовый ключевой кадр и кадр, который на n позиций после него. Считаем, что ключевых кадров между заданными не существует. Подсчитываем среднеквадратичное отклонение реальных точек от интерполированных. Если оно превышает какое-то заданное значение, то вариант не подходит. Алгоритм начинается с n = 2 и работает пока не дойдет до конечного ключевого кадра или пока не превысит значение.
Да, кстати, оптимизировать нужно по двум каналам: по позиции и по вращению. Т.е. это получится две раздельные временные линии (которые, однако, имеют одну продолжительность).
Это причем только для смещения подойдет, а для кватернионов я вообще не знаю как это сделать.
Подскажите что-нибудь? ))
Последний раз редактировалось lazychaser, 13.10.2011 в 20:51.
|