Home Technical Talk

Low Polygon Joints - What is the best way?

I found 2 good tutorials on this that explain it with images

Jonathan Rush Ancient-Pig's basic deformation tutorial

Ben Mathis (poopinmymouth) Limb Deformation tutorial

But then I saw something on these forums that had these 2 pictures

Spacey's post on polycount

pnyx's post on polycount

That last example with the purple leg, does it have 2 bones in it? I'm new to rigging so I cant tell. But I really only need it for posing my low poly 3d model (that isnt done quite yet, because I need to figure this out and a few other thing :poly124:).

Are they all good methods or do I just need to use whatever helps me the most for polycount?

EDIT: added links before each image, sorry for not mentioning the tutorials.


  • Codeman
    very cool refs. I am curious about them as well.
  • Mark Dygert
    All of those are extremely low poly examples and I'm not really sure the lessons they teach translate to the games we make today (with the exception of AP's examples at the top). A lot more can be done with helper joints and more advanced weighting then just two bones and on or off weighting. I like Ancient Pigs joint approach, it works pretty well. I add a little more geometry and a patch in the back but its pretty much the same idea.

    All of the second examples could be improved if they adjusted the joint placement, but they probably didn't do it, because its more dramatic with it poorly aligned.

    The first one in the second example could be transformed into a more usable form if they pushed the inner collapsing loops out away from each other. They could also strengthen the last example by adding one loop to either side of the joint that would be weighted to each bone near 100% it would do something a little similar to lowest right example just before the purple leg. Wouldn't actually need two loops, probably just one would do it. but at that point you might as well go with AP's top example...

    In AP's exmaple you can get sharp pointy joints by placing the joint at the back, or pretty rounded by putting in the center.
  • MoP
    Offline / Send Message
    MoP polycounter lvl 16
    These examples are all valid - some will be better for ultra-low-end stuff (DS, mobile games etc), like the last example there.

    For higher-end stuff, it's always going to look better if you have more polygons in the areas that deform, otherwise you can end up with a fairly ugly "sharp" lowpoly silhouette.

    Joint position is fairly important too, although personally I try to be more anatomically correct with joint positions when it comes to more high-end characters since it helps them deform more realistically. As Vig says there are tons of things you can do with angle deformers, helper bones and other more advanced rigging methods.
  • Mark Dygert
    Here are two examples of Ancient Pig's joint. The regular joint he shows on the left, and on the right a little more geometry and well placed edges to control deformation. No need to destroy your loops by turning the quads into triangles, just make sure the invisible edges are facing the right directions. I created them just for this example because its important.
    (I think in Maya you must create the edges but in max you can edit the invis edges)


    And to cover the basic weighting, if it wasn't clear already.
    With the patch you can create, pointy, nubs the farther out you push the joint. Good for bug limbs, old people, skinny people, and cartoons. But the inner part clips more. So you're more likely to add geo to control the clipping. For most things you'll probably get by ok just to place the joint where the center 50/50 vert is.
  • Sidikian
    @ Someone -Not to be a jerk, but you should at very least give credit to the places you get tutorials from esp. when reposting. That first screen shot is from Jonathan Rush's (a.k.a. Pig Brain) basic deformation tutorial. The second is from one, animated gif, is from Ben Mathis's (a.k.a. poopinmymouth) Limb Deformation tutorial.

    Ben Mathis is a member of this forum not sure about Jonathan. Either way though you can't always just go reposting stuff you find on the net without asking permission or giving credit. You'd be better off giving a link to the page with the tutorial on it.

    With that being said it is nice to see all these examples in one place I've searched the web for weeks looking for good info on low poly joints and I've come across those as well as others, but you need to make sure you have permission to post them as you have.

    @ Vig awesome reinteration of pig's info with your twist. Very well explained thanks for that.
  • Mark Dygert
    Sidikian, yep Johathan goes by Ancient Pig around here. Ben actually left and now calls GA home following some stupid drama. And no problem always glad to help.
  • s0me0ne
    Sidikian wrote: »
    @ Someone -Not to be a jerk, but you should at very least give credit to the places you get tutorials from esp. when reposting.

    Sorry about that, I've posted links for each one before the image. :poly122:
  • Ancient-Pig
    Hey guys,

    Thanks for the shout out... it's kind of impossible to peg who exactly came up with these joints, as the way I do it is kind of a blend using info I've gotten working with various other artists through the years.

    The examples I'm giving aren't so much for use straight out. I should be more clear about that on my site (actually, I should just update the tutorial). These are just base ideas to build upon...

    Vig made a much nicer example than mine, and the addition of the weighting diagram goes a long ways too.

    Mop and Vig are also dead on when referring to modern applications, with more advanced rigging.
  • helldiver
    Ok gents, this is all good and well for elbows and knees. What about shoulders? Or thumbs? you know the joints that rotate in more than one plane?

    I'm having a hard time with shoulders right now. Perhaps you guys can post a couple pics with suggestions on how the geo should flow on the shoulders and maybe thumbs?


    They rotate ok along the Y axis? (I think that's right) But along the X axis The deformations can get all nasty.

    Some tips maybe?
  • kodde
    Offline / Send Message
    kodde polycounter lvl 16
    Nobody mentioned our wiki yet?
    Allow me to. It has a few example images that might be useful.
  • helldiver
    Thanks for that! I'd followed a similar one in a thread on the Tech Artists forums.
  • Anuxinamoon
    Offline / Send Message
    Anuxinamoon polycounter lvl 14
    I don't know if this will help you helldiver, but this is the way I have been using.

  • helldiver
    Appreciate the help, I saved the image for reference.

    I've done a similar method for a while, essentially like they mentioned above, the bendy straw type. I wanted to break into more pronounced muscle geometry, kind of the way a lot of asian games have it, it's been a great challenge so far.

    Several times I've wanted to just give up and move on. Seeing what some people can do (like move the arm all the way back and still have near perfect muscle definition) is rather depressing. Once I got everything working good, suddenly I ended up with a bunch of shadow errors (low res fighting the normal map).

    So it just never ends.
  • Mark Dygert
    Remeber the clavicles/shoulder joints are important parts of articulation when moving the arms around. The bicep can't do it all on its own. It would help to see the joint placement and the motion that causes shadow problems.

    Part of the problem I would have with the model you posted helldriver is that its all triangles and they're flow is kind of chaotic this is another reason why its good to work in tri strips and quads it makes skin weighting much easier. That's not to say what you have can't work but its going to be harder than it needs to be.

    Hang in there everyone goes through those headaches when they're learning =)

    This might help with topology, joint placement, articulation and weighting.
  • helldiver
    yeah I'm starting to realize the importance of quads. Quads is a new thing for me to be honest. I come from the thought that quads=bad. Part of the reason some of my models have problems is because I get into this optimizing frame of mind. I start collapsing loops and removing tris in an effort to crunch it down to below a set number.

    I made some changes and it fixed some of the issues I was having. Basically it was the inside of the elbow join. I've never had issues before, but now that I'm using normal maps and such, shadow errors are very glaring. Stuff I might have ignored before (such as a sligh dip) now become nasty ugly silloutte errors when you have the normal and specular highlighting things.

    I'm on a crunch for time but I'll edit this post with a pic of the shadow error, although I've aleviated it a bit, it still more or less there.


    Ok the first error


    Notice how strangely the lighting behaves as his forearm moves up. This was worse before, but I added additional geo in order to alleviate some of it.

    Still, the way the inner forearm-bicep joint highlights seems wrong to me. I could be wrong and I'm just nitpicking. Hence I post it up, perhaps you folk can give some tips. Maybe I'm doing something else wrong.

    If this didnt have a normal map, or specular or any of that (standard guraud shaded) this probably wouldnt have been an issue at all.

    Second problem:

    Middle of the bicep just shadows kind of wierd. In the t-pose I didn't notice that problem, soon as his arm moves downward and the forearm bends up it seems this problem comes up. Now if you notice the other images above, this area is all 1.0 in weight, so it shouldn't really deform at all.

    Maybe I'm being nit picky. Anyhow as always the tips, links, and help is always appreciated.
  • Mark Dygert
    Looks like it could be just a viewport lighting issue. What does it look like if you render the scene? When it comes to lighting you can never trust 100% what you see in the viewport, its close but never 100%.
  • helldiver
    hrm I guess it was a viewport issue. The glaring shadow errors don't show up when rendering. I hadn't rendered in a while.

    So inside a game engine the lighting system is better I presume?
  • Mark Dygert
    Depends on the engine and the shaders. I suspect the viewport is using vertex lighting, which would explain why a large section goes dark when a few verts clip inside of the geometry. If the engine uses the same lighting set up you would probably want a row of verts just outside where it clips so the shadows are contained to a much smaller area and its not traveling as far before it encounters a lit vertex.

    Taken from: http://www.hourences.com/book/tutorialsvertex.htm

    But it all depends on what engine and how they handle lighting and what shaders are applied. That's a big bag of what if's =/
  • helldiver
    Thanks for that. Always wondered about that. No wonder it takes me so many verts to get head/faces the right way. My heads weigh in between 450 to 500 tris. That's mostly to get things lit correctly.
  • Jon Rush
    Another thing to remember helldiver, is that it'll never be perfect. There's always going to be something 'off'... just have to do the best you can to minimize the weirdness.

    Make sense?
  • helldiver
    Yeah I need to get away from that. I tend to get fixated on something and will hack away at it until I think it's "fixed" even if it takes me longer than normal.
Sign In or Register to comment.