GUI for Lipsync in 3ds max


#1

Hi,

so I´m almost done with my first complete Rig in Max. For the facial setup I went for a combination of Bones (Jaw) and relative morph targets for basic expressions.
I also added some morph targets for basic visemes, so I could also do some lip syncing with it.
The thing I´m trying to figure out now: What would be a good approach to build a GUI for the lip syncing?
Visual GUI in the viewport using reaction manager (combining Jaw and mouth controls with viseme morph targets)?
Scripted custom attributes?

Haven´t found anything on the web yet, so I´d love some input!


#2

Ok, so I´m out of my league now…

I can´t figure out how to properly set up the wiring/reactions for what I want to do.

Basically I setup the visemes in a way, that some of them are built by blending with the morph shapes I already used for basic expression (Mouth narrow and wide) as well as the rotation of the jaw (open or closed).
I already set those basic expressions up via reaction manager, so they can be controlled by a visual GUI in the viewport.

But if I now try to set up the visemes, I can´t use two masters for the same slaves (For example the rotation of the Jaw).
I tried setting up the Jaw control as a slave of the Viseme Control, but then of course I can´t move the Jaw separately.

I then tried adding a rotation list to the Jaw (to its Helper wich drives it to be exact) and adding another Euler XYZ to that, making this the slave for the Viseme Control.
But that didn´t work either.

So how do I go about setting up Viseme Controls, that drive both the Jaw and the morph targets, AND keep my separate Jaw Controls?


#3

Alright, I think i found a setup that seems to work so far.

Instead of adding a rotation list to my Jaw Control Helper and putting another EulerXYZ in there…

  1. Select the pos/rotation (x, y,z) you want to be driven by 2 different masters.
  2. Add a float list controller to it.
  3. Now you have under the XYZ value a new list. One is the bezier float (If you already set up a reaction it will say float reaction instead). The other one is available.
  4. Assign a new bezier float controller to the available slot.
  5. Now you can select the new bezier float and assign it to a different master.

So this way I can drive the jaws rotation with my jaw control, then select a different Master ( for example a slider in a custom attribute holder) and make it be effected by that one aswell, for example if I´m setting up a visem for the sound “Aw”.
To make the rotations not add to each other, you can simple offset it, by putting in an opposite value in the second masters reaction.

But beware: This procedure can get confusing pretty soon, as all the slaves names will be the same (float reaction), so its best to take some notes…

When I´m finished with my rig, I´ll try to post a tutorial on my blog about it.

Unless someone comes along and tells me why its not a good idea to handle facial controls like that…


#4

I’m pretty sure you can rename your controllers within the motion panel or via ms.


#5

Ah, yes, that might be true, have to check that later. You can´t rename the slaves and states in reaction manager though, thats where I spent most of my time fiddling around…:wink:


#6

Ok, since I was talking mostly about float reaction controllers for the morpher modifiers channels - there is no way to rename these via the Max UI. There might be a way via Maxscript, but I´ve got pretty much no clue about MS…:wink:


#7

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.