Tue, Oct 1, 5:12 PM CDT

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2024 Oct 01 3:49 pm)



Subject: Expressions Made Easy by MatrixWorkz - A Short Tutorial


MatrixWorkz ( ) posted Fri, 06 February 2009 at 2:21 PM · edited Mon, 30 September 2024 at 5:40 AM

Ok folks after just reading someone's thread about how hard expressions are I'm here to totally disagree...... And I'll show you why.

First off, there's a handy little python script that comes with Poser called randomExpression.py in the :Runtime:Python:poserscripts:GeomMods: directory that is called by a Random.FC2 facial pose file that will randomize all the facial morphs in any figure. The trick here is to load the base figures which have only their expression morphs loaded. You don't want all the bells and whistle morphs of Ultimate Morphs ++ Morphs and what have you. Just the basics mum!

The reason you only want base morphs is that the pose file will randomize any and all head morphs on your figure and if you have all the extra morphing and shaping morphs loaded you're just going to get a bunch of weird alien looking creatures instead of just expressions.

If you can't find a copy of Random.FC2 just cut and past the code below into a text editor and save it as Random.FC2:

[quote]
{

version
    {
    number 4
    }

runPythonScript :Runtime:Python:poserScripts:GeomMods:randomExpression.py
}
[/quote]

All you now have to do is run this random pose on your base figure and save any facial expressions you like and just skip the ones you don't like. Viola!!!!  You now can create millions of your own custom expressions with the touch of a single button in your library! EnjoY!

My Freebies


santicor ( ) posted Fri, 06 February 2009 at 2:46 PM

what kind of ......heathen .......devil magic ......  IS THIS !!!!! ?????????

No just kiddin'  

Thanks this looks great! will try it out!




______________________

"When you have to shoot ...

SHOOT.

Don't talk "

 

   - Tuco

 

Santicor's Gallery:

 http://www.renderosity.com/homepage.php?page=3&userid=580115

 


MatrixWorkz ( ) posted Fri, 06 February 2009 at 2:48 PM

Oops. I forgot a step for some DAZ figures and any others that may come with built in character or shaping morphs. Some of them come with default shaping morphs as well as expressions.

You'll want to create a base expression CR2 for those figures by using MorphManager to load the base figures. Delete any shaping morphs from the head and resave the CR2 as an Expression Only.CR2 for that figure. Then you can load that figure and run the random pose on it.

My Freebies


dorkmcgork ( ) posted Fri, 06 February 2009 at 3:48 PM

perhaps a way to get around having to remove some morphs could be to save a partial pose file of all the morphs you don't want affected at 0 and apply this each time after using the script.

go that way really fast.
if something gets in your way
turn


santicor ( ) posted Fri, 06 February 2009 at 4:10 PM

MWs idea means you only have to create one new figure one time . Call the figure "Victoria for Random expressions"




______________________

"When you have to shoot ...

SHOOT.

Don't talk "

 

   - Tuco

 

Santicor's Gallery:

 http://www.renderosity.com/homepage.php?page=3&userid=580115

 


MatrixWorkz ( ) posted Fri, 06 February 2009 at 8:22 PM

Quote - perhaps a way to get around having to remove some morphs could be to save a partial pose file of all the morphs you don't want affected at 0 and apply this each time after using the script.

The problem with this is you really can't tell what you're saving if the shaping morphs are left in the CR2 because of the way those morphs affect the entire shape of the head. Plus any Faces you save doing this are not going to give you an accurate thumbnail of the expression.

Honestly, saving a new CR2 with just the expression morphs is not all that difficult and it's worth the effort if you want to quickly and easily make hundreds of expressions a day using the randomizer.

My Freebies


TheOwl ( ) posted Fri, 06 February 2009 at 10:34 PM

file_423651.png

I created an abomination

Passion is anger and love combined. So if it looks angry, give it some love!


MatrixWorkz ( ) posted Fri, 06 February 2009 at 11:05 PM

Quote - I created an abomination

Yeah for some reason apparently the Random.FC2 file does something to the scale on the Mil4 people's heads. I have no idea why that is. The python script is only supposed to affect morph dials not scale.

My Freebies


MatrixWorkz ( ) posted Sat, 07 February 2009 at 12:02 AM · edited Sat, 07 February 2009 at 12:04 AM

file_423660.png

Ok, Here's what I had to do to get it to work for M4. I suspect it should work for V4 as well. Step 1 - Load Michael 4 Base into Poser and resave as M4 Expressions.CR2                 This saves all the morphs into the CR2 where they can be edited with Morph Manager 4 Step 2 - Open M4 Expressions.CR2 into BOTH Sides of Morph Manager. Step 3 - Select the Head Morphs on the right side and delete all the morphs. Step 4 - Select the Head Morphs on the Left Side, Open them up so you can see them listed. Step 5 - Copy each Expression Morph to the right side one by one. The expression Morphs you                want to copy are for the Brows, Eyes, Mouth, Nose, Lips & Visemes. It's easier to copy                just the ones you want from the left to the right than it is to go through all of them                deleting the ones you don't want. Resave the Right Side CR2 that has the morphs                you want as M4 Express.cr2 Step 6 - Load M4 Express.CR2 and randomize away to your heart's content.

