Messiah rigging teeth question


#1

Hi all,

My name is Cypher. I am having a problem adding teeth to my rig.
I have successfully added in my eyes as individual models onto my primary human model. From there I made 2 nulls that are named, face attach and face control.

After that, I made 2 more nulls and parented them to the face control null. Named the 2 additional nulls as EyeAttachL and R. Added in some expressions with the “MoveTo” and “Align” functions and they work great.

Now I added in my teeth in the same individual model fashion, added in my expressions using the same approach as I did with the eyes in command tab:

Align(Khnum_TopTeeth,Khnum_FaceAttach,1)+ MoveTo(Khnum_TopTeeth,Khnum_FaceAttach,1)

Added in another variable and named it BottomTeethAttach (vice versa for the previous).

From there I added in the same functions within the new expression, only this time I changed it to this:

Align(Khnum_BottomTeeth,Khnum_Jaw,1)+
MoveTo(Khnum_BottomTeeth,Khnum_Jaw,1)

Now the teeth work like how I want them to. When I select the head bone and rotate pitch, both sets of teeth will follow the head motion when I set the expressions after IK. When I select the jaw bone and rotate the pitch channel, the bottom set of teeth will move separately from the top set of teeth.

My problem is when I toggle to Animate tab, my teeth are backwards now. Now my teeth are at the back of the model’s head.

I have done everything I can within my power to fix this problem and still clueless.

I have changed my expression order in command tab in the programmatic order of operations and reorganized them from top to bottom for proper Messiah calculating. Still nothing worked.

I have attempted to add in more terms and coefficients to help rotate the bones back into place in setup mode, toggled back into Animate tab and nothing worked. It looks as if the teeth are rotated 180 degrees so thats where I started when attempting to fix the problem in the expression route.

I have redone the whole process from scratch, added in the individual teeth models and still nothing happened.

Also tried to reparent the nulls in the item list to the face control and attach nulls and still nothing.

Thought it was the way the model was constructed so I went to investigate the problem in LW modeler. Teeth are fine, the placement is right on, still changed the rotation of the teeth to see what happens, jumped back in Messiah, teeth are now way off, more than before.

I am clueless on what else needs to be done, I know its something rather simple but is just a needle in the hay stack for me right now.

Can anyone help?

Here is a sample scene saved as .fxs extension file.

Thanks to all who replies and best wishes,

Cypher

PS–Sample scene zip consists of LWO extension files and .fxs extension file conventions.
If anyone needs the models to be converted to OBJ’s, please let me know on reply.
Thanks again.


#2

Hello Cypher.
First of all, you’re overcomplicating things.
Parent the lower teeth model to the jaw bone and parent the upper teeth to the head bone.
You can do eyes the same way if you keep them as a seperate model.
Hope that helps
Ulven


#3

Ulven,

Thanks for your response. You dont know how many people say its a parenting issue. I tried parenting the upper teeth to the head bone and parent the lower teeth to the jaw bone, still nothing works. In fact, the situation became worse because now my teeth are just floating out in space away from my model completely in setup mode.

So I dont think just parenting the geometry to a bone is going to work. Besides, how can you tell the teeth to align and follow the separate mesh with my primary mesh that has the bone deformation effect applied just by parenting the items together? I wish it was that easy.

I also first thought it was because my pivot point of the model was not dead center of the geometry, after double checking on a hunch, I find out that the pivot was dead center of my face Attach null which was better. The Align function should of worked and told Messiah that I want the teeth to follow from the face attach null.

So I can tell you this much, parenting is not the case (I think).

I have a sample scene attached and if you can kindly demonstrate your resolving approach, that would be ideal. Just resave the scene and send it this way, explaining what you did.

Thanks though.

Anyone else might have a clue?

I have attached another zip file of reference images of my problem.

Thanks to all who respond,

Cypher


#4

Hey Cypher

Heres what you should do.

