DarklightGames / io_scene_psk_psa

A Blender extension for importing and exporting Unreal PSK and PSA files
GNU General Public License v3.0
378 stars 24 forks source link

Error in Blender 3.4.1 when importing .psk file #32

Closed CrazyDoraemonII closed 1 year ago

CrazyDoraemonII commented 1 year ago

Python: Traceback (most recent call last): File "C:\Users\Admin\AppData\Roaming\Blender Foundation\Blender\3.4\scripts\addons\io_scene_psk_psa\psk\importer.py", line 320, in execute psk = read_psk(self.filepath) File "C:\Users\Admin\AppData\Roaming\Blender Foundation\Blender\3.4\scripts\addons\io_scene_psk_psa\psk\reader.py", line 49, in read_psk raise RuntimeError(f'Unrecognized section "{section.name} at position {15:fp.tell()}"') ValueError: Invalid format specifier

cmbasnett commented 1 year ago

@CrazyDoraemonII Can you post the PSK file that is resulting in this error?

Also what version of the addon are you using?

CrazyDoraemonII commented 1 year ago

I am using 4.2.0 (io_scene_pks_psa-master-4.2.0.zip) SK_T000_LOD0.zip Github doesn't support psk file, so I add it to a zip file which is attached.

cmbasnett commented 1 year ago

@CrazyDoraemonII have found the problem. The 4.2.0 version throws a hard error if it encounters a section that it doesn't recognize instead of simply discarding it. In this case, there is a MRPHINFO section that I've never heard of until now.

I am in the process of preparing another release this week that will add a lot of new features and will also fix this bug (the dev version I am currently working on does not have this issue). It will be released later this week.

As a stopgap, however, I have added a bugfix patch for 4.2 that fixes this issue. You can find it here: https://github.com/DarklightGames/io_scene_psk_psa/releases/tag/4.2.1

Out of curiosity, how was this PSK generated (i.e., what tool was used & what game did this come from)? It doesn't look like it came from UEViewer. I'd be interested in trying import the MRPHINFO data.

floxay commented 1 year ago

Out of curiosity, how was this PSK generated (i.e., what tool was used & what game did this come from)? It doesn't look like it came from UEViewer. I'd be interested in trying import the MRPHINFO data.

This most likely comes from CUE4Parse, used by FModel. Morph "extension" chunks were added in https://github.com/FabianFG/CUE4Parse/pull/51. Exporter code: MeshExporter.ExportMorphTargets(). There are also other "extension" chunks aside from these two.