Jump to content

Leg spikes and skin weights


Floren Seiling
 Share

You are about to reply to a thread that has been inactive for 4043 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I am having a lot of problems with skin weights. I am trying to decide whether it is my problem, or a bug in the Mesh system, so that I can deal with it and maybe report it.

I am gradually optimising and improving a rigged version of the SL avatar mesh. It is almost complete. But I can't get rid of nasty "spikes" between the legs. (Very uncomfortable!)

Here is what I see on Aditi http://img18.imageshack.us/img18/971/screenshot20110724at162.png

You can see it looks like this vertex is weighted to the wrong leg, but look, here is what I see in Blender http://img580.imageshack.us/img580/971/screenshot20110724at162.png

(Sorry, I tried to inline the image but SL forum just says "Unexpected Error" when I try to choose the file.)

The vertex weights are to the correct target: mKneeLeft. There is no other weight to a bone there. Also, if I re-import the Collada back to Blender, the result is the same. Only a weight to mKneeLeft. But in Second Life, there is a big spike towards the other leg animated as if it is weighted to there.

So, any ideas? Time for a JIRA?

Link to comment
Share on other sites

Make sure you delete any .slm files in the folder where your Collada .dae is.  Those are created by the Second Life mesh uploader to save your settings, but I think it preserves errors sometimes.  If that is not the cause, I don't now what is.  That *does* look like one vertex weighted to the wrong leg, I had a lot of that trying to weight my own mesh avatar, which is a tedious process if you want it to animate decently. 

Link to comment
Share on other sites

Thank you for the suggestion. As you can see from my other thread I already have a lot of trouble with getting SL to notice changes to my work. I delete the .slm file but it's keeping a copy somewhere. Since I've also tried deleting my cache, settings, etc. I'm wondering if it's somehow being cached in the sim! Or perhaps my uploaded model is somehow getting confused with older uploads. It is extremely frustrating.

Link to comment
Share on other sites

I am using Blender2.49b and Gaia's scripts when doing skin weight.
Gaia, thank you very much.

Spikes after Mesh upload to check no weight paint vertices.

Gaia's script said no error about skin weight when export as dae in my cases.

I only copied skin weight from original avatar mesh to my avatar mesh seeing the following.

Rigg your Avatar

The difference is I copied skin weight head, upper_body and lower_body separately before join them.

Following pictures are results.
There are no problem in separated meshes, however a joined mesh spikes.
And I copied skin weight after join body parts like "Rigg your Avatar" to ensure.
The joined mesh spikes also.

If you separate your meshes into 2 or 3 parts,  your spikes might disappear.

sipked_mesh.png

 

 

 

  • Like 1
Link to comment
Share on other sites

Thank you for the link to your blog post. I will work through it. You have exactly the same spikes I have, so that is a clue. (By the way you can see that it is not an unweighted vertex in my original post -- I already made sure of that.)

I really do not want to have the meshes separate, as this makes a seam around the waist and neck, as well as wasting vertices. My goal is to produce a single smooth mesh with minimal vertices that matches the LL avatar, then start refining and improving it.

I think there is a bug in mesh upload though. I noticed that the spikes are where the vertices are close together in the original avatar pose. So I lifted the leg up high as a test. This messes up the pose, but look!

http://img585.imageshack.us/img585/6289/screenshot20110724at193.png

No spikes! So, what is happening? Are LL using inaccurate numbers for matching vertices and accidentally attaching vertices to the wrong bones by spatial position?

Link to comment
Share on other sites

maybe...

SL supports vertex weights in up to 4 weight groups. It is unknown what happens when a vertex appears in more than 4 groups. So maybe the importer just ignores the weight group with the highest weight for the affected vertices and so the weighting gets borked ...

I remember that i had some issue like this a while ago. There was one vertex on the inner side of a knee, which created  a spike towards the other knee after uploading. Since both knees are very close to each other it could be the fifth weight group striking back here ;-)

If you would provide the blend file, then i could tweek the 2.49 Collada-exporter a bit and find out, if the "number of weight groups per vertex" is > 4 at the spiking points...

 

Link to comment
Share on other sites

I have just tried the 2.49b exported with your scripts, but they do not show any errors (with “Check Weights”), and nearly the same spikes appeared. The vertex has exactly one weight to mLeftKnee.  If you export then re-import the Collada, that is the only weight on the vertex. But once imported it is like it is attached to mRightKnee. I wondered earlier today if the shape keys and their vertex groups had an effect, but I tried removing all those too and the result is still the same.

I think I might give up on Mesh for a while. I spent my whole weekend waiting for SL to finish crashing, then waiting for region to log me out, just so I can get back in and have it crash 20 second later (literally) and then trying to debug this stuff is just making me very sad.

Thank you all for your help.

Link to comment
Share on other sites

  • Lindens


Floren Seiling wrote:

I am having a lot of problems with skin weights. I am trying to decide whether it is my problem, or a bug in the Mesh system, so that I can deal with it and maybe report it.

I am gradually optimising and improving a rigged version of the SL avatar mesh. It is almost complete. But I can't get rid of nasty "spikes" between the legs. (Very uncomfortable!)

Here is what I see on Aditi

You can see it looks like this vertex is weighted to the wrong leg, but look, here is what I see in Blender

(Sorry, I tried to inline the image but SL forum just says "Unexpected Error" when I try to choose the file.)

The vertex weights are to the correct target: mKneeLeft. There is no other weight to a bone there. Also, if I re-import the Collada back to Blender, the result is the same. Only a weight to mKneeLeft. But in Second Life, there is a big spike towards the other leg animated as if it is weighted to there.

So, any ideas? Time for a JIRA?

Yo Floren:

 

Yeah there does seem to be an issue with the mesh importer that causes spikes with some models and the're a couple Jiras associated with it right now ( sh-2044 comes to mind). FYI: I am working on this issue right now.

The only work around that I'm aware of is breaking your model into parts - as this bug seems to only be seen when you have a merged mesh and slm afik has nothing to do with this issue - as this issue is a parsing issue that occurs regardless.

Once I have a code solution in place I'll let you all know!

 

and BTW if you want to really help out - email me the dae for your rig, and that way I can confirm the fix w/your asset as well ( send it to prep@lindenlab.com).

 

Thanks!

-prep

 

Link to comment
Share on other sites

  • 1 month later...
You are about to reply to a thread that has been inactive for 4043 days.

Please take a moment to consider if this thread is worth bumping.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...