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

PSKX model is broken upon import #43

Closed 6yXJI0 closed 1 year ago

6yXJI0 commented 1 year ago

image Johnny_PSKX.zip

PSK imported with 1 warning(s)
Discarded 561 degenerate face(s).
cmbasnett commented 1 year ago

Thanks for the report, I will look into this. What game is this from?

6yXJI0 commented 1 year ago

Thanks for the report, I will look into this. What game is this from?

Texas Chain Saw Massacre (Tech Test Build) https://drive.google.com/file/d/1ApWU5eCVBsZPR2w7xQTpbfU_13E5Plwl/view?usp=sharing Link to Game Folder

cmbasnett commented 1 year ago

I managed to fix it on my end, but I'll need to do a bit of testing to make sure the fix isn't going to break anything else.

image

The issue was that my importer was assuming that for a certain wedge format, the point indices were not addressable above 65535. I may have been working with an incorrect specification sheet or simply made a mistake. Changing the point index to be a 32-bit integer fixes the issue.

I will run a few tests locally here, but I suspect this should be safe for other export types as well and I can probably publish a hot-fix tonight.

cmbasnett commented 1 year ago

@6yXJI0 This has been fixed and is available in draft release 5.0.2 (https://github.com/DarklightGames/io_scene_psk_psa/releases/tag/5.0.2). Please re-install the addon with this new version and let me know if this solves your issue!

6yXJI0 commented 1 year ago

@6yXJI0 This has been fixed and is available in draft release 5.0.2 (https://github.com/DarklightGames/io_scene_psk_psa/releases/tag/5.0.2). Please re-install the addon with this new version and let me know if this solves your issue!

Yep! Thank you so much! No more completely messed imported models! But it still says: PSK imported with 1 warning(s) Discarded 32 degenerate face(s). And apparently it deletes some faces. Previously, I was using another PSK/PSA importer, it was importing models without any data loss. But it can't import morph targets. I also have compared models that were imported with this importer and yours and it looks like removed degenerated faces were on the hair. io_import_scene_unreal_psa_psk_280.zip

Also! Giving you 2 more pskx models (that have the same error), just in case. Sissy_Cook.zip Thank you in advance!

cmbasnett commented 1 year ago

The problem, I believe, is that there are duplicate faces on the mesh (i.e., a face consisting of the same 3 vertices), and Blender does not allow this for technical reasons (probably having to do with hashing of the faces).

A possible solution for this would be to split the PSK into as many different meshes as is needed in order to have all of the faces represented in Blender. I have created a new task to sort this out (#44).