Bone morph dials script

Moho allows users to write new tools and plugins. Discuss scripting ideas and problems here.

Moderators: Víctor Paredes, Belgarath, slowtiger

User avatar
funksmaname
Posts: 3174
Joined: Tue May 29, 2007 11:31 am
Location: New Zealand

Post by funksmaname »

i didnt set them up but they show in my tools palette? should i have done something else as well? :P

sorry - just got back from being out, and going to sleep shortly, but i'll check tomorrow :)
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

Yeah you will have to install the button tools in your scripts\tool\_tool_list.txt file by adding the following:
button rt_bake_morph_dials_button ...
button rt_create_morph_button ...

They won't work as buttons until you do that.
User avatar
funksmaname
Posts: 3174
Joined: Tue May 29, 2007 11:31 am
Location: New Zealand

Post by funksmaname »

ah yes - that works now :P
I should probably have mentioned that in my setup vid... but as i've not touched the buttons yet i'll do a screencast on them soon as I get my head around them.

I can't for the life of me work out how to copy a pose from the main timeline into a new action (unrelated to this script... is it possible?? i was sure it was)

I just tried changing his face, and hit the create morph button. It created an action, but the action doesn't look the same as the main timeline pose? I guess its for use in combination with all other settings as they are in the timeline at that moment? the default name 'tweak' is probably an indication :) I created a sneer, and adding a bone adds another level of control...
this is so cool!

will play with the buttons today and see if i can work out what they do :)
sbtamu
Posts: 1915
Joined: Tue Dec 15, 2009 5:05 am
Location: Texas
Contact:

Post by sbtamu »

I'm having a blast with this since I got it to work right(thanks funksmaname and rudiger) I made a mouth with 7 different actions representing speech and moving the master bone to each action's bone to make her look like she is talking, and so far its looking great.

Thanks

Stephen
Sorry for bad animation

http://www.youtube.com/user/sbtamu
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

The general way to copy keys from the main timeline to an action is to activate the action with a double-click, go to frame 1, select the main timeline with a single click, and then just click on the "Insert Copy" Actions button. I've been meaning to create a button tool to streamline this process, but never got around to it. Also waiting for Mike to add a function to get the list of available actions to the scripting interface.

And yeah, the CreateMorph (should have called it TweakMorph) button only stores the difference between the current state of the main timeline and the original morph result. If it just stored the current state and you didn't reset the bone positions, then the morph result would get greatly distorted. I think it also automatically checks whether the target action is multi-frame or not, and applies the morph to the current frame if it is multi-frame and to frame 1 if it's not.

I should go back a bit and give you an example of the intended use of the CreateMorph tool. Say you've got your MorphDial driven animation up and running, but there's one frame where the morphs just don't mix right and the result looks weird. You could just edit the frame manually on the main timeline, but then it wouldn't smoothly transition your tweak in and out and any changes to the MorphDials on that frame would no longer have any effect. Alternatively, you could use the CreateMorph tool as follows... Before you change the main timeline, go to a few frames before the frame you want to correct and hit the CreateMorph button, specifying the "Tweak" action (make sure it already exists as a multi-frame action first). Then go to a few frames after the frame you want to correct and do the same thing again. Now go back to the frame, do the correction and hit the CreateMorph button a third time, then delete any keys you create for this frame on the main timeline. Now, provided you have an active MorphDial for the "Tweak" morph, you should have the best of both worlds. You can still affect the frame using the MorphDials, but it is also smoothly corrected as it goes into and out of the frame.

Of course this is just one example. You can also use the CreateMorph tool to create single-frame corrective morphs that you can strengthen or weaken throughout the animation, using its own MorphDial.
DarthFurby
Posts: 510
Joined: Sat Jul 29, 2006 1:34 pm
Location: New York City
Contact:

Post by DarthFurby »

I won't be too active on the forum in the next couple of days as I need to catch up on my work, but look forward to seeing whatever you guys come up with.

Rudiger, can't wait to try out your latest script. DO YOUR WORST!

And funk, love the ideas you're coming up with, even tho it makes my head spin(pun intended). Video is so much better than text(I learn more from watching than reading), which is why it seems like nothing happens until someone makes a video tutorial about it. However, people will be talking about your videos for years. You really caught lightning in a bottle with those.
User avatar
neeters_guy
Posts: 1626
Joined: Mon Sep 14, 2009 7:33 pm
Contact:

Post by neeters_guy »

Second that. I avoided this script for months, but after watching funk's video, I got it to work the first time! Thanks to all for helping us mortals!
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

neeters_guy wrote:Second that. I avoided this script for months, but after watching funk's video, I got it to work the first time! Thanks to all for helping us mortals!
I agree! I've learnt stuff from Funk's videos and I wrote the damn thing! It goes to show that a tool is only as good as its instructions.
Last edited by Rudiger on Fri Aug 13, 2010 4:45 am, edited 1 time in total.
User avatar
funksmaname
Posts: 3174
Joined: Tue May 29, 2007 11:31 am
Location: New Zealand

Post by funksmaname »

hey, glad to help! i can't imagine the amount of thought and work Rudiger put into this... it's the least I can do!

