Beamdog / nwn-issues

Neverwinter Nights: Enhanced Edition Technical Bug Tracker
http://nwn.beamdog.com
31 stars 1 forks source link

Client crashes when using some compiled models that work in ASCII #138

Open gm-xanther opened 4 years ago

gm-xanther commented 4 years ago

To Reproduce

c_ultros.zip

Crash Dump

squid crash.zip

Specifics

ghost commented 4 years ago

In my experience, 100% of the time its an issue with the model. Furthermore, why are you even reporting issues with Custom Content?

This topic should be closed.

gm-xanther commented 4 years ago

Excuse me? I was specifically suggested to make this bug report by a dev, as it has to do with the ingame compiler not providing accurate results in comparison with the ASCII model - if a model doesn't crash as ASCII, it shouldn't crash once compiled. The file was provided as a means of testing this issue, and the bug report is directed at the model compiler, not the custom content itself. There is no need to make such aggressive judgments.

ghost commented 4 years ago

I attempted to open your model in 3DS Max and the import script crashes when attempting to load the skinmesh. Your skinmesh is overly complex at 4628 weights and should be divided into 9 skinmeshes - one for the body and one for each tentacle.

This is what CM3 spits out:

Parse state anim(default,c_ultros) Do not understand "c_ultros" Parse state model(c_ultros) Do not understand "c_ultros" c_ultros.mdl loaded. deleted animation keys on root node skinmesh c_ultros_body re-aligned to origin skinmesh c_ultros_body re-pivoted to origin Error more than 21 bones in c_ultros_body vertices welded in [c_ultros_body] tverts snapped to 1/512 tverts welded in 36 objects renormalized tverts in 36 objects Fixes made = 28969 Cannot output model - too buggy

Total Fixes = 28969

Although CM3 was originally developed for use with NWN, not EE, it is still more than capable of diagnosing/fixing models made for EE. While it may be the excessive number of bones on the skinmesh causing the import crash in NWMax Plus, the fact that CM3 couldn't output the model makes me suspect there is quite a bit more wrong with it than just skinmesh issues.

P.S. In my original comment, I asked a question, then stated an opinion AFTER attempting to load in the model in 3DS Max and then processing it through CM3. If stating an opinion is "aggressive" then...

niv commented 4 years ago

The report is valid and appreciated, thank you for that and the effort you took to put together the concise repro.

Even if it's custom content that's faulty, it might still reveal an opportunity to improve compatibility in the model loader. We'll definitely look at it eventually!

LaputianBird commented 4 years ago

To note, CM3 is definitely obsolete when it comes to skinmeshed models, and the fact it reports issues with such models might as well be completely irrelevant. However, do not understand X errors are parsing errors, there might be an additional line break or a number of string token different from what CM3 expects

Specifically, there are two unexpected (for cm3) linebreaks at lines 50384 and 65001

gm-xanther commented 4 years ago

pstemarie - The reason that your original post seemed aggressive was that it very clearly seemed to cast a negative judgment on me. It basically told me that it's user error and to go away because it's custom content, and even attempted to shut down the entire subject by saying it should be closed. That is not a constructive opinion, it's entirely dismissive. I did not know you opened the model until your follow up post, which is much more constructive and appreciated.

I will look into splitting the model into multiple meshes soon as you suggested and see if that makes a difference, but at the end of the day, this was posted entirely due to the unexpected mismatch between ascii model and compiled model.

Notably, NWMax Plus has never been able to import any skinmeshed model that I've made, for unknown reasons currently. And CM3 seems to refuse to output models based purely on the bone count being too high.