Collada файл скелет интерпретация / разбор - PullRequest
0 голосов
/ 25 августа 2018

Здравствуйте, я не знаю, если это правильное место для этого вопроса, если нет, дайте мне знать.

У меня есть файл Collada (.dae) с моделью (сетка и скелет). Но когда я пытаюсь импортировать его в Blender, не все кости соединены вместе, и в Cinema4D кости правильные, но Mesh не загружен.

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

Я знаю из Cinema4D, что первые 3 вершины кости - (0, 0.1452, -53.9918), (39.5985, 0, 0), (0, -0.0454, 29.3990).

Я слышал, что Я должен умножить матрицу обратной связи родительского соединения на матрицу обратной связи дочернего соединения и затем инвертировать результат.

Итак, я попытался умножить первое значение «костного дерева» (находится в теге <visual scene> файла collada) на следующие значения (матрицы обратного связывания) или на обратное значение, но они не не соответствует ожидания.

Я также пробовал другие комбинации умножения и инверсии матриц, но безрезультатно.

Кто-нибудь знает, как правильно интерпретировать файлы Bones в файлах Collada?

Вот ссылка на файл Collada, который я пытаюсь декодировать: stray_dog.dae

...