Most efficient way to use bendy limbs in built in character rig


#61

there are no downsides. and no need for bodypaint. just create a new texture, fill the base layer with skin color, create a new layer on top of it, double click your poly selection to select the polygons, fill polygons with lip color. save as a tif or psd, load the file into the color channel of your main material with the normal and displacement happening and you’re good to go. if you make that color texture also 8k i don‘t think you have to worry about pixelation. you have then 1 material for everything with 3 maps instead of 3 materials with 2 maps each. i usually just paint my color maps directly in photoshop, that‘s also a route you could take.


#62

OK, thx. Hadn’t heard of that method. For anyone following, it’s all done in UV EDIT mode, and there are tools in Layer dropdown menu like Fill Polygons.

For some reason, I still get unusable results with 32 bit maps (TIF or PSD). They look fine in preview, but then are very dark or black and unusable when baked… Is this some sort of known issue? (mac).

Face in pic (skin only) has with maps for 4x sub poly (rounded) object displacement and normals.

Any reason why some mode other than object would be preferable for either map?


May have to rework face topo a bit to deal with last few issues regarding seams at earlobes, divot between nose and dimples that break a bit when projected. May be able to work minor seam issues (ring around nose) out by overpainting color map.

Hoping to work that and hair projection out to start rigging later today.


#63

Getting him rigged up now. If it was in your rigging tut, I missed it, but I see that your rig auto-creates 5 finger hand when I add an arm. Since this character has 4 finger cartoon hand, what’s the proper way to adjust the rig to match?

I tried showing full hierarchy in object manager and just deleting everything relating to ring finger, but deleting any bone in ring finger deletes entire arm chain.

Also a bit confused as to why the wrist bone appears to extend beyond the joint, and there’s an additional kink before the fingers joint. I’m guessing it’s not supposed to look like this. Is there something I should be doing about it?


#64

that kink does look a bit weird. for the fingers: just position the pinky outside of the hand and just ignore it. that’s what i do if i have to make hands with only 3 fingers.


#65

Will do on pinky.

Kink first became apparent when I repositioned wrist joint after fingers joint in place (I undid and repositioned several times, and it kinked each time), but I’m pretty sure that little extension past wrist joint was always there… and not seeing how to undo the kink (if it matters)


#66

just switch to animate mode and try arms and fingers out if everything works correctly. if so, switch back to adjust mode and continue. if not and weird things happen, you must have messed something up and i’d recommend posing the rig from scratch… but my guess is everything will work just fine.


#67

Seems ok.

I have objects with different sub requirements for a variety of reasons, so I have separate head, head accessories, shoes, body.

Your tut doesn’t appear to address as example is single object, but another tut I watched said to select body part to bind while simultaneously selecting joint chain / chains to bind that body part to (except for joint chain tips), then use character / bind command to bind that part to those joints.

Doing so results in a separate skin object per body part. I could be wrong, but I thought I remembered you mentioning at some point something about how it all ends up being under a single unified skin object.

Just keep doing like I am, or is there some other suggested method for binding multiple objects?

Your rig looks a little different on full hierarchy than the one in that tut too… should I be selecting only the green joints (minus tips) for binding? (And skip pinky chain for binding as well since not used)?

Not really sure what to do in terms of binding with all the fan joints, arm/leg sub-bones, etc. Select all of them if binding to that region?


#68

you don’t need to bind anything manually. in the character objects attributes, select the binding tab and lock the attributes manager. then select all the meshes you want to bind and drag them into the binding list slot. then switch to animate mode and you’ll see that everything got bound.


#69

OK. Will go back and redo that way. Need to redo shoes anyway since binding them causes them to warp:

I’m assuming this has something to do with shoes being turned out slightly. They’re so oversized it’s the only way I could get them to not overlap. They’re quite asymmetric, so really no such thing as “straight”, but I could rotate them until heel / ball / toe is in straight line forward, but that would push the ankles outward so they would then be wider than the knees / hips and mean ankles slightly bent so feet are flat on ground.

I can try to see if I can widen hips a bit more, but if not, how would you cheat posture to accommodate shoes?

… or am I misreading the situation, and this is maybe caused by rocker placement or something else like that?


#70

binding shouldn’t move anything, regardless how things are oriented.

the only reason why they could be warping when you bind them is that they had a skin object before binding.

but you could also fix that by dectivating the skin object, then selecting the weight tag on the shoes, click the “reset bind pose” button, and then activate the skin object again.


#71

