Test.CSM.Dev

Как повернуть скелет, чтобы не испортилась анимация?

Собственно, сабж.
Анимация поворачивается без проблем только вокруг оси Z (т.е. вертикальной). Вокруг других осей - она портится. Даже в studiomdl есть опция поворота модели только вокруг Z.
Сначала я думал, что это просто недоработка компилятора - лень разрабам было делать другие опции поворота. Но потом понял, что дело гораздо серьезнее и отдает совершенно явственной чертовщиной :(

Зачем это нужно? Ну в частности конверта анимаций мз Сталкера в хл. Дело в том, что там другой порядок вершин - не XYZ, а XZY (в коорд. пр-ве халфы). Соотв. все анимации повернуты не так, как нужно.
Казалось бы, что проще - обменять Z и Y в том же studiomdl. Да не тут то было. :( Оказывается, ключевые кадры анимации хранят относительные положения костей. То есть судя по описанию формата SMD, позиция кадра анимации уже является произведением матрицы кости и матрицы кадра. Чтобы изменить координаты, нужно восстановить изначальную матрицу. Да только вот трудное дело деление, особенно матрицы на матрицу :((((

Короче говоря, если не вдаваться в детали, можно поставить вопрос иначе.
Как повернуть долбаные сталкеровские анимации на 90 градусов вокруг оси оХ, чтобы анимация при этом не "пошла вразнос"?