Cartoon eye rigging

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

REPLY TO THREAD
 
Thread Tools Display Modes
  03 March 2018
Cartoon eye rigging

Hey all, I've been looking for a Cinema 4D version of those lovely cartoon eye rigs (and mouth) that usually are created in Maya. The multi-joint setup that seems to be effortlessy manipulated by a few simple on screen controllers.

I can't find any examples or tutorials of this in Cinema 4d and have been struggling to build something for myself. I've attached an example of what I have achieved.As far as I can see a series of joints is rigged to the outside lids from the centre of the eye, easy enough, then they seem to be connected to a linear spline, which is controlled by a B-spline to allow for a greater control over a large amount of points using only a few points, please correct me if 'm wrong.

I can get to the point of controlling the rotation of the eye joints using aim constraints pointing to

ward a spline but then I got stuck on how to control that spline with a B-Spline. I ended up duplicating the polygon points around the eye, connecting the joints via aim constraints to nulls, before using expresso to connect those nulls to the polygon points.

I then used the spline deformer object on the poly points, with the original linear spline as the original spline and the B-spline as the modifier. This seems to drive the bones quite well and create the shapes I want, but it also seems convoluted, and there is a slight jump as the joints start to follow the B-spline.

Here is the C4d...
Download

So after all that, I want to know if there is a better solution for this in cinema 4D, and is this even the correct way to approach the problem?
There is definitely a lack of decent facial rigging examples for Cinema 4D!

 
  03 March 2018
Oh and I forgot to say, I haven't setup controllers on the B-Spline yet, so just drag the verts about to see it in action.
 
  03 March 2018
I attempted this setup quite a while ago - I quit but it would be cool to figure it out.

One thing I did differently was using an iterator in xpresso to constrain all the nulls to the closest part on the spline (Preset - GetNearestPointOnSpline). All the values are in the constraint tags - then I just deleted the xpressotag. Could save a little time when doing it to multiple characters. Might have used xpressoalso for parenting....

I also made use of the conversion tools under the Character menu - convert to nulls, joints, yada---yada. Really helpful.I also used spline IK - which you can use nulls or sphere bones as controllers - which might be what you want.

But - yeah I kinda abandoned it - so you might want to ignore those suggestions. Please share your progress!
 
  03 March 2018
This is using a joint set to sphere for easier display - then a custom size to shrink it down -

Index point can be selected and viewed in the structure manager to find out what number it is.

 
  03 March 2018
Cool, I didn't know about the GetNearestPoint thing. Will have a play with that.
Regarding the Joints being connected directly to the B-Spline, do the joints not need Aim constraints instead so that they stay at a constant length and form a perfect rotation around the eye?

I'm only starting to dabble in this stuff, so its all new to me! Cheers.
 
  03 March 2018
Yep you're right - I was showing that xpressosetup as a means of controlling the spline with another object as a handle.

If you want one spline to copy the other - you might find that the posemorph tag with Adveanced>Target will be slightly less problematic that spline deformer. (Just a hunch)
You can change the spline types and they will still copy each other.

That'sme just guessing!
 
  03 March 2018
Cool, had another go, actually used align to spline to connect the nulls directly to the B-spline and adjusted them to the correct positions. Seems to work fairly well!...

file

 
  03 March 2018
Thatsthe one (sigh)- Getnearestpoint and then you can convert that to the align to spline tag.

Thats looking awesome - keen to see more facial rigging tests and experiments!
 
  03 March 2018
Cheers, here is an updated version with the top and bottom rigged. Can certainly get some nice shapes out of it.

I tried to setup a blink position rather than manually animating all the controllers for the blink, I have some nulls (the little red ones in the video) which the controllers can be Position constrained to via a slider. It works reasonably well in the animation but in the viewport, timelinedragging is awful and jittery. I NOT good with priority importance or xpresso, so if anyone has some insight it would be appreciated, or maybe there is a better way?

DOWNLOAD

 
  04 April 2018
Hi -

you should check this out - what you're trying to do but with lip set up - looks pretty good - also check his vimeo -
https://www.c4dcafe.com/ipb/forums/...e-for-download/
 
  04 April 2018
Oh that is fantastic! Will really enjoy picking that apart, good find and thanks for sharing.
 
  04 April 2018
Originally Posted by shamhead: Oh that is fantastic! Will really enjoy picking that apart, good find and thanks for sharing.
here's a similar setup, which is based on position rather than rotation. like for if you have a character with a rather flat face and you don't want the mouth to open in a circular fashion. or if you have really flat cartoon eyes in case you want to apply that technique to the eyes and a rotation based setup won't do.

https://we.tl/5jdu0Ot0ma
__________________
________________________________
my stuff on vimeo

Last edited by everfresh : 04 April 2018 at 10:58 AM.
 
  04 April 2018
That is really cool also, thats for sharing.
I still find expresso very confusing when getting into more complex tasks but can do some basic stuff.

I took the base mesh from Kingddan's rig over at C4dcafe and just couldn't work out how it worked and parts seemed a bit limiting so I basically tried to do it myself with the most basic of expresso, instead relying on more constraints and other bits and pieces. It actually works fairly well.

But again I have been caught out by the priorities on the expressions and constraints and you can see it happening on the mouth corners and when hitting undo, you need to click before it snaps into place, if anyone can help with the file or suggest what I could do? Cheers!

Download Link

 
  04 April 2018
Originally Posted by shamhead: That is really cool also, thats for sharing.
I still find expresso very confusing when getting into more complex tasks but can do some basic stuff.

I took the base mesh from Kingddan's rig over at C4dcafe and just couldn't work out how it worked and parts seemed a bit limiting so I basically tried to do it myself with the most basic of expresso, instead relying on more constraints and other bits and pieces. It actually works fairly well.

But again I have been caught out by the priorities on the expressions and constraints and you can see it happening on the mouth corners and when hitting undo, you need to click before it snaps into place, if anyone can help with the file or suggest what I could do? Cheers!
if you set all your xpresso tags to priority 0 it runs smoothly. the priority thing really can be a pain, most times i just go the trial and error route, with no real systematics to it. i hope that will change some day...
__________________
________________________________
my stuff on vimeo
 
  04 April 2018

Ah well that was a simple fix. I start to fiddle with settings when something isn't working right and I guess it all ends up a mess, haha. Thanks.
Some lovely stuff on your Vimeo there btw!
 
reply share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 12:19 AM.


Powered by vBulletin
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.