Bertram's face rig


#41

Thanks for the reply. The reason that I deleted everything ( decals, groups, poses, relationships etc ) on your model was that A:M crashed repeatedly rrrrright as it gets to the last split second of its’ saving process.:banghead:

Do you work as a character rigger ? ( Surely !)
I honestly think you should persue selling this rig to get back some of the effort you have put into this thing . The amount of complexity is staggering !


#42

The reason that I deleted everything ( decals, groups, poses, relationships etc ) on your model was that A:M crashed repeatedly rrrrright as it gets to the last split second of its’ saving process.

D’oh, yeah the decals and groups should be deleted, but the poses and relationships shouldn’t need to be unless they have muscle movement…I think that’s the sticking point. The poses with muscle movement are the eyelid/eyebrow, tongue width/thickness, cheek IO, pupil dilate and lip curl poses…if you delete all of the smartskinning (look in the relationships folders for any “splines” folders and delete them as well as any “groups” folders in the relationships) it should clear up the crashing problem, at least it should.

I don’t work in 3D for a living…maybe someday. The rig looks complex, but it’s just a lot of simple things piled on top of each other.


#43

I was thinking about automating the rigging, but, after having this back and forth about adapting this rig to other characters I’m thinking that just pulling in the rig to a new character and moving a few things around might be the easier way to go.

So, I removed any muscle and group references and geometry and here it is. The poses that are affected by the lack of muscle/smartskin would be the tongue width and thickness, the pupil dilation, the lip pucker and the cheek IO. The forehead constraints also need a copy of the character’s forehead (set to 100% transparency unless you want it to show) so that the bones’ surface constraints have a surface.

To adapt the rig, the origin of the mouth bones should be in the center of the ‘x’ and ‘y’ of the mouth and a ‘z’ location at the head bone (just drag the head bone to where you need it to accomplish that). The ends of the UD/LR bones should be on the pivot point of the set of CP’s that make up that section of the lip (select the points and check the properties for that)…the lip targets and lip bones start on that pivot point as well. Then, use the rigged head as a guide for the placement of the remaining bones. The one thing you need to make sure is that the ‘z’ rotation of every bone is set to “0”. After that, it’s a matter of weighting the CP’s and adding the muscle poses back into the Relationships (I left the relationships there so that all that would have to be done is edit inside of those).

I haven’t done this yet, but, it sounds like it would work. If this gives you problems Vegan (or anyone else) let me know and I’ll try to fix it. When I get more time I’ll give it a try too.


#44

itsjustme : Thanks for that.

I spent several hours today ( and some early …early this morning ) trying to get this rig to run smoothly.
First off let me say thank you again for posting this project.
As I have said before, the amount of work you have put into this thing is staggering.
It would take me all day just to name all of those bones ( and all the next day setting constraints )
After getting most of my bones set up, I tested the face just for fun.
Although I had several problems with the mesh caving and such, I expected it, and just wanted to see something move.
From what I saw this rig is going to be awesome. When the mouth smiles, the cheeks go up pulling the nostrils, the area under the eye … all of it… just as it should.
All is not perfect though. I’m running into a major problem.
When I move a pose slider, ( or even drop the model into a choreography ) , my system hangs for several seconds. I have the model in wireframe, yet I still have a two - three second lag before something happens.
I thought I knew the answer : My models crazy high patch count.
As I test, I deleted over two thirds of the model, yet still had similar results.
I then took the Tarzan model on the CD and deleted all but his face (to less than 3000 patches ) I rigged the mesh very sloppily just as a test.
Despite just throwing the rig into the Tarzan mesh, it still showed clearly that it was working.
Yet still with the lag problem.
Finally, I decided to see just how much of a difference that there was lag wise in the original model ( headtutorial.prj.)
I loaded it up, and to my surprise, I still got the lag, just not as bad - about a half second lag. More like a skipping frame. This was at the last subdivision level too BTW.
I would think that this was a problem with my video card, but I had created several pose sliders for the previous version of my face which had a much higher patch count.
When I use these muscle motion pose sliders, the feedback is almost instant.
I can go all the way up on the subdivision levels before it starts lagging.