first disable or better yet remove the expression for the teeth alignment. Then in setup mode. click the jaw (not jaw support) and then Ctrl click the lower teeth, and from the top menu, choose Parent items. click on “keep position” and “keep alignment” and then click parent, that’s called parent in place. now switch back to animate, you’ll see your teeth flying all over the place, that’s alright. select the teeth, and from the animate menu, motion block, click on reset “all” in lower block. now they are behaving normally. ohh and ulven is right, your complicating things :wink:

Cheers

I3D


#5

Thank you Ironic 3D and Ulven. It worked out great and didnt need to worry about making all those “Align” expressions. I am making it a bit too difficult, thanks for the short cut.

 Didnt know it [i]can [/i]be that easy.
 
 Ulven, I am sorry for ever doubting you bud I totally hit the wall face first on that one--you were right all along. Awesome:applause:.
 
 I salute to you two.
 
 Thanks a million.
 
 I will be back for more input for I have this awesome humanoid with metal wings I am rigging.
 
 Highly appreciate it, no doubt. :buttrock::buttrock::applause::applause::thumbsup::thumbsup:
 
 
 Just a bit confused, if it was that easy, what is all the true purpose of using expressions? 
 
 In other words, when would you use expressions on certain situations and how much can you get done without using expressions? They can be a pain in the rear.
 
 It was an honor associating with you two,

 Cypher

#6

The suggestion works fine and its so easy…

…but how do I make sure all my mesh is in my geometry null in the item list for organizing purposes and still react in the same manner with the parent in place route?

Wouldnt this be where the Align and MoveTo expression comes in handy?

I have a picture on how I am organizing the rig. I have a null that says, CharacterName_Geometry- and I want all my geometry to be under that null.

I tried to move the geometry back under the null but it gets reparented to the null and I am back to where my teeth dont work with my rig.

I just dont understand why wont the expression route work the same. I dont want others to struggle with my archives and broad listings when passing down the file in the production line.

Thanks again for yalls time, its always appreciated in this wonderful community.

Cypher


#7

Hey Cypher

What your trying to do with reparenting “reorganizing” the geometry to the Geometry_null will only mess up your teeth.

Here’s how parenting works in messiah especially.

let’s say you have two cubes, the first cube “cube1” is at position x=10, y=10, and z=10. and your second cube “cube2” is at the origin (i.e 0,0,0). when you parent cube2 which is at the origin of the scene to Cube1, cube2 will jump and inherits cube1 position. that’s the old way of parenting in 3d programs. then came along parent in place (which in other software packages it’s transparent and defaults to parent in place) which does the following internaly. when you parent using parent in place, first cube2 moves to match cube1 position, then it looks where it was before and where it’s now, and does an offest to itself to go back to it’s original position. meaning. cube1 is (10, 10, 10) when Cube2 is parented it will be (10, 10, 10) in world space (that’s according to the origin of the scene) and (0,0,0) to it’s parent (local space), now cube2 originally was at (0,0,0) worldspace and now it’s taking cube1 position, when it makes the offest it will become (0,0,0) worldspace and (-10, -10, -10) local or parent space (and that’s the space according to it’s parent, cube1)

ok I got lost my self :smiley: here’s the thing with expressions. when you say moveTo. what it does basically is the following. it tells, cube2 channels (i.e x, y, z, h, p or b) to match cube1 channels. so basically it’s cube2.x=cube1.x which translate, x position of cube2 equals x position of cube1. so what can you do if you want to make an offset? there are many ways to offset your data in expressions, most of the time you’ll have to wire the channels seperatly, meaning each channel alone so you can offset, and then write an offset to the expression as a whole. To be honest I havn’t touched messiah expressions in a long time so I can’t remember how I used to do it easily there.

