Simple 4 bone 3D head turn part2

Have you come up with a good Moho trick? Need help solving an animation problem? Come on in.

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
DarthFurby
Posts: 510
Joined: Sat Jul 29, 2006 1:34 pm
Location: New York City
Contact:

Post by DarthFurby »

Nothing really significant to add here except to say that this is really friggin awesome. Thanks for sharing DK.
User avatar
DK
Posts: 2857
Joined: Mon Aug 09, 2004 6:06 am
Location: Australia

Post by DK »

YW Darth. I'm revising updating the tutorial for Fahim so keep a look out :)

D.K
User avatar
DK
Posts: 2857
Joined: Mon Aug 09, 2004 6:06 am
Location: Australia

Post by DK »

Just to clarify the split mouth technique in case anyone is wondering.

The way this works is: There is a center axis that the two scale rotating bones work on. To get a perfect rotation on each side the model must consist of basically two halves or points that you can divide/select down the centre. You assign each scale rotating bone one half of the points in the head and it scale rotates nicely. So, to get a switch layer to work so that it has an even rotation on each side you simply split the mouth into two switch layers. The right half of the mouth is layer parented to the right scale rotating bone and the left side of the mouth is layer parented to the left scale rotating bone = a perfect rotation (the eyes are also layer parented). This is the simplest solution and what's more even more ground breaking as no-one knew that a layer would be affected by scale rotation BUT IT IS :)
I am trying to avoid ANY complicated use of scripts in the model I'm developing till i can't avoid it. Then I will scream for HELP to Genete and Verne ;)

Cheers
D.K
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Well here is my... uh... contribution. Don't get too excited.
Basically I just added single bone control to DK's switch mouth version.

http://www.lowrestv.com/character_rig/D ... _HVMod.swf
http://www.lowrestv.com/character_rig/D ... _HVMod.zip

There is a "targeted" layer script for ear layer flipping and scale and rotation of "most" of the bones.

If you leave both files in the folder the script should work without problems. If it doesn't just update the layer script on the bone layer.

If you need any layer to "flip" just put "flip-left-" or "flip-right-" in front of any layer name. That is what the script looks for to flip it. Each of those layers will get a single key on frame 1 for layer translation. I have "hard coded" the value for the z translation to "0.01". You can change that value in the script if you like... just make sure you change it in all places.

Make sure any "flipped" layer's z translation is "0" on frame 0. That is the base line value used to flip. If it isn't 0 on frame 0 then it won't work properly.

If you delete bones in the file.... the script will most likely break. But you can add as many as you like. And you can delete any new bones you add. Just don't delete bones that are already there.
----------

There are those "funky" little bones on the jaw and neck that I haven't quite figured out an automated system for just yet.

My feeling is that it would be a "hybrid" of the rotation and translation of the head. Basically those two things seem to be the guiding factor in how the "artist" is rotating those bones.

I just need to script a rotation based on those two values to get them automated.

I switched to Region Binding on the bones to avoid issues with some of the bones being used that don't control the mesh. This means an area on the head is a bit "wonky". It isn't being distorted the same.

Pretty simple to use. There is a circle with the triangles that marks the bone for rotation. Just drag it to "turn" the head. Rotate this bone to rotate the head. and everything else follows along. I named the bones as well as I could to see what they do. Keep in mind you can use those bones as constraint targets if you like.

Don't worry too much about modifying my version for improvements. For now I can just incorporate the files you guys are fiddling with into the script system as you make modifications.

Basically I reverse engineer the bone movements to make it automated and target those positions.

-vern
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

DK,

I can pretty much make bones dance on the table and make coffee with a script at this point. I can convert any value to any other value... translation to rotation... translation to scale... rotation to scale... anything. This is how I control bone scale just from translation of another bone.

The key I've found is to target one bone specifically and then use it as a constraint target for other bones. So there are two bones (left and right) that are scale controlled. I use those as targets for scale constraints on the two big bones in your rig.

