Reply
Posts: 265
Topics: 160
Kudos: 1
Registered: ‎07-04-2009
0 Kudos

Copying skin weights from the default SL avatar

So I have been fiddling with the copy skin weights option in Maya and in a lot of cases I design any clothes, especially, tops, the arms and breast areas will be sunk and it will all be distorted in a complete mess, later I find out this is because the skin weights applied by default arent reliable and I have to paint my own, which is sometimes, a lot of work, so, is there a way to obtain a rigged SL avatar somewhere, so the weights can be copied from that avatar to the custom mesh and leave no place for rigging errors?

 

thanks

http://www.haokdesign.com/
Advisor
Chosen Few
Posts: 1,744
0 Kudos

Re: Copying skin weights from the default SL avatar

[ Edited ]

Reply to Voodoo Schnyder - view message

I'd like to help, but there are a few things in your post that are less than clear.

First, I'm not sure exactly what you mean by "skin weights applied by default".  Do you mean the weights that are already on the default SL avatar rig, or do you mean the weights that are automatically applied when you first bind your model to the skeleton?

Second, you said you've been trying to use the Copy Skin Weights feature, which suggests you've already got a rigged avatar model, but then you also asked where to get one, which would seem to mean you don't already have one.  So, which is it?  Do you have one, don't you?

 

In any case, it's really important to understand that rigging is an art, not just a button to push.  It ALWAYS takes work.  There's no way around that.  While, just like anything else, it does get significantly easier and faster, the more you do it, it's rarely anything so simple as just pushing the magic Copy button.  There are a lot of things that have to be right in order for rigging to be successful, and things get even more specific if you want to be able copy weights from one model to another.

Before anything else happens, it's absolutely crucial that the structure of the model itself be right.  Topology has just as much to do with rigging a model as does the actual rigging itself.  If you try to apply skin weights to a model that is not properly topologized for animation, you'll always have problems.   This is equally true whether you're painting new weights from scratch, or copying existing weights from another model. In order for it to work, the topology has to be conducive.

With respect to copying skin weights in particular, there are several things you need to be intimately aware of, in order to make it work well.  The copmarative shapes, sizes, topologies, and UV layouts of the source and target models, along with the particular settings you choose in the Copy Skin Weights Options, all play vital roles, and they're all intertwined. 

If you haven't already, take a good long look at the Copy Skin Weights options box.  If you don't already know what all the options do, click Help at the top of the box, for a full explanation.  You can also click this link, for the same page in the online help. 

I can't make any useful suggestions about what options you should be using, without first seeing the model.  I'd need to know its shape, topology, UV layout, before I could make any intelligent decisions.  It all varies, from model to model. 

In other words, there's no way to simply tutorial-step your way through this one.  You're going to have to read up on the concepts, and then practice a lot, so you can absorb them.  Once the logic of it gets in your head, it will become second nature.  But until then, it's probably going to be a bit uncomfortable, and slow.

 

Side note:  The last time I gave someone a similar answer (on another equally broad topic), the person got all kinds of angry that I had not provided a step-by-step tutorial, and chose to spend a not inconsiderable amount of time posting rude things about me, rather than follow my advice about reading and experimenting with the options as the best way to learn. Eventually, I was able to straighten things out with that person, but not before plenty of time had been wasted on pointless arguing, instead of purposeful work.

I sincerely hope you're wise enough not react the way that person did.  I'll repeat now what I tried to explain then. If it were possible to write a tutorial that would cover all the bases on this topic, I'd be happy to do that, just as I have for countless other topics, over the past nine years I've been participating on this forum.  But in this particular case, there's just no way to do that.  With multiple options to choose from, all of which must be understood before they can be used, and the applications of which vary in accordance with the particulars of each project, tutorial-style teachning simply is not the way to go.  Sometimes, the onus is on the learner, to just dive in and learn.  All I can do is point you towards the knowledge.  I'm afraid I don't have the power to make anyone magically learn without doing the work.

 

By the way, in case you do need a pre-rigged avatar model, there's one that comes with the Standard Sizing Pakage.  Open up the Maya scene, and you'll see it at the bottom of the layer stack.  Copying weights is the reason it's included.

"It's a big universe. Everything happens somewhere."
- The Doctor
Posts: 265
Topics: 160
Kudos: 1
Registered: ‎07-04-2009
0 Kudos

Re: Copying skin weights from the default SL avatar

Reply to Chosen Few - view message

Let me exemplify, there's this model, who appears to be in correct, actually, perfect size and position to the avatar shape I imported from SL and avatar skeleton right?

 

Well after uploading this to beta grid this is what i see, a distorted, misplaced version of what I wanted, I have no idea why this happens but it keeps happening! I usually get a work around, move some vertices, paint some areas, fix it with alpha masks, but I'd like a more reliable fix!

 

rigerror.jpg

http://www.haokdesign.com/
Rahkis Andel
Posts: 343
Topics: 4
Kudos: 43
Registered: ‎05-21-2011

Re: Copying skin weights from the default SL avatar

