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

Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

funksmaname wrote:Nice one Rudiger :)
No probs! I got a note back from Smith Micro tech support to say that they have forwarded the issue to their engineers, so I guess it's in Mike's hands now :).

My best guess is that, when rendering using multiple cores, multiple Lua interpreters are spawned and they are clashing with each other, causing a crash. Not sure how this got past Beta testing, unless the people that use a lot of embedded scripts don't have multi-core processors.

There doesn't seem to be a way to turn off multi-core rendering inside AS, but does anyone know of a way in Windows to constrain an application to a single core? Then AS would think it was only running on a single-core machine and we could hopefully avoid this issue until it gets fixed.
User avatar
funksmaname
Posts: 3174
Joined: Tue May 29, 2007 11:31 am
Location: New Zealand

Post by funksmaname »

You can set a particular programs core affinity by going to 'processes' in 'windows task manager', right clicking, then clicking 'set affinity' where you can uncheck the cores to use... although i tried this to bring it down to one core, and indeed rendering seemed to only have effect in a single core graph - but it still crashed...

I'll try again later...
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

DarthFurby wrote:Great Rudiger hope they can fix it in time for the next update.

Also made a short video demo of your script for another forum:

http://www.youtube.com/watch?v=dJQSNu6vomA
Awesome video, Darth! Such a cute character too! I particularly like how you were able to create the illusion of her hair moving in 3D. I guess you are using the beta version of the script as it really does look quite laggy compared to the original version. Definitely need to make some optimizations there before I release it! I like how you included a body as well. Really makes me want to finish off my full-body MorphDials script!

Also, you made some really good points about how 2.5D animation gives you more control over style than conventional 3D animation. That's the main thing putting me off cel-shaded 3D animation over 2D animation.

@funksmaname Thanks for the info. Reading your posts from yesterday, I see you already mentioned about constraining AS to a single core :oops:. Shame that it didn't work!
User avatar
funksmaname
Posts: 3174
Joined: Tue May 29, 2007 11:31 am
Location: New Zealand

Post by funksmaname »

@neeters basically you have to merge the meshinstance and morphdials scripts using rudigers 'merge scripts' script and replace all your existing meshinstance instances with the new script. Then you can use morphdials as advertised but there are some quirks - i'll try and play today if i can find the time, and you do the same... i've not tried doing this since the vid i made for Rudiger

Speak later :)
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

funksmaname wrote:@neeters basically you have to merge the meshinstance and morphdials scripts using rudigers 'merge scripts' script and replace all your existing meshinstance instances with the new script. Then you can use morphdials as advertised but there are some quirks - i'll try and play today if i can find the time, and you do the same... i've not tried doing this since the vid i made for Rudiger

Speak later :)
Hi funksmaname,

Are you sure this is right? You're the only person that's actually done it, so I'm not keen to argue, however I would have thought you would only want to use the merged script (rt_apply_morph_weights.lua + fa_meshinstance.lua) on the mesh source layer and leave the dup layers with the original rt_meshinstance.lua script. It might still work the other way, but it would definitely be a lot slower.
User avatar
funksmaname
Posts: 3174
Joined: Tue May 29, 2007 11:31 am
Location: New Zealand

Post by funksmaname »

YES... sorry - an oversight - although it may well work the other way, you can happily leave your .dup layers using the original meshinstance script.

Thanks for stepping in Rudiger :)

btw - is Rudiger pronounced ruddy-gur or roody-gur? i always say no.2 but noticed furby says no.1 - maybe its a yank/pom thing... :P
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

funksmaname wrote:YES... sorry - an oversight - although it may well work the other way, you can happily leave your .dup layers using the original meshinstance script.

Thanks for stepping in Rudiger :)

btw - is Rudiger pronounced ruddy-gur or roody-gur? i always say no.2 but noticed furby says no.1 - maybe its a yank/pom thing... :P
Yeah, it probably is a Pom/Yank thing, but it comes from an episode of The Simpsons, so I guess it's intended to be pronounced ruddy-gur.
The Simpsons wrote:Brad Goodman: We can all learn a lot from this young man here, this, this...
Bart: Rudiger.
Brad: ...Rudiger. And if we can all be more like little Rudiger here...
Marge: His name is Bart!
Brad Goodman: His name's not important!
There's just something about the name Rudiger that made this sequence an absolute classic! I think there's also an Aussie band, Rudiger, named after the same episode.
User avatar
funksmaname
Posts: 3174
Joined: Tue May 29, 2007 11:31 am
Location: New Zealand

