[SOLVED] Model stretching even when the whole model is fully weighted

Started by Primarina, March 30, 2016, 11:37:08 AM

Previous topic - Next topic

Primarina

I have fully weighed every part of the model properly that means each part has a weight value of 1 and each part of the model has been assigned to each individual bone.
At first I wasn't sure why my model is still showing some stretching on the ears.
http://i.imgur.com/9AAlODc.png
Upon much closer inspection, it seems that the compiler is adding new bones that I have never seen in Max at all.
http://i.imgur.com/JHoww6o.png
http://i.imgur.com/68SUgNb.png

This issue is weird as the issue sometimes appears in some models, but not in others models I have done.

wallworm

First, what method are you using to export the file (WWMT itself or the standalone SMD Exporter ? )

In terms of the extra bones, it's not immediately apparent just from the images as to what bones you expect and what bones you don't expect.

Hints:

  • The SMD Exporter makes one bone for each Mesh Node and one bone for each Bone. This is simply how it works. So if you have 5 meshes and 5 bones, the SMD will have 10 bones.
  • The fastest way to get rid of unnecessary bones is to use the $collapsebones setting in WWMT -- or add it manually to the QC.
  • To manually control bone count: use less meshes or use a mesh in the rig instead of a bone (useful for mechanical rigs)

That being said, the stretching itself should be accounted for regardless of the bones. You may want to investigate the Skin modifier some more and make absolutely sure that the skin weight adds up to 1.0 for the tip of the ear. You can also go to the advances tab and make sure the bone affect limit is 3 or less and try re-exporting.


Primarina

Quote from: wallworm on March 30, 2016, 11:55:25 AM
First, what method are you using to export the file (WWMT itself or the standalone SMD Exporter ? )

In terms of the extra bones, it's not immediately apparent just from the images as to what bones you expect and what bones you don't expect.

Hints:

  • The SMD Exporter makes one bone for each Mesh Node and one bone for each Bone. This is simply how it works. So if you have 5 meshes and 5 bones, the SMD will have 10 bones.
  • The fastest way to get rid of unnecessary bones is to use the $collapsebones setting in WWMT -- or add it manually to the QC.
  • To manually control bone count: use less meshes or use a mesh in the rig instead of a bone (useful for mechanical rigs)

