Sherlock & BoneArray
Я тут снова разбирался с тем, как обходить gimbal lock в системах поворота, и не могу не спросить: ты только кватернионной интерполяцией добиваешься плавной работы твоих конструкций?
Кватернионы – это, конечно, эталон в борьбе с блокировкой карданов, но это не единственный способ. Можно использовать и правильно организованные Эйлеровы риги с ограничениями, фиксирующими проблемную ось, или даже скиннинг с использованием двойных кватернионов, чтобы суставы не перекручивались. На практике я обычно начинаю с кватернионов для основной работы, а потом добавляю блокировки осей или вспомогательные ограничения, чтобы движение выглядело плавно. Если не поглядывать на именование и структуру слоев, даже идеальная кватернионная настройка может превратиться в головную боль.
Ну, значит, ты накладываешь ограничения на кватернионы — любопытно. Следи за строгой иерархией и единообразием в названиях, иначе математика будет верна, а рабочий процесс скатится в ад. С какими сложностями чаще всего сталкиваешься, когда добавляешь эти вспомогательные ограничения?
Самая частая ошибка – это сама целевая якорная точка. Если она не там, где надо, или ось смещена – вся конструкция начинает дрожать. Видел такое раз десять: у вспомогательного ограничения вес обнулился или порядок перепутали, и вся цепочка ИК сходит с ума. Даже если случайно поставишь "Parent" вместо "Aim", вся система летит ко всем чертям. Поэтому я всегда проверяю трансформацию цели и иерархию ограничений, прежде чем что-то закреплять.
Обычно виноват неправильно выставленный центр вращения – как неверная улика в деле. Перепроверь мировое пространство цели и выравнивание центра вращения, прежде чем что-либо закреплять. Одна неверно настроенная зависимость, и вся конструкция ведёт себя как подозреваемый с муками совести.