Now - I've been working on improving my 'smilin' rig. I recently re-read 'Making Comics' by Scott McCloud and there's a few pages on face emotions and how many of them are made up of 6 base emotions:
anger, disgust, fear, joy, sadness and surprise.
He has a page of formulas for mixing them to create different faces so i thought this was perfect for using with this script!

I've created a quick screencast to show this called 'Face Theory':
http://www.youtube.com/watch?v=-MknsoFekRo

and have scanned the pages from the book for you which you can find here: http://farm5.static.flickr.com/4080/488 ... a907_o.jpg

The lipsync worked pretty well except for with very extreme emotions sometimes the mouth wouldn't close on M's - nothing some last minute finishing couldn't fix - or better still the 'Morph Tweak' tool once I get my head around how to use it! I guess working that out and showing this facial expression stuff with lipsync, and correcting problems, is a natural next step in my tutorials - although I might take on something simpler first :P I have to work out exactly how it works before I teach people how to do things incorrectly :P

http://www.youtube.com/watch?v=MkC0JipzF50

btw, i reccomend Scott McClouds books 'Making Comics' and 'Understanding Comics' - where there's quite a lot of quite general info on story pace, scene breakdown - it's about comics, but i think if you can plan a good comic scene, good animation will follow! Having said that, i've never drawn a full comic or finished a complete animation... but my theory is solid ;)

Enjoy.

---------

Although this is useful, it doesn't cover everything - 5 out of he 6 base faces are negative - so you can only get negative sorts of faces with this with exception to some dubious joy mixed with the other 5 negatives... but still i think it valid for exploring...

This is starting to make my head hurt lol, but i think the most reliable way to have good lipsync across all expressions is to have a set of phenomes for each of the expressions, and somehow automatically blend which set to use based on the current expression mix (!?) ... i think i need to lie down :oops:
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

funksmaname wrote:.
This is starting to make my head hurt lol, but i think the most reliable way to have good lipsync across all expressions is to have a set of phenomes for each of the expressions, and somehow automatically blend which set to use based on the current expression mix (!?) ... i think i need to lie down :oops:
This is possible with the new version! You can take advantage of the fact that if two weights are specified for the same morph then the weights are multiplied together. This means that you could have a corrective morph that is only active when a particular phoneme and expression are both active at the same time. This would be great for automatically fixing those problem combinations.

Keep up the awesome work!
User avatar
ulrik
Posts: 1087
Joined: Thu Aug 11, 2005 10:32 pm
Location: Stockholm Sweden
Contact:

Post by ulrik »

neeters_guy wrote:Second that. I avoided this script for months, but after watching funk's video, I got it to work the first time! Thanks to all for helping us mortals!
Yes I agree, funk you're tutorials are really helping out to understand this great script!
Thanks! :D
User avatar
funksmaname
Posts: 3174
Joined: Tue May 29, 2007 11:31 am
Location: New Zealand

Post by funksmaname »

I got a problem...
When i bake - this happens:
http://www.youtube.com/watch?v=OSdSypZ0L6E

Might be to do with the fact that the parent group is a bone layer and i'm trying to use some bones in it to do some basic top level movement? (the movement isn't being read regardless...?)

Here is what it looks like pre-bake:
http://www.youtube.com/watch?v=Dv3H8gAgso8

Dunno if anyone has read the comic 'Transmetropolitan' but this is the lead character 'Spider Jerusalem' :) just for fun...
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

Problem, what problem :D? It would be great if you trying to do a vector head explosion.

What options are using?

It might be that the parent is a bone layer. Do you have multiple MorphDial layers or anything? You could also try posting your anme file.
User avatar
funksmaname
Posts: 3174
Joined: Tue May 29, 2007 11:31 am
Location: New Zealand

Post by funksmaname »

Ticked are:
Enable layer scripts
Preserve interpolation mode
Preserve existing keys in real-time
and Bring up options window

I know what you mean, its quite funny - smilin is even funnyer.
Here's the smilin2 rig : http://www.mediafire.com/?ghldtzlpejd8408

note to others: you can play with this but I highly reccomend you make your own from scratch or you won't really gain anything from it!

Reason to parent the bone layer is that i dont want to totally lose the ability to use normal bones... as cool as this is its overkill for simple movement... maybe i should just use a group layer, and put that into a bone layer. I'll try that :)

It's also when i'm trying to tweak points sometimes, as i move a point it does that flapping wider and wider thing so i can't actually change a pose? it could be because i put down the actions as references rather than copies? but even getting rid of all references makes the point flap - and i gues it's this point flapping that is being baked... if you zoom right out you'll see the face is increasingly exploding in oposing directions :P
sbtamu
Posts: 1915
Joined: Tue Dec 15, 2009 5:05 am
Location: Texas
Contact:

Post by sbtamu »

This is my 1st try at using MorphDials. I just tossed a mouth on AS prop hair and eyes and only used 4 phoneme.

http://www.youtube.com/watch?v=mZ0BztguZdw

I'm glad I finally got it to work!

Thanks for the help!

Stephen
Sorry for bad animation

http://www.youtube.com/user/sbtamu
Post Reply