3D Character adaptation from 2D style

There and back again.

I’ve been making important steps into researching and learning more refined Rigging solutions for the lacking elements in the Facial Rig.

I’m now focusing on Bendy Bones, as they really look very promising in Blender for different, pretty agile and simpler rig setups.

I’ve also been reorganizing many aspects of my character model in this process —I was struggling a lot with Weight Paint because I just lacked understanding of pretty basic tips, like the functionality of the “Restrict” Options (it locks the Vertex Group of the painting).
In the Rendering domain, I’ve realized I have 2 clear proponents now: 1) a special cell/toon shading rendering which I still have to develop (it should go beyond the flat colors you can see so often on my rendered images); 2) a Cycles Render (which is the more complex, soft renders you see there in 2 of the images.

The quest for the Bendy Bones is developing well, although I still have many doubts, and it has been difficult to find resources around especially on the most sophisticated issues. I doubt I’ll be able to reproduce the best solutions out there with Bendy Bones today, so I’ll probably try to stick to more basic solutions for now.
The Eyebrows in the pictures, is made out of Bendy Bones, Shrinkwrap + Solidify Modifiers. It really works very smooth and I like how easy it is to setup for simpler cases. I intend to use Bendy Bones for the lips, and on a previous experimentation, it already prooved a high quality deformation if compared to any other thing I have tried before. I’m going to try to apply Bendy Bones on other regions of the face; I’ll do what I can, and if it doesn’t work, I’ll probably skip it and go back to a simpler, previous “A plan”.

The characters expressions that are possible do develop with the current limited Facial Rig I’ve already got is quite entertaining; and I didn’t know I would ever enjoy Posing 3D Facial Expressions (because it looks so technical and complicated: whether in the Rigging process or in the Animating process), so this was an unexpected bonus reward.

Unfortunately, this time I couldn’t make a video of the rig or add more technical information that could be clarifying; I’ll try to bring those later on.

Here are some random expressions (remember: Bendy Bones added, but still only on the Eyebrows object, and it still lacks Weight Paint on the region around the eyebrows):

Thanks for being around and commenting ¡Bye!

dorothy-expression-09
dorothy-expression-10

dorothy-expression-11
dorothy-expression-12
dorothy-expression-13
dorothy-expression-14
shading-16
shading-15

2 Likes

Hi, there.

This is relatively straightforward, on-going solution for the eyelids expressions.
After some failed attempts at using Bendy Bones for the eyes region that would in combination with the Eyeblinks Shape Key, I’ve decided to develop the eyelids expressions through combination of Shape Keys (besides the Eyeblink, I guess just 3 will be enough for the time being: Sad [which is on the video], Angry and Surprised); they should affect not only the Eyelids and Eylashes shapes, but also on the surrounding skin of the eyes —this feature is missing, but I’ll be doing it next.

I decided to work with Shape Keys because of the complex shape of the Eyelashes on that character, which get too much bad deformations by the use of Bones with Weight Paint; other shapes for those eyes expressions also don’t get the best out from that method. Still, one of my experiments proved that just 2 Bones, each in one of the eyelids corners with (quite challenging but not too crazy placement of) Weight Paint can be very effective for minor tweaks on the eyes/eyelids expressions, while manipulating the Shape Keys Bone.

I believe with good creative mesh work on those 3 Shape Keys, I’ll be able to get a good result on those eyes expressions. Then the Eyes Rig will probably be completed. I’ll have then to tackle again the Eyebrows Rig; that would complete the expressions from the upper face mesh.

Cya.

1 Like

Hello, folks.

I’ve got the “Sad” Shape Keys for the eyes revamped.
Because of the complex shape of the Eyelashes, the only reliable way I found was to have a couple (Eyes Closed + Eyes Open) of Shape Keys for each of the Eyes expressions (“Sad”, “Happy”, “Angry”, “Surprised”; can count “Neutral” in here too, except it pairs with the “Basis” [which is “Neutral” Eyes Closed]).

I did have to create a separate Bone controller this time, so that it becomes less confusing for the tests (I expect to be joining all the functions on the main Eyeblink Bone controller later on). The method involves Shape Keys, Drivers and Graph Editor.

I might be able to explain in details later, but basically, what this system is doing is the following:
Dragging the 2nd Bone to the left, through its Local X (min|max = 0–1), gradually increases the “Sad” expression Shape Key for both “Sad” Shape Keys (“Sad” Eyes Closed and “Sad” Eyes Open); however, if the 1st Bone, which moves through Local Z (min|max = 0–1) is somewhere higher or lower than ~0.5, it will end up suppressing completely one or the other “Sad” Shape Key, so they don’t conflict too much and especially not towards the extremities they were made for (“Sad” Eyes Closed focus on bottom region, and “Sad” Eyes Open focus on the top region). There are some things I wasn’t able to optimize, but in general, it suprisingly kinda worked as expected —after some frustrating moments.

I’ll skip the retakes and I should focus now on the other 3 expressions, using the same method.

Now, for some parallel researches… I was finally able to reproduce, from an easy tutorial, the famous Posterize effect/filter in Blender through the Compositor. I kinda love those color tones’ patches, even though they’re not as organic as expressive paintings and concept artwork. What strucked me the most, is that it generates nearly the same quality, whether it is applied to a relatively good lightened and shaded Evee scene, or to a Cycles Render scene (as seen on the comparative 2 images below: the first one was from Cycles Render, and the second one from Evee). I’m not sure how I’m gonna use this feature or when to use it; but it looks promising for alternative aesthetics.

¡Cya!


2 Likes

Hi, folks.

I’m retaking the Eyes’ Rig in a much deeper way.
I was clearly not satisfied with the method I was employing. As I have many other similar characters to rig in the future, I need a more efficient method.

Also, I have found myself in sort of a dead-end regarding the Shape Keys: as i had inadvertently created some of them (for the Mouth and Eyes) while I still had the Mirror Modifier Unnapplied. :hear_no_evil: Not tragical, though; there weren’t so many of them and I can remake them; but it would have been very disastrous if I did keep on that same path I was on, making even more Shape Keys for a complicated, not very smart, and even nearly dead-ending rig method.

The new system will try to semi-automatically control the overall complex shape of the Eyelashes with Bones and Weight Paint, as each of its base Bones (see the video, it’s WIP) will strictly follow unique Vertexes (within their respective Vertex Groups) that occur on the the Eyelid’s edges.
Although the Shrinkwrap+Solidify Modifiers together make the Eyelids’ mesh remain on top of the Eye curved surface, there will still be very delicate Weight Paint to redo on the Eyelids’ mesh, so that it may deform in expressive, freer ways, even without Shape Keys (that might be or might not be required for this region this time). Also, very relevant: my intention is to make the Eyelashes’ overall mesh follow, more or less like as a block, the Eyelids’s edge Positions, and make it also automatic (Driver) an X Rotation as an Eyelid’s edge go up or down —it makes it look natural. Previously, I was having to edit this manually on the Shape Keys (Open/Close for each expression), and it was very, very difficult to redevelop that shape manually everytime.
It is a bit foggy yet, how good this new system will be, but I believe it has great potential. I need to achieve ways for the Eyelashes to adapt (as if it was being affected naturally by Proportional Editing) to the changes on the Eyelids’ edge Positions; and for this, I’m counting on improving the Weight Paint/Bone’s structure of the Eyelashes, a bit like the structure of Bones we seen in a hand. I believe I don’t need to have a separate mesh Object for the Eyelashes… but maybe it would be a good idea.

In the video, you can see I’m moving Vertexes, and not Bones.
The Subdivision Surface Modifier seems to create (depending on its Visibility) offset Positions for the Bone Constraint (Copy Locations) in relation to the unique-vertex Vertex Groups I’ve made; however, this is hopefully just “illusory”, as we can see on the Solid Shading later on.

1 Like

Hi, everyone.

There’s some time I haven’t posted anything;
I have been making much progress (on the 3D Character, in Rigging and in Blender in general), but couldn’t develop a good plan to share all those stuff.
Now that things are getting a bit clearer, I guess I’ll be able to make more posts here.

¡Cya!

dorothy_pose-07
dorothy_pose-06
dorothy_pose-05
dorothy_pose-10
dorothy_pose-09
dorothy_pose-08

2 Likes

I’m finally engaging on making the main sci-fi costume that this character wears.

In this render (has an average amount of Posterize effect from the Compositor), I have successfully Rigged the skirt which, in order to work with Physics, must be made a separated Object from the rest of the costume; also in order for it to collide with the body (or any other Object actually), very important: each inter-colliding Object must contain a Collision Modifier otherwise it doesn’t work.

I do not have much experience with modelling clothes (nor rigging clothes) so far, so in order to complete this costume I need just a bit more few tricks.

1 Like

I have been researching and experimenting with the high heel boots/shoes’ asset Rigging. Although there are different methods, most of them are quite puzzling, and not all will give the full functions someone might desire.

At some point, I wished it were possible to store more than a single Rest Pose on the same Armature, because this changing of the Rest Pose seem to cause destructive results to certain content on the model (like animated content, and maybe more, I’m not sure).

But I was finally able to make it work in a complete setup (check my own video at the end). But, very first, I had to learn about foot rolls’ Rigs. Hopefully, there is at least 1 great tutorial out there about it, and it was life-saver (in case you’re interested in it, here you go: TUTORIAL: Blender 2.82 | Rigging Leg - System Roll Foot

But having that incredible rolling setup was just 50% of the issue. I had clear in my mind that I wanted the character to put on the high heel boots and that would change her Pose “from a bottom to up” effect. I’m still not sure if I’ve overdone what was really necessary, but it worked;

And here some details:

Summary

Basically, I’ve duplicated the lower “limb” Bones (foot toes, foot, shin; which have Weight Paint to the body of the character) to use those clones, on another Bone Layer, as Bones for the boots’ Weight Paint only. Then I’ve posed the character in a high heel using x-ray view to “put the feet into the boots”, and, in some crazy back-and-forth in Pose/Edit Modes and Bone Layers, got them 3 limb Posed Bones’ Locations & Rotations as exact references to the Locations & Rotations for the Boot Bones on the Edit Mode. Then I’ve Weight Painted the Boots with its Bones; and then I’ve had to setup certain extra Bone Constraints in a non-destructive way. Eventually, I came by the idea of creating a new, magical Boot Roll Control Bone that would command the original Foot Roll Control Bone, but differently from the latter, it would already start with the foot roll (X) Rotation of what was that posed Foot Roll Control Bone —and again back-and-forth Cursor stuff, because the Pose Rotation values on Bones is different from their Edit Rotation. Once this has been setup, one of the last and most fundamental steps was to duplicate the Limit Rotation Bone Constraints for both Toes & Heel Rolls, Hiding the original (bare foot) ones and Uhiding the new ones (high heel), which had some small, but fundamental angular adjustments.

I hope those methods get clearer in the future.

Cya, take care.

1 Like

Hi, folks.

So, here I’m presenting some crazy Bones on the Rig.

I’ve been experimenting, on the character body, a method of Skinning, that relies only on fancy (but yet relatively simple) use of Bones, Weight Paint and Bone Constraints (avoiding any other thing such as “Corrective” Shape Keys, “Corrective” Drivers for Bones and “Corrective” Object Modifiers/Constraints).

Good news is that the method is simpler and more intuitive than I expected, although it can be daunting, especially because there seem to be hardly any good tutorials on the subject for Blender; there are certainly interesting information out there, but that’s not optimal. I’m trying to make elegant solutions and for this I’ve been using a very small amount of Skinning Bones. I’m probably gonna make a tutorial about the method; it’s pure reverse thinking actually: you spot wrong deformation on a Pose, you know what you need to have there because you may be an artist and you can visualize the shape you want at the end: you basically need to learn how to RE-DRAW 3D SHAPES WITH BONES; usually, “Skinning Bones” (the orange ones), but some people are calling them ‘fan bones’, ‘tendon bones’… Sometimes, it really means it: you are using Bones to serve as… bones (often, surreal bones, but that work in reshaping the 3D figure as desired).

I’ve got the following (all L/R) Skinning Bones:
sartorius, buttocks, pelvis, scapula, clavicle, breast-to-shoulder.

I’ve picked those original ideas from other rigs and content, but at the end, I’ve realized, instead of copying exactly those systems, it would be better to try and adapt those concepts for the Armature, character model and method I have.


crazybones2

Hi!

I’m further developing on Organic Rigging simpler methods,

I’m trying to make a visually intuitive ‘network’ of Bones, of various types.
Currently I’m exploring specific Bone Constraints such as “Stretch To” and, in the this example on the video, “Child Of”.

To put the ‘theory’ simple: usually the basic Armature is just like a Stick Figure structure for the Armature (which is relatively limited for complex shapes and motions); thus, for Organic Rigging, what we need is to develop a new dimension of Bones: a Volume structure for the Armature. When combining the Stick Figure structure with the Volume structure on the same Armature, if the ‘Cage’ network of Bones is smart enough, it may be able to solve most of the most typical issues we face when Rigging complex regions of characters.

Also, some Pose tests:



1 Like

Cartoon 3d is interesting topic. Especially automorph that was mentioned here. I believe that dot products were involved to calculate intensity of those blend shapes. This is vector math operation that gives the measure of a match between 2 directions in 3d space. From -1 to opposite to 1 for completely parallel. So programmers first specified several direction vectors for angles like straight facing, 3/4th, side, in camera space, then ran dot product checks for head bone direction against them. Most 3d applications have vector math functions built into their API, and, in case of Blender, into Geometry Nodes. So I believe that geonodes will be the the easiest tool to implement this effect. Shape keys have to be recreated inside geonodes, since they arent compatible with default shapekeys yet, but it is a trivial task

2 Likes

Thank you. Interesting conceptual information.

That problem was quite interesting, and I found out at some point, when I was making first attempts with the camara and the head, that I was missing something (maybe even tools) for making an automated relationship between the camera and the head of the character. I remember that my last problem was that I couldn’t find a way to create sort of an “identity” that would tell the camera object that it must “recognize” the relative angles towards that character’s head, including when the head is rotated in any direction (probably this “matchup” ingredient in terms of the mathematics you’ve suggested). At that time though, a few months ago, I had nearly no experience with more advanced Bone Constraints setups, and I was mostly trying to make it work with Drivers if I remember correctly.

But at some point, it just occured to me the most logical idea:
"Wait… ¿why am I spending time and concern on this thing exactly? If I can just create the face Shape Keys’ morphs and animate these morphs manually (without any automation in relation to the camera motion), then that’s just good enough (on a production case like mine).
Meaning, that artistically, the most fundamental problem was already solved from the beggining: which is this fantastic idea of the 3D stylistic morphs adaptation according to angle view (not yet camera automorph relationship). Naturally, if the automation can be achieved somehow, it provides excellent efficiency; but in principle, it remains as a secondary implementation; funny enough, I just didn’t have that in mind when I started.

Thanks for your thoughtful feedback. In a few months maybe, I’ll try to tackle the same automation problem again (I’ll have in mind the notion of matchup of parallel lines and dot products).

I see, whatever works for you then. If I’ll ever succeed with automated version myself, I’ll share the geometry nodes setup

2 Likes

¡Hey, Good News!

I’ve got a prototype setup for everyone.

¿I believe this setup is working… just fine?
I’ve just made for the Z-Axis Rotation; thus, morphing from front view to side view and vice-versa.

Armature (with Bone Constraints) is quite versatile even in simulating conditions (with the help of Drivers).

This video I’ve recorded is quite self-explanatory I guess; but I’ve added the essential information as text right below.


Note: because that morph was so difficult to see from the Camera view on the previous video, I’ve made a new one that shows it nicely:

For this relationship setup between the mesh Object and the Camera Object, you’ll need:

• 1 Armature, to which the mesh Object is Parented to;
• 1 Bone on that Armature, which must be positioned —on Edit Mode— centered on the character and pointing forwards (as if it was the character’s nose), and which Z-Axis (Bone Roll) is pointing down (or up);
• 1 Stretch To Bone Constraint on that Bone, which will have as Target the Camera;
• 1 morphing Shape Key on the mesh Object, with a Driver: this Driver’s formula will be var*var (because it equals both directions of the Z-Rotation (e.g., +90º and -90º, where the middle of the nose is 0º) in terms of the output Value of the Shape Key; it may be easier just to think on the symmetry of a bell curve on a x² graph. This Driver will also need to recall the Z-Rotation Axis of that Bone, on Local Space (very fundamental; because this is the “bone-nose identity”, in relation to its original positioning construction in Edit Mode of the Armature; of course in the video we do not seem to see this Bone as an identity for the nose, but this is because of its Bone Constraint, which keeps it Rotated towards the Camera Object, it preserves its “Local Space 0º identity” and this is what is allowing us to ‘track and calculate the exact rotation angle of the head’ in relation to an external object.

¡Enjoy!

1 Like

Cool. When this morphing is limited to one axis, everything should work nice and stable. I guess shitshow is going to start when there is vertical correction involved, such as that example video of a bunny. Maybe when there are multiple angles involved, the best idea will be to limit your shape keys to certain axis (using Sculpt mode’s locking options). Like, vertical correction is XZ only, and horizontal is Y. Havent tried it yet

Yes; I strongly believe that, from this prototype, because those morphs are Shape Keys on Relative mode, it is actually just natural to be able to combine different Shape Keys Values altogether, besides this one made for the Z-Axis; I believe the X-Axis should be the next one to be tracked down, it would be essentially the same idea used before for the Z-Axis, except that (because the human head is very assymetrical Up|Down-wise, in contrast with Left|Right) there would probably be the need of making 2 different Shape Keys for the same X-Axis, but 1 of those Shape Keys will have a specialized morph only as the Camera gets to see the head from above, while the other 1 is the opposite situation, a specialized morph for when the Camera gets to see the head from below. The formula of the Driver, for each of those two X-Axis-based Shape Keys, instead of a symmetrical bell curve, should probably just be something simpler such a regular curve I guess, but one of those curves will probably be rising and the other sinking (probably for the one Shape Key that morphs the head on Camera view from below); can’t be totally sure, but just a bit of experimentation on the formulas should do; I bet not even using Graph Editor is required for this particular setup —but I could be wrong.

The Bone that has the Stretch To Bone Constraint Targeting the Camera is already making half of the job; its X-Rotation (that is already occurring) generates information for the X-Axis Rotation, but those data are just not being used by any Driver yet, on my original prototype. In the new Drivers, must make sure X-Rotation is for Local Space, once again.

As we understand this stuff, this setup should automatically combine the 3 different Shape Keys (Left|Right, Top, Bottom views) according to multiple Camera angles calculations in relation to the head. Then, maybe just for a bit more of stylistic improvements: a bit of tweaking of the curve (you know, ease in/out) in the Graph Editor for each Driver will help smoothing the morphs ‘timing’ according to the gradual changes on the camera angles. And, of course the most fundamental of all things: is to improve as good as possible the Shape Keys’ morphs meshes, for each of the maximum desired output.

Note: I don’t think it would be necessary, on the case of a human face, to create a additional setup for the Y-Axis, just XZ-Axises indeed as I guess you saw it as well.

I’m not sure I’ll be tackling the full setup for a while; I’m quite satisfied with this achieved, as it took so long; your intervention was fundamental to give me extra insight, so thanks again.
Anyways, the most complex things are already solved: which was conceptualizing the dispositive in a feasible way in Blender. so now it should be easy to solve the remaining elements.
If you’re going further, please tell me if you find any problem or make any new discovery.

¡Cheers!

PS:

I don’t know what this is about; I have very little experience with Sculpt Mode. ¿Can you give some example of the usefulness of this feature?

So, on topic of locks. First off, Sculpt mode is very convenient for editing Shape Keys. What shape key is currently selected in Object Data panel is the one being edited (do not forget to turn its intensity up to 1.0 to see the result). And every sculpt tool can be prevented from affecting the mesh in one or more directions, using the right panel - Symmetry - Lock options. For example, when you sculpt a terrain, you may want the tools to only affect Z axis, so it can be easily converted into heightmap texture afterwards. Same logic can be applied to shape keys, if you want them to have effect only in specific direction

2 Likes