Есть ли способ извлечь дочерние модели из бинарного файла 3d модели с python - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть модели старой игры, которые сериализованы в двоичные файлы. Игра сериализировала связку файлов SO1 из исходного кода в один двоичный файл, чтобы создать полную модель с дочерними моделями (например, столкновение me sh для физики и мусор меня sh для того, когда, например, модель разрушена или что-то). И затем у нас есть скрипт для импорта этих двоичных файлов в blender.

Но проблема в том, что скрипт читает только базовые c me sh этих сериализованных двоичных файлов. Он не извлекает другие me sh like debris.So, что я хочу сделать, это написать скрипт для извлечения всех сеток из сериализованных моделей и импорта в Blender. Есть ли способ извлечь дочерние модели из модели, как разные сетки или прочее. Есть ли какие-либо ресурсы, которыми вы можете поделиться или любой совет, который может помочь.

Вот пример сериализованной модели

Любые ресурсы или советы действительно помогут. Спасибо

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

Object : hybrid howitzer middle
Matrix : 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 
0.000000, 1.000000, 0.651333, -0.272336, 148.104279
Verts (28)
{
  32.776379, -4.732749, 20.940834
  32.776371, 13.366718, 20.940834
 -32.248661, -4.732746, 20.940876
 -32.248661, 13.366739, 20.940876
 36.352749, 22.416452, 5.266243
-35.825039, 22.416466, 5.266243
-35.825047, -13.782484, 5.266245
-32.248669, 13.366730, -10.408346
-32.248669, -4.732749, -10.408345
36.352749, -13.782476, 5.266245
32.776371, 13.366718, -10.408346
32.776371, -4.732749, -10.408345
-12.917832, -31.803804, -21.983011
-12.917823, 9.673828, -21.983013
0.099994, -57.036156, 19.674057
0.099991, -13.068811, 19.674057
13.117827, 9.673826, -21.983017
13.117826, -31.803808, -21.983015
-21.661488, -9.395690, -24.962152
-39.987076, -41.058319, -13.630542
-21.661488, -9.395624, -2.298935
-21.661503, -85.191681, -24.962152
-21.661503, -85.191628, -2.298935
21.661484, -9.395710, -24.962194
39.987076, -41.058342, -13.630584
21.661484, -9.395645, -2.298975
21.661510, -85.191711, -24.962194
21.661510, -85.191643, -2.298975

}

, а другой - сериализованные файлы с расширением ".bin_n", которые не читаются.

...