Fixing "assertion failed" error without re-weighting
by Russell Fincher · in Artist Corner · 01/16/2008 (6:55 pm) · 8 replies
assertion failed on skin object...
Ever weighted a mesh, then find that you applied the skin modifier to the editable poly instead of the editable mesh? I just realized this happen on one of our characters, after an artist spent a few days weighting it correctly (yes, it was my fault... I forgot to inform him of that one small detail). I thought we were screwed and would have to eat a couple of days of work, but then he did this:
"in the stack, I clicked the Editable Mesh, then clicked Yes at the dialog. Then I added an Edit Mesh modifier and again clicked Yes at the dialog. Then I right-clicked the Edit Mesh and clicked Collapse To."
So he was able to switch the mesh from editable poly to editable mesh without losing the skin modifier! Maybe everyone else knows this trick, but I didn't. Thought I'd share it here so people can find that solution in the future.
Using Max 2008 and DTS Utility for Max 9.
Ever weighted a mesh, then find that you applied the skin modifier to the editable poly instead of the editable mesh? I just realized this happen on one of our characters, after an artist spent a few days weighting it correctly (yes, it was my fault... I forgot to inform him of that one small detail). I thought we were screwed and would have to eat a couple of days of work, but then he did this:
"in the stack, I clicked the Editable Mesh, then clicked Yes at the dialog. Then I added an Edit Mesh modifier and again clicked Yes at the dialog. Then I right-clicked the Edit Mesh and clicked Collapse To."
So he was able to switch the mesh from editable poly to editable mesh without losing the skin modifier! Maybe everyone else knows this trick, but I didn't. Thought I'd share it here so people can find that solution in the future.
Using Max 2008 and DTS Utility for Max 9.
About the author
Art Lead at Sickhead Games, focused on dev tools and prototyping, instructor/advisor at several Dallas colleges and universities, Associate Developer with GarageGames, champion of avant-garde game art at uncommonassembly.com.
#2
01/18/2008 (2:10 pm)
In fact saving and loading *.env files doesn't work(i think so). After i adjust the weights and save them , if i delete the skin modifier and apply it again and load the weights i get differently weighted vertexes. In most cases after loading the *.env file i have to do some work with the weights of the vertexes to get the previous result(before saving the *.env file).
#3
01/18/2008 (10:26 pm)
Wierd, ive successfully used that approach multiple times.
#4
01/18/2008 (11:35 pm)
Saving envs work fine, just need to make sure you bake them
#5
You can right click the skin modifier, choose cut, convert to editable mesh, right click the stack and paste the skin modifier right back.
What I usually do though is to simply add a mesh select modifier right before the skin modifier and then DON'T collapse it. Yes, this WILL work.
stack will look like this:
-Skin
-Mesh select
-Editable Poly
This has the added advantage that if you need to edit your mesh you don't have to do it in mesh mode! And no messy converting back and forth.
01/19/2008 (1:36 am)
There's even easier ways.You can right click the skin modifier, choose cut, convert to editable mesh, right click the stack and paste the skin modifier right back.
What I usually do though is to simply add a mesh select modifier right before the skin modifier and then DON'T collapse it. Yes, this WILL work.
stack will look like this:
-Skin
-Mesh select
-Editable Poly
This has the added advantage that if you need to edit your mesh you don't have to do it in mesh mode! And no messy converting back and forth.
#6
1.adjust the envelopes and weights of the bones and choose "save" from the "Advanced Parameters" rayout.
2.load the envs using load from "Advanced Parameters" and click "OK" form the pop-up menu.
Then i see that the weights has changed. I believe saving and loading works fine , but i can't figure out where i mistake.
01/19/2008 (9:45 am)
What does it mean to "bake" them? I am doing this:1.adjust the envelopes and weights of the bones and choose "save" from the "Advanced Parameters" rayout.
2.load the envs using load from "Advanced Parameters" and click "OK" form the pop-up menu.
Then i see that the weights has changed. I believe saving and loading works fine , but i can't figure out where i mistake.
#7
To convert your envelopes to vertex weights you would select the vertices and hit the "bake selected verts" button in the skin modifier.
Then when you load the .env file you should make sure "load vertex data" and "load vertices by index" are both checked.
But as I've already mentioned, there's really no need to use the save/load feature in skin. Easier to cut/paste the whole modifier.
01/19/2008 (10:33 am)
What he means is that if you save the vertex weights rather than the "envelopes" it tends to save a bit better.To convert your envelopes to vertex weights you would select the vertices and hit the "bake selected verts" button in the skin modifier.
Then when you load the .env file you should make sure "load vertex data" and "load vertices by index" are both checked.
But as I've already mentioned, there's really no need to use the save/load feature in skin. Easier to cut/paste the whole modifier.
Torque 3D Owner Adam deGrandis
Adam deGrandis