PDA

View Full Version : Need help with non-linear morph


taxibickle
08-26-2006, 02:41 AM
I have two morphs for my eyes. One is a half blink and one is a full blink. I want to fade from the half to the full to create a non linear morph.

Does anyone know how to do this?

stooch
08-26-2006, 04:25 AM
with morph blender of course.


I havent tried this but simply by looking at the channels i can see that i can use an expression to control the morph values.

So i would make 1 keyable morph channel and then add 2 or more non keyable morph channels.

Then use an expression to drive the other non keyable morphs in sequence based on the value of the keyable morph.

(you dont have to waste morph channels if you dont want, you can always make custom sliders too, im just trying to keep it simple for easer understanding).

So lets say your keyable channel MORPH1 goes from 0 - 1

you want MORPH2 start to go from 0 - 1 while MORPH1 goes from 0 - .5
and then MORPH3 start to go from 0 - 1 while MORPH1 goes from .5 - 1

To achieve this, you can use the Smoothstep function referencing MORPH1 and then the ranges.

So for MORPH2 value (non keyable) I would write Smoothstep(morph1,0,.5)
and MORPH3 i would write Smoothstep(morph1,.5,1)

heh, let me know if you have any problems, i havent tested this but have some other ideas as well.

catizone
08-26-2006, 04:31 AM
I thought non-linear morph referred to being able to get directly to target five, without having to run thru 2,3, and 4 sequentially. Otherwise, I'd say you need three or four morph shapes to match the curve of your eye.

I suppose you could also use a metaeffector to push the geometry "around" the eye surface.

Or maybe a Bulge effect tied to the morph effect?

Best,
Rick

stooch
08-26-2006, 04:33 AM
the bulge and push effectors are useful as well - in addition to morph blending. if you watch the minituts by mr cosman, he even goes into soft bodies to simulate draping and facial skin animation, that might have some use here as well.

Suricate
08-26-2006, 10:00 AM
Yeah, as stooch mentioned, you can use the bulge/push/spherize effect in conjunction with the morph and an expression.

An alternative is that you have a helper morph that pushes the vertices of the eyelid forward (along the z axis, assuming the eyes of your model look straight into the camera). If in your base model the eye lids are completely closed and you have one morph for the eye lids completely open, then the trick is to tie the helper morph to the 'EyelidOpen' morph with the help of an expression using the sine/cosine function.

taxibickle
08-26-2006, 04:42 PM
Bulge and spherize are not an option as it is one object vs many pieces. That would have been great. I have had limited success with it as welll.

I'm trying the smoothstep thing now but am having a lot of trouble making it work. I guess I don't fully understand it.

taxibickle
08-26-2006, 04:55 PM
I got the smoothstep to start working, but here is the problem. The values do get handed off, but they don't go back down again.The eyelids just shoot off into space. Really weird.

In theory when the half blink morph reaches .5 and the full blink starts at .5, the half blink should start going down to zero. I don't think it's doing that.

stooch
08-26-2006, 05:44 PM
nope the half blink would stay at 1 when using the smoothstep function, if its not, you might want to clamp it, you wouldnt want it to reverse direction when blending another morph to it. pay attention to the operators you use to blend the values maybe thats important as well.

Nichod
08-26-2006, 06:02 PM
Bulge and spherize are not an option as it is one object vs many pieces. That would have been great. I have had limited success with it as welll.

I'm trying the smoothstep thing now but am having a lot of trouble making it work. I guess I don't fully understand it.


I could be wrong, but couldn't you still use bulge and spherize? Just control the radius of influence using weighting.

catizone
08-26-2006, 08:29 PM
If these solutions are problematic, why not just make two additional targets with the lids in position so it can calculate an arc instead of a straight path?

Seems like either one makes a morph set to blink, or you use bones or another effect to do it.

How about puppetmaster? This might be the simplest use ever for it, but you could separate the eyelids, set the pivot point and just rotate.

Just another idea.

Best,
Rick

taxibickle
08-28-2006, 05:23 PM
The spherize effect is what I finallly ended up using. I had to go back and edit my mesh to make it work properly though. I added a metaeffector for weighting to isolate the head from the eyes. Then used spherize wrap the eyelids around the eye.

It's still not perfect, but close enough.

CGTalk Moderation
08-28-2006, 05:23 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.