It took me about 20 minutes to copy just the morphs I wanted from the Origin CR2 to the Target CR2.  When you run the randomizer you'll get plenty of good expressions as well as bad ones.Just ignore the bad expressions and keep clicking. You'll get some real gems.

My Freebies


MatrixWorkz ( ) posted Sat, 07 February 2009 at 12:22 AM

file_423683.jpg

Here's just a few I've whipped up.

My Freebies


shareone ( ) posted Sat, 07 February 2009 at 1:24 AM

That looks great.
Now, you could have shared your "M4 Express.CR2" file ofcourse :-)


MatrixWorkz ( ) posted Sat, 07 February 2009 at 3:59 PM · edited Sat, 07 February 2009 at 4:00 PM

Quote - That looks great.
Now, you could have shared your "M4 Express.CR2" file ofcourse :-)

No actually I couldn't. The process I used to create it by resaving M4 base to my Poser Library with the morphs in it mean's there's copyrighted Morph Data in the CR2. I could, however, have just kept the secret to myself instead of taking the time to explain how it was done.

My Freebies


MungoPark ( ) posted Tue, 10 February 2009 at 5:00 AM · edited Tue, 10 February 2009 at 5:08 AM

file_423940.gif

 This script is a nice idea - but its completely useless. The morph targets simply are wrong from the view of facial expression research. This is why you will get useless expressions with this approach. In facial expression research single muscle movements are used - this is is only possible when all the appearance changes caused by muscle movements are modeled as separate morph targets.  Usually this is done by using the facial action coding system which explains in detail the appearance changes caused by a muscle contraction. Another problem is that most of the expressions are asymmetric - so you will need morph targets for each side of the face.

The next step then is to figure out which muscles are moved when generating an emotional expression. There are theoretically two ways - one is to rely on the concept of emotional expression families (six basic emotions) and use the dials of the muscle morph targets to generate the combinations. These basic emotions can be mixed. Another one is to uses muscle activation data from a three dimensional emotion space where every muscle has an activation in terms of dominance, pleasure and arousal. This is how it is done in science, many computer games and professional animation.

Now comes the tricky part - there are defined and published rules which muscles can not be contracted together at the same time - so you need a script for checking. This script is not trivial.

The gif animation contains 100 random expressions generated this way. The model V2 has 30 facial muscles (no asymmetry), but we have this for V3. The morph targets have been done in 3dsmax and cross checked for validity several times.

If somebody is not interested in learning all these things we have a python script which uses a genetic algorithm to produce expressions or head forms or whatever you want. We will make this available for free when the final testing is through.


TheOwl ( ) posted Tue, 10 February 2009 at 9:37 AM

Those are interesting information. A python script about this will be a good add to promote facial animation for poser.

Right now I am making faces on my own face to know which muscle don't move together. LOL

So far. I can't find one.

Passion is anger and love combined. So if it looks angry, give it some love!


santicor ( ) posted Tue, 10 February 2009 at 1:35 PM · edited Tue, 10 February 2009 at 1:36 PM

 *Right now I am making faces on my own face to know which muscle don't move together. LOL

So far. I can't find one.

Try taking the gas mask off, Owl




______________________

"When you have to shoot ...

SHOOT.

Don't talk "

 

   - Tuco

 

Santicor's Gallery:

 http://www.renderosity.com/homepage.php?page=3&userid=580115

 


MatrixWorkz ( ) posted Tue, 10 February 2009 at 2:54 PM

Quote -  This script is a nice idea - but its completely useless. The morph targets simply are wrong from the view of facial expression research.

For animation it probably is useless but for adding a still image expression it's a huge time saver, Don't knock someone else's efforts to give a little help to people.

My Freebies


Rance01 ( ) posted Wed, 11 February 2009 at 8:46 PM

completely useless is completely uncalled for.  MatrixWorkz, thanks for the post.  For me loading a figure in the studio, doing a nice Face Camera zoom and playing with dials works fine.  I set the animation keyframes to Constant, start at frame 1 and advance frames, working one at a time, until I get tired of making faces.  These can easily be saved to the Face library.

I do the same thing for poses.  I have lots of 30 frame files FULL of poses.  Working this way allows subtle changes between poses/expressions and sometimes I come up with some real keepers.  I'm not much for modelling, I pick up what Material tricks I can, I buy (or used to buy) a lot of content.  For me the enjoyment in working with Poser is coming up with faces and poses.

I appreciate your post.  Don't get me wrong, MungoPark, I think your work is interesting too but to each his/her own.  This is a place of sharing.  This is place to tell others your ideas and share information about the program we all like to play with.  There's plenty to learn for all of us.

Best Wishes to All,
Rªnce


Rance01 ( ) posted Wed, 11 February 2009 at 8:49 PM

By the by, TheOwl, I think the guy is kind of cool.  Like a photo from the DMV!  You should see some of my driver's licenses!

0¿0
  O

-R


TheOwl ( ) posted Thu, 12 February 2009 at 1:22 PM

I am always cool. And gas masks are good for the ladies.

LOL

Passion is anger and love combined. So if it looks angry, give it some love!


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.