Hello polycounters,
I'm doing a great deal of learning and creating at the same time... and I'm very close to being happy with the torso of my low-poly game character. I partially used this tutorial image from Ben Mathis to guide me between trying to stay low poly and have somewhat decent muscle loops.
http://www.poopinmymouth.com/process/tips/shoulder_deform.jpg
I think I've done fairly well, but I'm having a minor problem with getting the area where the upper bicep flows in the upper part of the arm/shoulder when the arm is lowered. Basically what I'm looking for are any tips on possibly weighting it a bit better or patching the mesh up a bit. This torso (including full arms and hands) is currently about 300 polys, mostly quads so close to 600 tris (not sure on my limit unfortunately... still experimenting with my Samsung Captivate).
Basic front shot:
![rig1.png](http://maximus-dev.com/images/rig1.png)
With simple rig. Currently I'm trying to hold to only allowing 2 bones of influence on each vert. This could go as high as 4, but I'm trying to keep this as simple as possible so I'd really like to stick with 2.
![rig2.png](http://maximus-dev.com/images/rig2.png)
Problem area when arm and clavicle bones are lowered:
![rig3.png](http://maximus-dev.com/images/rig3.png)
Another angle and with the circled quad split into triangles (this is my concern for what it'll look like in-game):
![rig4.png](http://maximus-dev.com/images/rig4.png)
The model will be smooth shaded ultimately, so it's not quite as noticeable... but I'm still hoping there may be an easy enough fix to get this right. I've brought the upper shoulder/bicep about as far forward as I think I can without making it look too odd and adjusting the weights to not allow the arm to pull the inside vert in as much must makes the arm look too smashed. I'm wondering if just moving the flow of the upper chest completely over the shoulder is the way to go...
Thanks ahead of time to everyone... you guys are great.
-The Toad
Replies
The clavicle is also pivoting in a weird place.
Also it would help to add an extra loop between the armpit/shoulder and the tricep/bicep, as you currently don't have much geometry to deform there.
Some more help here
http://wiki.polycount.com/ShoulderTopology
Per your advice and the images, I'm going to attempt to change the flow slightly running the upper chest more over the shoulder than into the bicep and get a couple more loops in there (and pull the rig pivot points around slightly). Wish me luck.
Also the shoulders should have quite a bit of the upper torso weighted to them as demonstrated at the bottom of the page here http://www.hippydrome.com/ShldrUD.html
I would try something like this for starters, but its just a guess I might of shot too high and outside.
I would also add two loops around the shoulder to help with deformation a little.
I should add... I'm setting vert weights manually and on top of that, coding everything on this... game engine, even the export python script from blender for the weights, so once I get the weight percentages correct, those exact values (and pivot points which I'll probably just take down manually) will be going directly into Open GL ES with my own import code.
So noted... hopefully will be able to work on that today.
I was trying to save a little bit of memory using only 2 bones per vert on influence, but with this new mesh it's really feeling like I need to go with 3. It's not a ton of memory, but is there any significant performance difference going with 3?
EDIT - Going to have to stop with the "okay I'll try that" posts because I get the feeling that it's easy to miss any real new progress posts... but in any event...
I had been assigning vert weights manually... but instead I moved the rig around to more proper locations, and let Blender try it with bone heat. I have 2 bone influence in most areas, but 3 in quite a few especially in the upper pectoral area. I gather this is likely to be the way to go after tweaking the weights a bit here and there. The deformation is actually looking pretty nice now.
I am, however, getting an unusual "ballooning" effect when the arms are brought upwards... my guess is because I need to do a rotation on the upper arm at a certain point rather than simply treating it as a hinge. Hope to have this hashed out the rest of the way soon.
Could you post an image of the ballooning?
Thanks Dim, since I indeed use blender, I've watched quite a few of Jonathan Williamson's videos, but it has been awhile since I've been to blendercookie. Just the placeholder image for the video alone is helpful.
I'll come back soon to post another update... the ballooning was 100% just a weighting issue. After letting blender weight by itself from bone heat, I'm just having to tweak them a bit manually afterward. I'm really close, actually, to a result I think I can stick with. I need to get moving on anyway... lots more to do!
http://wiki.polycount.com/CategoryReferenceAnatomy
I may go ahead and switch references to the link you posted, I think it's better than the one I was using off of the blue-print database... (blue-prints.com... I think it was... it's been awhile since I got it).
The arm is admittedly a bit beefy... that is actually causing some issues when bringing the arm forward. I'm still much closer than when I started and see a pretty close light at the end of the tunnel on this area and I'm hoping that the reference switch will help being it home.
Still have a ways to go on the rest of the mesh, unfortunately, HA. I'm reaally not looking forward to the hips... I have a feeling I'll be running into the same trouble. I'll definitely be browsing the wiki though for help on that.
Thanks to everyone's advice... hobbyists with dreams of gaming greatness wouldn't get far without help from the pros.
The only spot I would see an issue is in the armpit, it "could" be helpful to have an edge/vert there for deformation, but it really depends on how it rotates and if the armpit vert clips through the long thin chest poly, possibly, but it might not be an issue at all.
Thanks Eric and Vig... I've learned a TON in just a few days. When I first started to learn Blender, it was all subsurface stuff for nice renders... so low-poly for games is still pretty new.
I may very well be being overly perfectionist (trying to get as wide a range out of a rather low-poly shoulder as possible) but I'm wondering if what I'm attempting might be normal or not.
I've split my upper arm bone into 2 pieces. One of the places where I can't seem to get the deformation right, is when the upper arm twists. So with two bones, the lower can control most of the twist and the upper most of the rotation.
Is this a good/common idea? Am I making too much trouble for myself?
http://www.chrisevans3d.com/
While it's true that the shoulder is the hardest area to rig (even for the really experienced riggers) you can still get a decent result if you do some research and testing.
Also this page from hippydrome is informative, just for showing how the shoulder bones move around (not just rotate!) ...
http://www.hippydrome.com/ArmsShldrRot.html
So you're thinking about doing something like this?
Biped, CAT and PuppetShop for 3dsmax are the easiest to use and set up. There are others too. It's possible through simple expressions to do automated twist bones in almost every 3D app its just a matter of how easy the automation is to set up.
If it can't be automated and must be hand keyed, its probably just more of a headache and one more piece to worry about.
If its automated and it works well, you might as well use it. That is if you have the bones for it and if the automation is bulletproof.
Typically I use 3 twists for the wrists, and if I'm going to do bicep twists I normally only use 2.
Basically I did this just to take the stress off of twisting in the shoulder region, and it's working reasonably well. I guess I was primarily just trying to get a feel if this was a common solution or not something used at all.
It hasn't been mentioned in awhile, but to throw it out there, this will ultimately be for a mobile game (higher end Android devices).