Цель наших усилий - заменить некоторые идентификаторы в коде другими идентификаторами, чтобы наш обогащенный экспорт FBX можно было импортировать в Unity. Мы пытаемся использовать следующий скрипт:
https://github.com/ideasman42/pyfbx_i42
Код parse_bin работал как положено. Мы можем преобразовать код в блок Python и изменить идентификаторы в коде.
Проблема заключается в преобразовании обратно в код fbx. В кодовом блоке также появляются data_types:
'SS', 'SSS', 'SSSS' и т. Д. Поэтому я предполагаю, что parse_bin преобразовал списки в коде в строки и объединил их. Поэтому мне интересно, что я могу с этим сделать, не испортив полностью код.
Это файл из Autodesk Revit.
Вот где это идет не так:
Это ['GlobalInfo \ x00 \ x01SceneInfo', 'UserData'] становится 'SS'
<FBXElem, len() = 4>
_fields:('id', 'props', 'props_type', 'elems')
elems:[FBXElem(id='Type', p... elems=[]), FBXElem(id='Version'... elems=[]), <FBXElem, len() = 4>, <FBXElem, len() = 4>]
id:'SceneInfo'
props:['GlobalInfo\x00\x01SceneInfo', 'UserData'] <-------where it goes wrong--------------
[0]:'GlobalInfo\x00\x01SceneInfo'
[1]:'UserData'
props_type:bytearray(b'SS')
[0]:'SceneInfo'
[1]:['GlobalInfo\x00\x01SceneInfo', 'UserData']
[2]:bytearray(b'SS')
[3]:[FBXElem(id='Type', p... elems=[]), FBXElem(id='Version'... elems=[]), <FBXElem, len() = 4>, <FBXElem, len() = 4>]
Надеюсь, кто-нибудь может помочь нам с этим. Если вам нужно больше кода или объяснения, пожалуйста, сообщите нам.
Заранее благодарим за чтение нашего вопроса и любую предоставленную помощь!
Привет
Sjoerd & Ruben