That being said, the stretching itself should be accounted for regardless of the bones. You may want to investigate the Skin modifier some more and make absolutely sure that the skin weight adds up to 1.0 for the tip of the ear. You can also go to the advances tab and make sure the bone affect limit is 3 or less and try re-exporting.
Hm. I though its very obvious to see those extra bones (Carbink002 and Carbink006 are the bones that shouldn't be there.) because some of my models don't seem to exhibit this problem despite undergoing the same process as this model has.

Anyways, I should have said this earlier, but I always use the standalone exporter.

I have also already tried adding $collapsebone in the qc file earlier, but it just collapses all bones into one place.

And I have investigated more on the skin modifer and lower the bone affect limit to 3 and I have verified that the tip of the ear has its weight value set to 1. Still didn't work.

http://i.imgur.com/GduJTz9.png


wallworm

So notice that Carbink002, Carbink006 etc are the meshes. That is what their bone is coming from.

For $collapsebones to work properly, you need to include an animation sequences that tell the compilers that the bones you want to keep are actually used and should not be collapsed.

The next solution is to use:

$alwayscollapse "Carbink001"
$alwayscollapse "Carbink002"
etc

In the QC. If exporting with WWMT, this is automated with the $alwayscollapse checkbox.

That should solve the extra bones also. However, this will likely not solve the weight problem. Send me your original Max file (and if this started as a QC/SMD which I presume then send those as well).

Primarina

Quote from: wallworm on March 30, 2016, 12:35:32 PM
So notice that Carbink002, Carbink006 etc are the meshes. That is what their bone is coming from.

For $collapsebones to work properly, you need to include an animation sequences that tell the compilers that the bones you want to keep are actually used and should not be collapsed.

The next solution is to use:

$alwayscollapse "Carbink001"
$alwayscollapse "Carbink002"
etc

In the QC. If exporting with WWMT, this is automated with the $alwayscollapse checkbox.

That should solve the extra bones also. However, this will likely not solve the weight problem. Send me your original Max file (and if this started as a QC/SMD which I presume then send those as well).

Looks like your prediction is correct. It didn't. In fact, it led me to the same results as if I put $collapsebone in the .qc.

And I have already sent the email to you with the .QC and .SMD files attached as well.

wallworm

I looked at the file. I looked at all the hidden objects in the scene (Carbink001...10).

When I unhid one and looked at the skin, I can see clearly that the tips of the ears are unweighted. I have a feeling that this is the root of the issue. It's likely that the mesh you are exporting isn't actually the mesh you think you are exporting, or perhaps you are exporting all of the meshes.

Primarina

Quote from: wallworm on March 30, 2016, 03:04:22 PM
I looked at the file. I looked at all the hidden objects in the scene (Carbink001...10).

When I unhid one and looked at the skin, I can see clearly that the tips of the ears are unweighted. I have a feeling that this is the root of the issue. It's likely that the mesh you are exporting isn't actually the mesh you think you are exporting, or perhaps you are exporting all of the meshes.
I am hundred percent positive that I have exported each smd file with the correct mesh. Because I have done the same process with similar types of models and it work completely fine. And sometimes, the process doesn't work as intended like it is now.

Perhaps I didn't explain my processes enough.

I made clones of the mesh to make editing of the model much easier. So that I don't have to completely redo the import process again.

Each mesh clone (with the exception of mesh Carbink001) has a purpose.
The mesh Carbink010 is the physics mesh I exported.
Carbink005 - Carbink009 are meant for the bodygroups for the crystals.
Carbink003 and Carbink004 are bodygroups for the eyes of the models.
And Carbink002 is the reference mesh.
Carbink001 isn't used for anything.

Basically, how I export the meshes is that I export only one mesh at time. So say I want to export Carbink002, the reference mesh. I hide all of the other meshes (Carbink001, Carbink003 - Carbink010). Afterwards, I select all the unhidden objects and then I set up my exporter. Then I just export the mesh. And then just rinse and repeat.

I have specifically toggled the standalone exporter to export only the unhidden objects. It's basically impossible that any hidden objects will be exported at all.

Here let me give you some details about the settings I use for the standalong exporter.
http://i.imgur.com/xbwOwJ3.png

wallworm

Quote from: Lopunny on March 30, 2016, 03:31:51 PM
And Carbink002 is the reference mesh.

The screen shot below is Carbink002. As you can see, the tip of the ear isn't weighted to the ear bone REar2. This is directly from the file you sent me and would explain the issue completely.

I'm viewing this in Max 2016 SP3. Perhaps there is a bug in your version of Max if you don't see this same issue on the model... check that you have the latest service pack installed.

Primarina

Quote from: wallworm on March 30, 2016, 03:48:24 PM
Quote from: Lopunny on March 30, 2016, 03:31:51 PM
And Carbink002 is the reference mesh.

The screen shot below is Carbink002. As you can see, the tip of the ear isn't weighted to the ear bone REar2. This is directly from the file you sent me and would explain the issue completely.

I'm viewing this in Max 2016 SP3. Perhaps there is a bug in your version of Max if you don't see this same issue on the model... check that you have the latest service pack installed.
I am using Max 2015 SP3. It's the latest version for Max 2015. It isn't a bug, I can confirm that the tip of ear isn't weighted at all somehow.
http://i.imgur.com/msGmIfp.png
However, I have never edited the weighting for a reference mesh before. So I am not too sure on how to approach this.

wallworm

I'd recommend watching some videos on skinning to make it familiar to you.

But a fast way is this:


  • Select Mesh
  • Open Skin Modifier in Modify Tab
  • Click Edit Envelopes Button
  • Click the bone you want to weight (in this case, REar2) in the Bones List
  • Scroll down to Weight Properties
  • Uncheck Paint Blend Weights
  • Click Paint Weights button
  • Hover over mesh. if the paint radius is too big, use CTR+SHIFT+LMB and drag up/down to change size
  • Paint the vertices that you need to weight (in this case, the tips of the ears).

Note that since all of the meshes have this issue, you may need to do it to all of them if those meshes are used in the bodygroups. If the other meshes have exact same vertex count/ordering, you can use the Save/Load in the Skin Advanced rollout to do that fairly quickly.

Primarina

Quote from: wallworm on March 30, 2016, 04:04:48 PM
I'd recommend watching some videos on skinning to make it familiar to you.

But a fast way is this:


  • Select Mesh
  • Open Skin Modifier in Modify Tab
  • Click Edit Envelopes Button
  • Click the bone you want to weight (in this case, REar2) in the Bones List
  • Scroll down to Weight Properties
  • Uncheck Paint Blend Weights
  • Click Paint Weights button
  • Hover over mesh. if the paint radius is too big, use CTR+SHIFT+LMB and drag up/down to change size
  • Paint the vertices that you need to weight (in this case, the tips of the ears).

Note that since all of the meshes have this issue, you may need to do it to all of them if those meshes are used in the bodygroups. If the other meshes have exact same vertex count/ordering, you can use the Save/Load in the Skin Advanced rollout to do that fairly quickly.

It appears to be working fine, so far. It looks like I will have to reclone the meshes since the meshes are using the old messed up mesh. I will check back here to make a final confirmation that the process you describe works.

EDIT: Well, I can confirm that issue is fixed. Thanks wallworm for the assistance.

SMF spam blocked by CleanTalk