I would like to keep using "targeted" scripts. they are so much easier to deal with since they are a fraction of the size and complexity and the bones never need to have special names (except for the layer flip bones).

A majority of scripting in AS is repetitive looping to make lists of bones for manipulation. I remove all the list making and just target the exact bone or bones directly.

All this means is that as the rig changes over time I may have to change the bone IDs in the script. There aren't that many... like 3 or 4. I have a custom bone selection tool that shows the ID number of bones even when they aren't named so this is a piece of cake.

------

As a side note there is a "bug" in AS that relates to bone hierarchy and constraints. Depending on the order of parenting of bones and applying a constraint a translation constraint may behave in unexpected ways. For instance I often find that a constraint will "reverse" direction... X translation becomes Y translation or the X will go in the opposite direction. If I reparent the bones it sometimes goes back to normal. I have not found a predictable way to reproduce this bug yet.

-vern
User avatar
DK
Posts: 2857
Joined: Mon Aug 09, 2004 6:06 am
Location: Australia

Post by DK »

Hi Vern.
Hey that's fantastic. Also, if you feel like it, please feel free to follow your own path/thread if you get the urge. I like your idea of having two or maybe more models to choose from.

As for me, like i said i am going to concentrate on making a solid model with AS's tried and true nuts and bolts functions like switch layers and bones etc. I personally do not want a fully automated system that makes my art for me, (one of the reasons I'm not so fond of 3D). As a 2D vector artist/animator I would much rather use a techique that still has a bit of "hands on" at it's heart and something that is immediately recognisable as it's own unique style that ultimately stands away from a 2D rendered 3D mesh. Vern, i think you are going to come up with some awesome techniques from this so go for it dude :)
If you have some time I'd love some ideas on making a nose?
Any thoughts?

Cheers
D.K
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

DK wrote:Hi Vern.
Hey that's fantastic. Also, if you feel like it, please feel free to follow your own path/thread if you get the urge. I like your idea of having two or maybe more models to choose from.

As for me, like i said i am going to concentrate on making a solid model with AS's tried and true nuts and bolts functions like switch layers and bones etc. I personally do not want a fully automated system that makes my art for me, (one of the reasons I'm not so fond of 3D). As a 2D vector artist/animator I would much rather use a techique that still has a bit of "hands on" at it's heart and something that is immediately recognisable as it's own unique style that ultimately stands away from a 2D rendered 3D mesh. Vern, i think you are going to come up with some awesome techniques from this so go for it dude :)
If you have some time I'd love some ideas on making a nose?
Any thoughts?

Cheers
D.K
Mmmm "2D rendered of a 3D mesh" is exactly I'm looking for since long time ago... :(

A couple of remarks.

a) A script make things easier. You can always use the script to make the main timeline of the animation and then download it from the bone layer and tweak later some points / bones to give more "expression" to the model.
b) My springy mechanisms allows to you to translate by rotate so in fact you don't need any script. It have more bones (I know it) but you have smooth rotation behavior if you need it. If you don't need it you don't use it. It depends on your style of animation. Same comments for the script.
c) Regarding to the script that order the layers (for instance the ears) it will work if you use together with the rotation script or the rotation by springy bones. As well as it is automated it will always work fine, but on the other hand it could fail if your rotation is made by hand. Then you should make the layer ordering manually.
d) My main target is to obtain a SIDE to SIDE head/body turn and not only a 3/4 one. I think We can achieve with this new path we have started.

@ DK: I think we should put here as many ideas as possible regarding the turn technique. Every contributor would apply them as their style or needs. I think we should take the best from every technique.

BTW, Have you seen capricorn33 nose?

And what about moving the eye's iris?
User avatar
DK
Posts: 2857
Joined: Mon Aug 09, 2004 6:06 am
Location: Australia

Post by DK »

Hey Genete. I have to say i've noticed that your english has really improved in the last couple of weeks :D

D.K
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

if you feel like it, please feel free to follow your own path/thread if you get the urge
I think that is what I will do. I have a lot invested in my original rig and I can see how I could apply what you've come up with to that rather than starting from scratch.