Any clue what am I doing wrong ?

Also, I notice that when you look at the bones in the ‘headtutorial.prj.’ the setting for falloff is set to ‘OFF’. Why is this ? I know that they have falloff, but why does it not show in the properties ?


#45

Any clue what am I doing wrong ?

I don’t think you’re doing anything wrong. If I open the rig itself with no geometry, there is no lag for me, if I import the unrigged head (or any other character model) there is a noticeable lag of a half second or so on the pose sliders. I did notice that when I move the eye targets there isn’t any lag, but if I move the head bone there is…if I directly manipulate the jaw bone there isn’t a lag, but if I use the pose slider there is. I don’t know what causes it, but it hasn’t hindered me when animating…anybody have any idea how to get rid of the lag (I tried the “skip frames when behind” setting and it didn’t seem to help)?

Also, I notice that when you look at the bones in the ‘headtutorial.prj.’ the setting for falloff is set to ‘OFF’. Why is this ? I know that they have falloff, but why does it not show in the properties ?

Falloff is used when you set a bones’ area of influence…I specifically tell the program manually how much a bone influences a CP (I’m a control freak, I guess). I’ll be including a short description of the method I use to weight the CP’s manually in the tutorial I’m trying to finish (I’m late with it, but, it’s pretty lengthy)…there’s a “Tech Talk” that Hash made that explains weighting in detail at:

http://www.s1.hashmirror.com/ftp/pub/movies/BobCPWeights.mov

Shaun Freeman has a tutorial on the 2004 Training Disks sold by Hash that shows how to rig a face using the “compute CP weights” method that is also described in the Tech Talk (if I remember correctly).

From what I saw this rig is going to be awesome. When the mouth smiles, the cheeks go up pulling the nostrils, the area under the eye … all of it… just as it should.
All is not perfect though.

I’m glad you like it so far, of course there’s always room for improvement. Hopefully, it’ll end up working the way you’d like.


#46

I figured out what the lag was Vegan, it’s the surface constraints in the forehead and brows.

If you want faster response in the controls in this rig, here’s a version for importing that doesn’t have the forehead and brow controls…you’ll have to make those another way if you use this one. I may have to rethink using the surface constraints (at least that many at once).


#47

That is strange that you get the lag problem as well.
Do you think it there is just something in this particular rig that is causing problems ?
I tried the KeyKat model which has a pretty complex rig, and it worked smoothly with no lag what-so-ever untill I increased the sub-d level up past the second level.
The model is less than 3000 patches, so as a test I duplicated the model to over 8000 patches. There was still no slowdown, so apparently patch count is not causing the problem entirely.

( Puzzled )

Edit : Whoa …that was fast. You must have just replied.

Off topic : do you have a web site ? I’d like to see some of your work.


#48

Off topic : do you have a web site ? I’d like to see some of your work.
Today 08:14 AM

I don’t have a website at the moment…I’m going to try to have one before the year is over, I’ve got to stock it with a little more content than what I have at the moment. I made a handgun that is in this thread on the Hash forums (it used to be here as well):

I’ve got a few odds and ends that will eventually be something…I’m trying to tie up all the loose ends so I can move forward. One of the things on my list is a short with Bertram. I’m getting there, but I need to move faster.


#49

Itsjustme : Thanks for the new zip file. Unfortunately, it appears to have been corrupted.

I checked at the Hash forums, but it is not posted there. I might have time this weekend to look at the file . ( Maybe not though - I’m in the process of moving )

-Thanks again.:thumbsup:

About the gun : Good skills man. Is it a Colt Python in .357 ?


#50

Itsjustme : Thanks for the new zip file. Unfortunately, it appears to have been corrupted.