[ Edited ]

Reply to Voodoo Schnyder - view message

I do not use Maya, so I don't know what copy skin weights does, but it stands to reason that the weight information from one object cannot simply be applied to another when their vertex data is completely different. Unfortunately what you are trying to accomplish has no easy button, as Chosen already made abundantly clear.

With that out of the way, you have a much larger problem on your hands.

You're approaching mesh modeling as if you were building an object in Second life the old way; the point of using mesh is to not cram 200 objects together to make something that could have been represented just as easily with one simple object.

Don't get me wrong. Your ninja uniform is fine -- great even...But it's not a game-ready model. You need to retopologize what you have into something that more closely matches the poly-distribution of the body wearing it. For that matter, you don't need that body under the uniform. You could cut that out entirely and save a great deal of polys (that would solve your clipping issues).

If you don't know how to retopo, look up a tutorial on youtube. I'm sure there are hundreds -- If you used Blender, I could be more direct.

Good luck.

Posts: 265
Topics: 160
Kudos: 1
Registered: ‎07-04-2009
0 Kudos

Re: Copying skin weights from the default SL avatar

Reply to Rahkis Andel - view message

the body under the uniform is a sl shape, its not meant to be imported
http://www.haokdesign.com/
Advisor
Chosen Few
Posts: 1,744

Re: Copying skin weights from the default SL avatar

Reply to Rahkis Andel - view message


Rahkis Andel wrote:

I do not use Maya, so I don't know what copy skin weights does, but it stands to reason that the weight information from one object cannot simply be applied to another when their vertex data is completely different.


Actually, it can. :smileyhappy:

This is a really handy feature in Maya, which when used properly, can save an enormous amount of time.  Weights from one model are projected onto the other.  There are various projection methods to choose from, depending on the particular differences between the models.  Even very dissimilar models can work, as long as the user understands what settings to use, and why.

It can be supremely useful for putting clothing over an existing character model, or for cases in which lots of different characters are to use the same skeleton, or for using a high-res character model as the source for a game-ready one.

"It's a big universe. Everything happens somewhere."
- The Doctor
Advisor
Chosen Few
Posts: 1,744
0 Kudos

Re: Copying skin weights from the default SL avatar

[ Edited ]

Reply to Voodoo Schnyder - view message

It looks like you've got a lot of separate problems going on.

First, as others already pointed out, you don't need to upload the avatar shape itself.  In your picture, it looks like you've got a regular avatar wearing a nearly identical mesh avatar shape.  That's never a good idea.   Not only does does this cause clipping problems where the two surfaces are not an exact match, and potentially cause Z-fighting problems in areas where they do match precisely, it unecessarily doubles the amount of data and processing overhead.  Remember, resources are finite in any real-time environment.  Any situatiuon in which you're using more resources than are absolutely necessary should be avoided.  So, step one is stop including the avatar body in your uploads. 

(ETA:  I just realized it might just be some odd shading in the screenshot that makes it looks like there are two bodies present.  If you did not actually upload the avatar body model, you can of course disregard the above paragraph.  Everything below will still apply, either way.)

Second, as Rhakis said, your model does not appear to be game-ready.  In order to make it suitable for use in any real-time environment, it has to be built the right way.  For starters, this means doing the following:

 

  1. Get rid of any and all polygons that will not be seen.  It looks like you've got interior surfaces present, as well as surfaces that are either partially or fully occluded from view by other overlapping surfaces.  This unnecessarily doubles your poly count (or even more than doubles it), and it complicates your workload for rigging by at least an order of magnitude.  All of those hidden polygons should be removed. 
  2. It's hard to say for certain without seeing the wireframe, but from the degree of curvature and apparent surface imperfections, I suspect the poly counts are radically higher than they need to be.  That's not to say good curvature and a healthy amount of imperfections are not important.  They are.  It's just that these things can usually be expressed much more efficiently with good texturing and clever use of normals than with actual geometry.  When modeling for real-time, it's supremely important to keep your poly counts as low as possible.
  3. As Rhakis well stated, your model appears to be made from lots and lots of individual components.  That's entirely the wrong approach when modeling for real-time.  You appear to be thinking of it in terms or RL structuring, as if you were an engineer building CAD models, rather than in terms of surface modeling, as a game artist always should.  Generally speaking, each major component should be a singular surface, with an low poly count, animation-friendly topology, and a sensible UV layout. 

Third, you've obviously got some rigging problems, which we can talk about solving, but not yet.  All of the above changes have to be made before we can have any useful discussion of how best to rig the model.  I know that's not what you probably wanted to hear, but it's the only truth I've got. 

Once you've rebuilt the model to be game-ready, we can revisit the topic of rigging.  In the mean time, if you've got questions about how it should be rebuilt, feel free to ask.

As I started to say earlier, the rigging itself is a relatively small part of producing a successfully rigged model.  The much larger part, which has to come first, is constructing the model in the proper manner, so it is well suited to be rigged.

"It's a big universe. Everything happens somewhere."
- The Doctor