mouth shapes and controllers

Issues concerning rigging & Face Robot...
Post Reply
missingkey
Posts: 91
Joined: 19 Dec 2012, 18:16

mouth shapes and controllers

Post by missingkey » 24 Jan 2013, 01:50

Hey Guys, I've got a character facial setup using shapes, But I'm trying to figure out how to drive the shapes via Ice. I'm using Gshapecombiner to do the mixing in Ice, But I'm needing some help on setting up the control to drive the combination of shapes. The mouth corner in this particular instance.

So I have 6 shapes for just the left mouth corner; narrow, smile narrow, frown narrow, wide, smile wide, frown wide.

with 1 controller, how do I link these all up together so that the mouth corner animates smoothly between all the shapes.

Thanks!

User avatar
mattmos
Posts: 445
Joined: 02 Dec 2009, 16:59

Re: mouth shapes and controllers

Post by mattmos » 24 Jan 2013, 11:01

I would normally just use 4 shapes (wide, narrow, smile, frown) and use a controller which has a null as a parent so I can bring in the null.kine.local.posx and null.kine.local.posy. Use a rescale node to change part of the posx (ie 0 to -1) to 0 - 1 and mult by scalar the narrow shape by the result.

If you're using wide smile and narrow smile I guess you'll need to linear interpolate between the two depending on where along the x axis your controller is. So you use a rescale (-1 to 1) to (0 to 1) plugged into the linear interp, and then mult by scalar the result of that by posy before connecting to the gshapecombiner.

missingkey
Posts: 91
Joined: 19 Dec 2012, 18:16

Re: mouth shapes and controllers

Post by missingkey » 25 Jan 2013, 07:23

thanks for your reply, I must be doing something wrong. i'm just trying to get the linear interpolate acting right between a wide shape and a narrow shape, but i'm getting snagged.
It seems to be easing into the default shape between the wide and narrow. I have the translateX plugged into the rescale node going into the linearInterp, and the rescale multiplied by the translateX going into the gshape. It must be turning off the shape as it blends..? I just cant seem to get the linear interp and the gshape playing together nicely...

User avatar
mattmos
Posts: 445
Joined: 02 Dec 2009, 16:59

Re: mouth shapes and controllers

Post by mattmos » 25 Jan 2013, 12:29

If you're just trying out wide and narrow (no smile or frown yet) then you don't need to linear interp, just use a rescale node for the negative x movement (0 to -1) to make it 0-1, and mult the narrow shape by that result, and use a clamp node or another rescale to get the 0 to 1 movement and mult the wide shape by that result. It will return to the default shape between the two, that's expected. There shouldn't be any easing though...

Maybe post a couple of images of the shapes you're using, and the ice tree so far if its still not working.

missingkey
Posts: 91
Joined: 19 Dec 2012, 18:16

Re: mouth shapes and controllers

Post by missingkey » 29 Jan 2013, 04:34

hmmm, I guess it's the same mix of nodes, noodled together differently based on which shapes you have to work with.

Am I right in assuming these are how your referring to the possible shapes with their coordinates?

Image

(-1, 1) smile-narrow
(0, 1) smile
(1, 1) smile wide

(-1, 0) narrow
(1, 0) wide

(-1, -1) frown-narrow
(0, -1) frown
(1, -1) frown-wide

User avatar
mattmos
Posts: 445
Joined: 02 Dec 2009, 16:59

Re: mouth shapes and controllers

Post by mattmos » 30 Jan 2013, 16:07

Scuse the late reply, little busy!

Yeah what you've got there is my usual setup, it reaches most shapes ok, sometimes the smile narrow and frown narrow shapes will look a little odd, but when I animate I hardly use those extreme positions, its more important to make sure that the wide shape plays well with the smile and frown. With this the advantage is you don't need to interpolate between shapes unless you're adding a corrective or extra, it does it all for you. Just need to make sure those base shapes are the best they can be.

EricTRocks
Moderator
Posts: 754
Joined: 25 Nov 2009, 01:41
Contact:

Re: mouth shapes and controllers

Post by EricTRocks » 30 Jan 2013, 17:24

In my experience you'll usually need a corrective with the wide / narrow + smile / frown even if those two shapes are solid. It may just be little subtle fixes but usually they are needed to keep the mesh smoothed out.

That image is how I would setup the mouth corner controls as well.
Eric Thivierge
Lead Kraken Developer, Fabric Engine
http://fabric-engine.github.io/Kraken

missingkey
Posts: 91
Joined: 19 Dec 2012, 18:16

Re: mouth shapes and controllers

Post by missingkey » 31 Jan 2013, 04:33

thanks guys! this is super helpful.
I guess i'm just having trouble figuring out the math behind getting the 4 or 8 shapes to play together nicely. Will some elaborate a bit more on linking those shapes to their 'charted' coordinates, so to get a nice blend (without correctives for now ;) ) if you were to move the controller around in a circular fashion?

I know it takes a bit of extra multipliers here and there to get the shapes moving accurately under the controllers movement, and whatever other sort of fine tuning, but without all that, what's the basic logic?

User avatar
csaez
Posts: 253
Joined: 09 Jul 2012, 15:31
Skype: csaezmargotta
Location: Sydney, Australia
Contact:

Re: mouth shapes and controllers

Post by csaez » 31 Jan 2013, 13:44

You can use the distance to the 'hotspots' (probably reversed and with some clamps) as weight for your shapes, it's not the typical way to do it but describe the relantionship btw shape/joystick in a generic and reusable way :)

User avatar
mattmos
Posts: 445
Joined: 02 Dec 2009, 16:59

Re: mouth shapes and controllers

Post by mattmos » 31 Jan 2013, 16:09

quick ice tree clip, clamps are just at 0 - 1.
Image

the self.lside is just a way of splitting the shape into left and right like a weightmap, you don't need it for the shape links.

missingkey
Posts: 91
Joined: 19 Dec 2012, 18:16

Re: mouth shapes and controllers

Post by missingkey » 31 Jan 2013, 20:33

ok, that's much simpler than I was making it out to be ;)

I'll try to figure out how to incorporate the other shapes in the chart with this logic.

Thanks man!

Post Reply

Who is online

Users browsing this forum: No registered users and 24 guests