I downloaded it today and it worked fine for me, I’ve had that happen before as well…maybe it’s something CGTalk had going on with their server or something. Try downloading it again, if it still gives you problems, it’s also in the thread on the Hash Forums here…it’s the May 1st entry (I think it’s the 12th one down).

I have a simplified forehead/eyebrow setup that I’ve put in and should upload as soon as I’m sure I like it, so far it looks like it’ll do the job adequately.

About the gun : Good skills man. Is it a Colt Python in .357 ?

Thanks, I’m still working on improving…I learned a lot making it. It’s based on a Colt Python, but I simplified and changed a few things.

-Thanks again.:thumbsup:

Thanks for stress testing the rig, it’s helping me to make it better.


#51

Thanks. For some reason the file is still currupt here at CGTalk, but works fine at the Hash forum.

I can see I have been missing a lot of discussion that could be helpful over at the hash forum.

Thanks again.

Edit : It looks like your modification worked ! Thanks !
BTW, Where are the constraints in the rig ? ( I can’t seem to find them. )
Surely the constraints are already set …right ?
Also when you set CP weights, you say that you do this manually - how ?
Do you assign CP weights first and then edit them manually later ? ( Why does it not show that the bones have a CP weight in the PWS then ? :shrug: )

One change I would suggest in the rig would be to have the top lip bones ( the LR/UD bones ) a different color from the bottom bones. Also the side bones could be a different color as well ( white is good )


#52

Edit : It looks like your modification worked ! Thanks !

Cool, I’m hoping to post a version with the new forehead/eyebrow controls soon…everything takes longer than I expect though.

BTW, Where are the constraints in the rig ? ( I can’t seem to find them. )
Surely the constraints are already set …right ?

The constraints are in the “Relationships/User Properties Relationships” folder…there are a lot of sub-folders. They are set, but, you’ll probably have to modify a few settings depending on the character you hook up to the rig…I went into some detail on the Hash forums here (the May 8th entry).

