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

Re: Bone morph dials script

Post by funksmaname »

ive lost touch a little bit with it working or not, but try embedding the target script on all the layers you want to effect...
Dodgy
Posts: 207
Joined: Sat Jan 13, 2007 8:01 pm
Location: Sydney
Contact:

Re: Bone morph dials script

Post by Dodgy »

Is there a problem with this script and 9.2? Because when I use it to control a head morphing, for example, the head stops following its parent bones.
Kosafwc
Posts: 20
Joined: Mon Jul 15, 2013 9:52 pm

Re: Bone morph dials script

Post by Kosafwc »

The same here. Mouth are working perfectly, but when I'm trying to turn the head with a smart bone in a parent bone layer - mouth stay in place and only eyes are turning (face background layer is also embedded with the script so it stands still with the mouth) Any ideas?
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Re: Bone morph dials script

Post by heyvern »

This is a wild guess. Have not tested with this script but I discovered something related to smart bones and script control of smart bone channels.

What I discovered is that smart bone angles controlled by a script using fAngle and not setting keys using bone.fAnimAngle:SetValue(moho.frame, value) for the smart bone, will not activate any other bone channels included in the smart bone action.

For example:
Imagine that bone B1 is a smart bone and it's action controls point motion of a vector layer and also translation and rotation of another bone say, B2.

A layer script uses bone.fAngle to rotate the B1 smart bone based on translation of a control bone. fAngle doesn't create a key for the smart bone rotation, it merely rotates it "on the fly" so to speak.

In the main timeline, the vector layers will move based on the smart bone action and script combination using fAngle but the B2 bone will not rotate or translate. To activate those channels in the smart bone rotation requires a key for the smart bone angle.

To get around this in my script, I force keys on the smart bone rotations. Instead of using bone.fAngle I use an "if then" to check if my control bone translation has a key (the bone forcing smart bones to rotate using the script), then add or delete the key for the smart bones: bone.fAnimAngle:DeleteKey(moho.frame) or bone.fAnimAngle:SetValue(moho.frame, value). So now, if my control bone has a translation key, the smart bones get an Angle key or the keys are deleted. That way no extra keys.

This adds the keys to the smart bone and now other bone channels, like translation or rotation, keyed in the SB action will work as expected in the main timeline.

Like I said, not sure if this is what is happening in this case, but I was getting the same confusing results with a script I am working on using smart bones. Bones that were suppose to be moving in smart bone actions just sat there like stupid lumps because there was no key on the smart bone in the main timeline. The vectors did what they were told to do using only fAngle on the smart bone, but the other bones were stupid and lazy till I forced the keys on the smart bone angles.

p.s. Yes, I believe inanimate objects can be just as lazy and stupid as people. Just watch that documentary "Toy Story" that explains this scientific phenomenon. ;)
Kosafwc
Posts: 20
Joined: Mon Jul 15, 2013 9:52 pm

Re: Bone morph dials script

Post by Kosafwc »

So for now I think I'll just simulate MorphDials with regular smart bones to make speaking more fluent. Simply one smart bone for each phoneme. More work, cause you have to make keyframes for all smartbones everytime a phoneme changes, but I don't see any other solution to that for now :D
User avatar
Weaver
Posts: 1
Joined: Thu Jun 05, 2014 10:55 am

Re: Bone morph dials script

Post by Weaver »

Hi Everyone,
Is this cool Morph script should work in AS Pro version 10 too?
in version 9 it seems OK!
I've just try to use a control bone for smart-bone actions, and it's really did nothing.
Usually have this at lua console:
"attempt to call method 'parent' (a nil value)"

..may be it needs to set it up another way? :?
Anyone knows about is?
Many Thanks!
W.
User avatar
dueyftw
Posts: 2174
Joined: Thu Sep 14, 2006 10:32 am
Location: kingston NY
Contact:

Re: Bone morph dials script

Post by dueyftw »

I have been trying to get this script in AS 10 and it seem not to work any more.

Dale
BishounenTaurus
Posts: 5
Joined: Tue Dec 29, 2009 5:49 pm

Re: Bone morph dials script

Post by BishounenTaurus »

Sorry for bumping this thread, but does anyone know if this script works in AS11?
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Re: Bone morph dials script

Post by Rudiger »

Most of the functionality of this script has been integrated into the main program through the Smart Bones feature, so I haven't seen much of a need to keep it up to date with the latest version. The only real advantage it still has is you can create more elaborate rigs instead of just standalone dials. I've often thought about using a more complex rig to control a Smart Bones rig using either built in constraints or an embedded script, but never got around to trying it.
BishounenTaurus
Posts: 5
Joined: Tue Dec 29, 2009 5:49 pm

Re: Bone morph dials script

Post by BishounenTaurus »

Admittedly i've been out of the AS loop for a while, so most of what I know has been from seeing other people's work, but I really believe that there's still a place for your script in the newer versions. Although i've seen some impressive setups using smart bones, particularly for head and facial animation, these setups seem to be a lot more complex (and require more bones) than the setups using your script.

Like this for example. https://www.youtube.com/watch?v=-MknsoFekRo I can't imagine this setup being as easy to replicate using smartbones alone.
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Re: Bone morph dials script

Post by Rudiger »

Maybe Funksmaname, the creator of that video, can throw in his two cents, but I'm pretty sure he has switched to using Smart Bones since then as well.

However, you are right that it is harder to switch between many actions using individual dials. That's why having an additional top-level rig would let you have more customisable control while keeping the speed of the built-in Smart Bones feature.
User avatar
funksmaname
Posts: 3174
Joined: Tue May 29, 2007 11:31 am
Location: New Zealand

Re: Bone morph dials script

Post by funksmaname »

Hey y'all,
This script still has a warm place in my heart. I really wish some of the morph dials functionality, PARTICULARLY the proximity stuff shown in that video, could somehow get included or scripted into v11 using smart bones as a core. I don't know if you have any interest in experimenting with such things Rudiger, but I would be super keen to test it!!

For general purpose though, as Rudiger said, smart bones really do fill most use cases and have the advantage of scriptless efficiency.
BishounenTaurus
Posts: 5
Joined: Tue Dec 29, 2009 5:49 pm

Re: Bone morph dials script

Post by BishounenTaurus »

Same. While smart bones seem fine for basic morph control, the proximity feature of your script looks incredibly useful, especially for getting a nice fluid blend between multiple actions. Daz Studio has a very similar feature (Puppeteer) that allows you to easily blend between multiple poses in pretty much the same fashion as your script, and it's a very nice and intuitive way to create animations.

https://www.youtube.com/watch?v=3AZRYJC9RV8 (1:52 mark)
chevohra
Posts: 2
Joined: Fri Oct 09, 2015 11:37 am

Re: Bone morph dials script

Post by chevohra »

Ughh.. I have been going crazy trying to set up Rudiger's Morph Dials in AS 11. But the script does not work in AS 11.

It worked for me in AS 10, but every time I changed something in the dial, I had to go back to the vector layer to see the animation happen, I could not view the animation (in realtime) while I was on the MorphDial layer. I tried the button to Bake effects in real time, but that didn't work either.

While smart bones are good, the MorphDials is so much more than just the smart bones. It saves so much more time, and makes it easier to control, and smoother to animate as well. It is the best thing I have seen so far.

Rudiger - if you have the time, would you please please please make the MorphDials script compatible for AS 11? :D
User avatar
funksmaname
Posts: 3174
Joined: Tue May 29, 2007 11:31 am
Location: New Zealand

Re: Bone morph dials script

Post by funksmaname »

out of interest, what exactly are you trying to achieve with dials that smart bones don't allow?
Post Reply