ebmar

"comm_a_m" Misnamed Bone Fix for K1

Recommended Posts

Greetings, fellow Jedi! May the Force be with y'all. :cheers:

I am here to request for a mod that will fix the misnamed bone inside the "comm_a_m" model, appeared in the game as Asian commoners head- particularly this variant:

comm_a_m_SS.JPG.6ae61f6a2dc58acfc9e80752cf84e0b9.JPG

We can see in the screenshot below that usually in any other head models [and its counterpart comm_a_m2], the bone are written as eyeRA and eyeLA respectively:

comm_a_m_Mssg_Nde.JPG.59d2253406dc1583d92d943f720fcaa8.JPG

I've tried to rename the bone myself, but in the end resulting in a new problem:

comm_a_m_fix_req.jpg.41743353be8eb4c98ef8cb645a213a31.jpg

Both are results of the compiled binary; either using MDLedit or MDLOps, they leave behind a mark to both side of mouth area.

While the new problem is there, the renamed bone resulting in an appropriate eye movement.

I believe I have ran out of options to perform the proper fix myself; hence asking the forum a request is the best option it is.

I hope the information provided was enough for an attempt, and many thanks for considering this. :cheers:

Share this post


Link to post
Share on other sites

That's a smoothing issue. It should be unrelated to you renaming the bones. If you simply decompile and recompile the vanilla binary you should get the same result.

The problem is caused by the smoothing groups being incorrectly assigned/calculated during decompiling. The mouthbox needs to be set as its own smoothing group, or a different smoothing group to the face at any rate, otherwise you get shading errors at the mouth corners. Here are the smoothing groups I got from a decompile:

K1_comm_a_m_Smoothing_01_TH.jpg          K1_comm_a_m_Smoothing_02_TH.jpg

K1_comm_a_m_Smoothing_03_TH.jpg

 

This is not something you can fix in a text editor. It needs to be done in a 3D app. It may need additional tweaking, but try this and see how it looks:

https://www.darthparametric.com/files/kotor/k1/[K1]_Head_Commoner_comm_a_m.7z

  • Thanks 1

Share this post


Link to post
Share on other sites
Quote

...try this and see how it looks:

The fix works! And the mouthbox look smooth pretty much the same as vanilla:

dp_comm_a_m_fix_Review.gif.63fcf9b1e66a9a38836664b91267400b.gif

Awesome! Thank you for the quick fix. :cheers:

2 hours ago, DarthParametric said:

That's a smoothing issue. It should be unrelated to you renaming the bones. If you simply decompile and recompile the vanilla binary you should get the same result.

The problem is caused by the smoothing groups being incorrectly assigned/calculated during decompiling. The mouthbox needs to be set as its own smoothing group, or a different smoothing group to the face at any rate, otherwise you get shading errors at the mouth corners. Here are the smoothing groups I got from a decompile:

Spoiler

K1_comm_a_m_Smoothing_01_TH.jpg          K1_comm_a_m_Smoothing_02_TH.jpg

K1_comm_a_m_Smoothing_03_TH.jpg

 

Many thanks for detailed elaboration, DP! Very much appreciated. :cheers:

Quote

This is not something you can fix in a text editor. It needs to be done in a 3D app.

Ah, I kind of suspect that too. Anyways, if I renamed the bone using KOTORmax for example and then export the binary, will the smoothing groups being correctly assigned? Or as quoted from you earlier-

Quote

It may need additional tweaking...

Things are not done yet with only just renaming?

Share this post


Link to post
Share on other sites
8 hours ago, ebmar said:

the mouthbox look smooth

The mouthbox is the interior of the mouth, the bag of polys inside the head (you can see it in the side shot in the 3rd pic I posted above). Unless you are a dentist, I doubt you got a good look.

8 hours ago, ebmar said:

I renamed the bone using KOTORmax for example and then export the binary, will the smoothing groups being correctly assigned?

No. KMax reads and assigns smoothing groups based on what is in the ASCII, and will export the same if you don't change it yourself. Max/GMax has an automatic function to do this based on angle, which you can adjust, but the problem is imported meshes will always be split along UV seams, which the automated smoothing typically takes as a hard edge and thus splits smoothing groups between. If you are using GMax, you'd probably need to manually assign the smoothing groups, as it lacks some of the tricks I would use in Max. Basically you'd go into the Element submode of the Editable Mesh and pick all the elements that should share a smoothing group, and set them to the same number in the Smoothing Groups section under Surface Properties.

Max_Smoothing_Groups_TH.jpg

Smoothing is probably something you want to watch a video tutorial on, as it is hard to convey it in text. The only problem is GMax is so ancient now I don't know if there is such a thing. You can try watching some Max tutorials, but there may be parts that don't apply to GMax.

  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.