Now why this method of parenting and expressions? before jumping on messiahs throat. in other application, it’s the same. meaning, if it’s like your case, then yes, everyone will have to parent the teeth to the jaw bone, and yes it will not be organized, that’s in every software. and yes again if you want to do them in expression in other software, you will still have to make an offset in the expressions. the only difference is that other application have the default behaviour to parent in place and not the normal parenting like in messiah. and if you want to make the normal parenting in other application, well it’s tedious as parent in place in messiah. The old parenting system (zeroing out the pos,rot,scale to match the parent) is usefull, and it was usefull before even more in the old way of doing animation, so it has it’s uses. And mostly that was because of the way lightwave handled geometry, some other application used to be like this also, in that, in LW modeler, there wasn’t a way to control the pivot point location, and even when it was allowed, some people used it others didn’t, so let’s say if you were building a robot, you would buid everything in modeler, but every object will have it’s pivot point to the origin, so when going to messiah and parenting everything togather it was a simple (tedious actually) step of moving the pivot where you want the rotations to be. and if you don’t have rotation and only through bones, you wouldn’t care. any time your lost, just zero out the transformations and your back on track. and that goes also to furniture locations and everything that was modeled and aligned in modeler, everything is at zero (pivot only).

Anyway, hope that helps, and sorry for the lengthy explanation :wink:

Cheers

I3D


#8

Ironic 3D,

I understand your explanation. Had to read it more than once but I got it. I understand what your saying about parenting and the difference of “parent in place” in Messiah as compared to other software packages.

So I think that adding expressions and parenting in place is kind of the same only they do slightly different things that benifit certain causes.

The “parent in place” is a slightly quicker way but it doesnt maintain the hierarchy.

David Maas helped me out with the sample scene and did exactly what I was talking about.

He made a position null and parented it in my geometry null archive.

From there he made another null called Jaw align as a child of the Position null. He then put the bottom teeth model as a child under the Jaw Align.

Did the expression in the same fashion as I did only he told the bottom teeth model to align and moveto with the Position Null which is the parent in that particular chain. His way worked and maintained the hierarchy. Now I can close my CharacterName_geometry null and have eveything organized with the effect I am looking for at hand.

I know that if I want to change the offset now that I have to add on the expression equation to offset things in that manner as compared to unparent the items and reparent in place after modifying your offset distance.

I think Expressions is a bit more work but has its advantages when wanting to organize the scene like how I am doing.

I do like the “parent in place” route but its not helping my organizing process while rigging and maintain the hierarchy chains to be clean.

So I suppose its up to the artist on his approach and how much time he has plus how much control he wants on his overall duty.

I will place pictures here later on and show the difference so others can see.

Thanks for your time Ironic3D, I see the bigger picture now thanks to you and Ulven.

So when you rig Ironic3D, you hardly ever use expressions? You just parent everything in a particular way for your rigging process and call it done?

Thanks again,

Cypher


#9

you welcome cypher, glad that it worked with you :slight_smile:

no I use expressions in my rigging, depending where I’m rigging :wink: but I try to resolve to expressions or constraints as a last resort since they do slow down interaction, the more you have the more calculations hit and slower interaction. For most of the time, it’s very simple expressions, depends on the character really. My aim in rigging is to have as much freedom to animate and express my poses but with less controls and complexity as I can, it’s not fun to go through a zillion controller just to make a pose!

Anyway good luck and keep us poted :slight_smile:

regards

I3D


#10

Thanks for all the depth info Ironic3D! I didnt really know that it will cause an interaction delay with all those expressions (makes sense). I am now convinced to make things hella simplier and not quickly jump on making expressions for every little thing.

I am just a bit puzzled because I managed to do the same technique with the expressions for the eyes and I managed to place the eye geometry under my CharacterName_Geometry Null for my organizing purposes. Everything works fine with the eyes when I reparent my eye mesh under the geometry only null and left the expressions telling Messiah how I want them to react.

When I got help from Dave Maas, he managed to fix it but now I have a Position and Align null under my geometry only Null. I tried to move the object under the GeoOnlyNull but I come with the parenting problem again. I didnt really want any nulls under my geometry null because it kind of ruins my organizing purpose if I continue the route Dave took for future fixing.

Its wierd because it worked one way for the eyes but now it doesnt with the teeth. Oh well, as long as I got the model to work like how I want to thanks to you guys.

I will post up any other problems related if I stumble on some more when I advance on rigging this guys face.

Its an honor Ironic3D.

Cheers:thumbsup:

Cypher

PS-will post up final result after product is released. Thanks again 3D gurus, I highly appreciate it. Will return the favor one day.


#11

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.