Render.ru

Экспорт скелета: поворот суставов

tokloo

Пользователь сайта
Рейтинг
2
#1
Пишу скрипт для импорта скелета из неизвестного формата(ну т.е. формат игровой, а информации по нему тю-тю). В общем, блок с костями найти не проблема была, да и вытащить его тоже.

Итак, скелет вытащен, иерархия костей верная, теперь его осталось только развернуть.

Каждый сустав имеет 4 вектора: 3 единичных и 1 произвольный.

последний - координаты относительно родителя
а первые 3 стало быть определяются ориентацию


Что первое в голову пришло, так это matrix3, собственно так и сделал: определил вектора как матрицу, а затем представил ее как угол, на который и поворачивал суставы
Скелет на удивление развернулся верно, и вот все бы ничего, но.. наполовину, остальная - куда-то не в ту сторону, вернее вообще не по той оси свернула

Обновление сообщения автором
20.01.2014 в 21:32
Проблема в том, что суставы определяются матрицами, но для определения симметричных костей(руки, ноги), матрица не переворачивается, а отражается одна из осей. Получается, что оси расположены не в обычном порядке, и вот из-за этого угол матрицы определяется коряво... в итоге: половина нормально повернута, а половина - в разные стороны
 

Фигли

Пользователь сайта
Рейтинг
2
#2
Сам этим иногда "грешу":). То есть пишу скрипты для вытаскивания моделей и аватаров из игр. Напишите что за игра, может такой скрипт давно написан. И выложите файл модели.
 
Сверху