Also when you set CP weights, you say that you do this manually - how ?
Do you assign CP weights first and then edit them manually later ? ( Why does it not show that the bones have a CP weight in the PWS then ?

First, I “ballpark” the CP’s by just assigning them to the bone that I think will have the most influence in bones mode, then I hide everything except the section of the face I want to work on, open a new Action, move things around manually and adjust what doesn’t look right by selecting the points in question, right-mouse clicking, selecting “Edit CP Weights” and setting the bone influences there. One thing to remember is that AM will make the total percentage of influence add up to 100%, so, if you need say just 80% influence from a particular bone or group of bones, assign the 20% you don’t want used to a neutral bone…for the face, I use the head bone. Later, when you move that portion of the face another direction and find you need to have another bone’s influence, use some (or all if necessary) of what is applied to the neutral bone…making sure that the percentages add up to 100%.

I think to get the indicator in the PWS that there is CP weighting you have to set the “Bone Falloff Curve” in the “Properties” of the model…not sure about that, but, that’s how I have been able to make it appear. Since I don’t use that, I’m not as familiar with it.

One change I would suggest in the rig would be to have the top lip bones ( the LR/UD bones ) a different color from the bottom bones. Also the side bones could be a different color as well ( white is good )

I haven’t bothered changing any colors of bones, but I can see how it would be helpful if someone is importing the rig into another model…I’ll do that on the next one I post. So, would you want the LR bones a different shade of the same color as the UD bones to help differentiate them? And would you want the lip bones to have the same color scheme? I guess I could color coordinate the whole face…it would make explaining what to hook up where easier. Any preferences?


#53

I’m going to have to pick through the constraint setup on my model.
I still have a few problem areas.
I’m sure I can crack this thing though.
Thanks once again for this rig. It is all slowly making sense ( I’m learning what certain types of ‘constraints’ do as I go.
I hate learning on my own. I’m a ‘show me’ kind o’ dude.

As far a a color scheme for the bones, I’ll get back with you on that. I have to be to work in a few hours ( at 3:46 A.M. )

:thumbsup:


#54

I just wanted to give a “heads-up” to anyone interested, I posted a new version of the rigged head on the Hash thread. The new version has a different forehead and eyebrow setup, which have a lot in common with the constraints in Shaun Freeman’s tutorial. It’s not exactly the same, but unless I wanted an extremely complicated setup I had to let basic geometry dictate bone placement…hence the similarity.

Now I’ve got to finish the tutorial…


#55

Finish that Tut. I’m also a “Show me” kind of person. A tut would help alot.


#56

David, I’m going to try the new set-up today, but was wondering if you could list the constraints and their percentages that you use in this rig.

I know I can open up the folders to find this information, but I’m not sure which bones have constraints and which folders to open to get to the info.

I realize this is asking a lot, so no hurries what-so-ever on the time it takes.

If I keep running into constraint problems, I’ll set them up myself to get a more 'hands on approach ’ to the problem . I need to learn what they do anyways ! :thumbsup:

Thanks again ! It’s exciting seeing my model move.


#57

What are you having problems with ? Maybe I can confus… uhh … help you some.


#58

Okay, here are a few:

  1. All lip bones= “Translate to” corresponding lip targets at 90% (no compensate)

  2. wattle= “orient like” jaw 75% (with compensate)

  3. cheek= “aim at” nostril target 60% (no compensate)

  4. jowl= “aim at” nostril target 70% (no compensate)

  5. nose_center_left/right= “orient like” nostril 80% (with compensate), “translate to” nose_lower_center 40% (with compensate)

  6. nose_lower_center= “translate to” upper_center_geom 100% (with compensate), “translate limit” 0 on ‘x’ and ‘z’ and ‘y’ limit dependent on model.

  7. nose_main= “translate to” upper_center_geom 20% (with compensate), “translate limit” 0 on ‘x’ and ‘z’ and ‘y’ limit dependent on model.

  8. nostril_base_left/right= “translate to” upper_left/right_3_geom 20% (with compensate), “translate to” upper_left/right_2_geom 25% (with compensate), “translate limit” 0 on ‘x’ and ‘z’ and ‘y’ limit dependent on model.

  9. nostril_left/right= “aim at” nostril_target_left/right 50% (no compensate), “euler limits” on ‘y’ dependent on model.

  10. ear_left/right= “aim at” nostril_target_left/right 5% (no compensate).

These numbers might have to be adjusted depending on your model, but, they can serve as a starting point. Also, I left out any of the constraints that are dependent on the model’s dimensions like the mouth_ud/lr. Hope this helps.


#59

Thanks for the effort David.

I think I’ll go ahead and set up the constraints ( vs. use the read-made version ) since this will help me learn what is going on.
I realize that I will have to re-create all of the pose sliders, but I would have had to modify them anyways.

I have to admit something ( something embarrasing really ) : I have avoided animating anything in A:M due to my lack of knowledge regarding constraints. I actually thought that all models behaved like those without limits ( movement coonstraints )
For example, I thought that the ‘Knight’ model was fully rigged for animation - the best their was.
I soon became frustrated with his limbs flying every-which-way, and thought I was just doing it all wrong.
Now that I think I have a better understanding of constraints, I have a renewed interest in animation - and A:M is looking better all the time.
( I even purchased Jeff Lews DVD yesterday. )

Thanks for posting this project and sticking with me through all the gripes that I have had with it.


#60

Now that I think I have a better understanding of constraints, I have a renewed interest in animation - and A:M is looking better all the time.

Very cool.

Thanks for posting this project and sticking with me through all the gripes that I have had with it.

Your efforts have helped me decide that I should automate this process, so, thank you. The tutorial should be up by the beginning of next week…I’ll give you a “heads up” as to where to download it when I know for sure.