Post by funksmaname »

lol, maybe i should dub 'RUDDYGUR' over my videos :P
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

If you do, just make sure it's in a totally different voice, as that would be a great tribute to The Simpsons as well!
User avatar
neeters_guy
Posts: 1619
Joined: Mon Sep 14, 2009 7:33 pm
Contact:

Post by neeters_guy »

funksmaname wrote:@neeters basically you have to merge the meshinstance and morphdials scripts using rudigers 'merge scripts' script and replace all your existing meshinstance instances with the new script. Then you can use morphdials as advertised but there are some quirks - i'll try and play today if i can find the time, and you do the same... i've not tried doing this since the vid i made for Rudiger

Speak later :)
A quick test shows that is does indeed work! My actions weren't designed well for this method, so I get some wonky geometry. But still, I'm amazed how you combined 2 disparate ideas like this. Thanks to all of you for sharing your insights.
User avatar
madrobot
Posts: 667
Joined: Mon Apr 07, 2008 3:07 pm

Post by madrobot »

Very impressive stuff, spent some time today setting up a test rig and the potential is huge.

A word to the wise:
when you name your control bone, have a list of your action names handy. Sounds simple I know, but you're on the bone layer so can't bring up the actions list, and if you're a foolish, foolish man who relies on the names you gave the actions in a label layer, only to repeatedly crash AS each time you hit return after naming the bone, to then find some time later that the issue was a slight difference in action names... that would be foolish indeed.
:oops:
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

madrobot wrote:Very impressive stuff, spent some time today setting up a test rig and the potential is huge.

A word to the wise:
when you name your control bone, have a list of your action names handy. Sounds simple I know, but you're on the bone layer so can't bring up the actions list, and if you're a foolish, foolish man who relies on the names you gave the actions in a label layer, only to repeatedly crash AS each time you hit return after naming the bone, to then find some time later that the issue was a slight difference in action names... that would be foolish indeed.
:oops:
Don't forget you can disable realtime morphing using the options dialog. Probably a good idea while you are setting things up.
User avatar
madrobot
Posts: 667
Joined: Mon Apr 07, 2008 3:07 pm

Post by madrobot »

OK, I'm now on board with the gnashing of teeth in relation to crashing AS when trying to render.

But baking and then stripping out the MorphDials layer seems to fix the problem. Not ideal but it is a fix, you can save the file for render with the suffix "baked" and render from that, keeping your working file for animation.
chucky
Posts: 4650
Joined: Sun Jan 28, 2007 4:24 am

Post by chucky »

But baking and then stripping out the MorphDials layer seems to fix the problem.
There's just one,more problem- again , guys let's face it. We'll be here years later saying "jeez it almost worked would've be so good..... if only."
That goes for pretty much all our experiments- = "if only a script could fix it!"
That's not a solution, to a problem it's just a problem to add to a problem.

Seems to be an endless scenario with this app,
I find myself thinking. wow the possibilities are outstanding, and as with my recent experiments with the physics feature and the 3d from 7, is that the features are actually SO limited that you really can only have the simplest things ACTUALLY work in anime studio.
Forget your dreams, your wild ideas, here you have to conform to what's demonstrated, if it ain't on the box, you can't do it.
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

chucky wrote:
But baking and then stripping out the MorphDials layer seems to fix the problem.
There's just one,more problem- again , guys let's face it. We'll be here years later saying "jeez it almost worked would've be so good..... if only."
That goes for pretty much all our experiments- = "if only a script could fix it!"
That's not a solution, to a problem it's just a problem to add to a problem.

Seems to be an endless scenario with this app,
I find myself thinking. wow the possibilities are outstanding, and as with my recent experiments with the physics feature and the 3d from 7, is that the features are actually SO limited that you really can only have the simplest things ACTUALLY work in anime studio.
Forget your dreams, your wild ideas, here you have to conform to what's demonstrated, if it ain't on the box, you can't do it.
I have to disagree. I've seen some amazing things done with scripts that are "not on the box". And to be fair, the reason that my MorphDials script doesn't work with AS7 is due to a bug in AS7, not a limitation. It's an important distinction as you can't ever assume limitations will be fixed, but Mike has shown he is committed to fixing bugs pretty quickly.

It doesn't matter how developed AS gets, it's always going to have limitations. All tools do! Coming up with ways around these limitations is part of the fun, IMO!
Post Reply