-----------

On the scripting front... if you are interested I have a very very simple script that would eliminate the need for the two separate switch layers for the mouth (or any other switch like eyes or whatever).

I don't think this would interfere with your "basic AS aproach" too much.

Currently the script is "embedded" in the original script I have been fooling with for this rig but I can extract just the switch bone scaling duplication code if you would like to use it.

You only need to add one extra bone as a child of the head "angle" bone (the bone you use to rotate his head at the neck). This would be the bone to bind the switch layer so it rotates like the head. It would also need a translation constraint to the "right" mouth scale bone so the mouth follows along.

You would load the same script in the top bone layer and the switch. The switch just needs two bones that scale the mesh like in the top bone layer. The script duplicates the bone's scaling from the top bone layer and applies it to the switch bones exactly the same way.

I would probably need to add in some name checking for the bones so it is more flexible for you.

This would make doing switch layers for the lip sync a lot easier and eliminates any possibility of a "seam" in the middle.

-vern
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

... but on the other hand it could fail if your rotation is made by hand. Then you should make the layer ordering manually.
Hmm... I don't think this is true. Depending on how the flip bones are set up layer flipping can be completely automatic even if you translate the bones "by hand".

If you have the "now" bone exactly in the center of the face then as soon as the "flip" bone/s cross over it the layers flip.

You could even just have "special" bones just to flip the layers so you don't have to select the layers to key the translation.
My main target is to obtain a SIDE to SIDE head/body turn and not only a 3/4 one.
I think you are right. This might be possible. One of the problems is the nose in my opinion... if it is a simple cartoon nose it would be easier... it is those "real" noses that are difficult. I have trouble with the transition from front view to side view.

Also the eyes. A side view of the eye is completely different than a front or even 3/4 view. Once again a "cartoon" type eye is easier than a more realistic one.

-vern
User avatar
DK
Posts: 2857
Joined: Mon Aug 09, 2004 6:06 am
Location: Australia

Post by DK »

Wow Vern. I can already see your rig becoming very complicated but cool :)

D.K
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

Here is my eye sample.

http://genetita.googlepages.com/3Deyefront-side.zip
http://genetita.googlepages.com/eye-test.mov

I want to achieve this with a set of springy mechanisms. Switch layer have a linear interpolation what is not very good for side to side turns. With springy mechanisms and the angle limits I can convert a shape into another in a better way. (I think...)

Hey! my drawings are awful!!! I want you to use the file and correct it to a beauty one.

Tips for the file.

The eye ball is masked by a shape that is without outline. The mask is inside a switch layer. The switch layer side view is covering exactly the eyeball edge. This helps the eyelids to be hidden behind the eyeball gradually as far as I translate a little the eyelids layer outside the global mask edge. Later i recover the correct position in the front view. It is a fake but it works. The eyelids switch layer is just a copy of the eyemask but without fill and with a brush that tries to be a eyebrush ... (aaarrgh!)

The synchronization of the turn of the eyeball and the eyelids turn should be corrected. It is only a test as a first approaching of a front to side view of an eye.

Please comments are welcome.
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

DK wrote:Hey Genete. I have to say i've noticed that your english has really improved in the last couple of weeks :D

D.K
What I really want is that my drawings skills go beyond my English!!!
human
Posts: 688
Joined: Tue Jan 02, 2007 7:53 pm

Post by human »

Genete wrote:Here is my eye sample...

...Please comments are welcome.
Genete,

I appreciate what you're doing here... but I could have sworn you also had an eye model which simulated the cornea.

The cornea (and lens) bulge above the eyeball, which means that as the gaze turns up, these structures nudge aside the upper eyelid, causing it to bulge, as well.

(Also, if I recall correctly, for some reason this does not happen when the gaze is downward.)
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

Yes I have it... But how to mask it properly???

??

:idea:
....


Wow!!
I can use a clone of the bumped eye to acts like the global mask!!!!

Thanks for your comment!!!!!

I'll post the file in a while....
Post Reply