Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

What are the trade offs between inherent in linking geometry to a node versus using skinned geometry?

Specifically:

  • What capabilities do you gain / lose from using each method?
  • What are the performance impacts of doing one over the other?
  • What are the specific situations where you would want to do one over the other?

In addition, do the answers to these questions tend to be engine specific? If so, how much?

share|improve this question

2 Answers 2

up vote 1 down vote accepted

By "linking" do you mean having separate objects moving attached to a frame of some sort?

If so, this is what I've heard called "segmented mesh," and I first remember noticing it in Tomb Raider. Indeed- this is what first prompted me to start researching skinning because I realized that if you just had polygons between the segments it would (ok might) look a lot better. It would certainly look fancier.

Modern skinning though uses some number of weights on each vertex. Therefore it is much more expensive to render the objects, since you're transforming each vertex by a number of matrices and then doing a weighted sum, as opposed to just transforming the vertex by one matrix. (Which as it turns out is how our first-gen skinner worked, all verts had one weight, so the "joint faces" were the only ones that would deform.)

Capabilities gained or lost? The only difference in the end result is how they look.

Specific situations where I'd use one or the other? I'd use skinning if the jointed look didn't work or was otherwise noticeable and undesirable.

share|improve this answer

The skinning deformation calculations can be done in the vertex shader. A model created from separate rigid parts linked to a transformation hierarchy needs to be drawn with multiple draw calls, updating the transform matrix in between each.

So unless you're doing the skinning in software, skinned models will most likely perform better!

Skinning lets you do smooth deformation between joints. If you just want the look of linked animation, it can be emulated by assigning very simple skinning weights.

Linking allows you to easily connect separate models in new configurations, such as attaching weapons to a character.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.