Hmmm… Reverted to saved (pre-bind or skin) 5-6 times trying different tweaks, and warped upon bind each time.

Too late to try the reset option, but good to know. Almost done with some other tweaks to straighten posture. Will redo rigging from scratch shortly.


#72

I’m trying to follow your directions for volume preservation surrounding fan joints.

It appears that the “knee” joint occupies no unique space of it’s own, but rather coexists in the same location with low_1.

So the sub-joint 1 above the knee is up_5, but it would seem that the sub-joint 1 below is not low_1, but rather low_2.

Am I misunderstanding something, or would the proper knee weighting be:

90% up_5 / 10% low_2
100% knee
10% up_5 / 90% low_2


#73

no. 90 up5 / 10 knee - 100 knee - 90 low 1 / 10 knee… knee is at the same location as low1, but averages its rotation between up5 and low1.


#74

AAAAAAAAAAAUGGGGH!!!

I worked out most of the other details, but after spending 2 days now painting, going back and tweaking, re-rigging, and re-painting, I thought I was just about done… until I saw this:


It looks like the normal maps for the head, hair, brows aren’t sticking properly, so when deformed, twisted, moved significantly, it becomes obvious that the shading is all wrong.

Each is uv mapped and has it’s own combined displacement / normal (object) map.

EDIT: Did some digging and found this in Autodesk knowledge base:

The other very popular use for tangent space normal maps is the deforming of characters. Because the tangent space normal map defines the details of a character relative to the surface, you can stretch, move and deform your character, and those normal mapped veins on his arm will deform right along with the character. If his arm is turned upside down, the veins will appear as it they are upside down, and so forth. You cannot achieve the same effect with an object space normal map.

Sonofa…

I need to take a sanity break, but I guess I’ll have to go back and find the bake stage, redo all the maps.

Unless… anyone got a conversion process (normal to tangent)


#75

ahh, that sucks… never used object space normals, but good to know they don’t hold up for deformations.


#76

Will fix later. Should hopefully be able to just apply new map to existing pre-weighted head.

In the meantime, I’m trying to take a lot of the individual bits you’ve shared here or in tuts and form an overall philosophy of how to approach certain things.

For instance, In the simplest case of a straight limb with a single simple joint on either side like forearm, if you already have your loop trios assigned for wrist and elbow, but still have an additional loop between them, do you:

  1. Assign it 100% to the last joint it extends beyond (low_3 if between low_3 and low_4)

  2. Assign it partially to joints on either side (split between low_3 and low_4 if between)

  3. Give preference to major joint assignments (Assign one or both sides to wrist or elbow instead of sub-joints)


#77

I forgot that the reason I did object in the first place is that tangent wasn’t working. Tried again a few times (in sculpt view pressing Bake Selected Objects button and using xyz tangent combined 16bit psd 8k normal/displacement)

After trying a number of tangent options, it always comes out smoothed out like this (ignore color)

I don’t see any option like on displacement to set max depth values or anything like that.

Look at normal map shows every attempt to do via tangent coming out like this:

Is there a different process you use to bake tangent normal map?


#78

simple answer: whatever looks better :wink:


#79

i remember now i had issues with that as well the one time i was i need of this… baking from a sculpt worked, but just baking from a high res mesh didn’t for some reason… i think i cheated it with baking out displacement and ambient occlusion and then used crazy bump to generate a normal map… but i’d be interested as well why it doesn’t work to bake out a tangent normal map from a high res mesh without a sculpt tag…


#80

Not sure what you mean by “baking from a sculpt tag”. I have a sculpt tag… in sculpt mode to do the “Bake Sculpt Objects” command.

Came across this post:

https://forums.cgsociety.org/t/how-generate-tangent-normal-with-bake-texture/1244642/8

Tangent map baking in C4D requires there to be some convolution of the surface normals to begin with, be that with a absolute normal map, bump map or something else.

If you don’t have that then there is no difference between the mesh surface normal and the desired final normal, so the whole map will be flat blue. This is because a tangent normal map is a difference map between the current surface normal and where it wants to be…

… The issue is that you must bake the tangent map on the low res mesh, the mesh with the absolute normal map on it, baking a tangent map on your high res mesh makes no sense…

Um… OK. But what does “absolute map” mean? Do I need to bake a WORLD map, then apply that to the base face mesh, then use that combo to then bake the tangent map?

Will try in a moment baking tan map from low poly with existing 4x object map applied… though not sure if I should subdivide first or not.