it has to do something with empty bytes and stringnodes of fbx. I tried to find out where it crashes, because the code did change a bit, but not completely.
Partly the error output seems to be incomplete. A similar code is found in the file "io_scene_fbx/import_fbx.py" but
blen_read_texture is not existent. I found
blen_read_texture_image instead. The filepath is empty, when replace is called, so it is no string then.
They call elem_find_first_string and this error was detected some years ago. This one:
https://developer.blender.org/T45291When you want to use a 2.79 it looks like this (and it did not change for the 2.8+ code).
- Code: Select all
def elem_find_first_string(elem, id_search):
fbx_item = elem_find_first(elem, id_search)
if fbx_item is not None and fbx_item.props: # Do not error on complete empty properties (see T45291).
assert(len(fbx_item.props) == 1)
assert(fbx_item.props_type[0] == data_types.STRING)
return fbx_item.props[0].decode('utf-8', 'replace')
return None
elem_find_first_string was fixed ibetween. Maybe the fbx plugins are very old.
Honestly either use mhx2 importer and exporter or use the MPFB plugin, neither blender nor makehuman are really fbx systems, so it is always a better solution to use the proprietary protocols. Fbx works okay for e.g. the export to unreal engine. And slowly it is hard to work with pre- 2.8+ blender versions. I still have a 2.79c, but 2.69 is really vintage style ...