PDA

View Full Version : Mash - Mainframe's Maya Nodes for Motion Design


oktawu
10-21-2012, 01:53 PM
Briefly, it's a set of tools i stumbled upon which make Maya a little more useful for doing
mograph style animation. It's actually mainframe's inhouse toolset for motion design and it runs on top of SOUP. Been playing around with it and i really like what they've done.
And more importantly, they are giving it away for free.

http://marquee.by/mash/

John Keates
10-21-2012, 05:14 PM
Hmmm.... nodes!

ianwaters
10-21-2012, 07:01 PM
:)
Thanks for posting this, I wasn't sure it was worthy of being put on the news page ;)

Hope you find it useful, let me know if you have any ideas for improvements etc., etc.

mash@mainframe.co.uk

Cheery ta!
Ian

joie
10-22-2012, 07:27 AM
These tools are amazing, mograph at the palm of your hand :)

oktawu
10-22-2012, 10:37 AM
Hey Ian.

Thank you and your team for this. It's a huge timesaver, plus, for a ton of things
i don't need to go out to other packages and try to export that back into maya.

Will let u guys know if i get any ideas for improvements. Hope u'll keep supporting this.

Cheers,
O

leif3d
10-22-2012, 01:56 PM
Aha, very nice!
Setup time for goal driven animations and other more complicated math ops look like a breeze to setup. Thanks again.

thematt
10-22-2012, 06:18 PM
looks amazingly usefull!! thanks a lot for that and for sharing it with us.
Will test it soon in a project I have!

Ekenryd
10-23-2012, 03:21 PM
Very cool. One improvement that I can think of is custom curves, like the bias ramp, for each attribute that could use it, for example amp x, y and z. Sure, you can use one node for each axis but it would be nice to have stuff clean.

Also, maybe a delete button and/or a disable button on the nodes? As it is now, I get random crashes when I delete a node in the middle of a network.

ianwaters
10-23-2012, 03:33 PM
Thanks for the feedback!

So do you mean, for example, that the distribute node would have 3 ramps and not one? One for Distribute X, one for Distribute Y, and one for Distribute Z?

Binning nodes is slightly tricky, are you deleting the nodes using the 'Bin' shelf button?

If you select the node in the node editor, and click 'bin' on the MASH shelf, the node should be deleted and the surrounding nodes re-connected so that everything still works. It's not fool proof, but it works most of the time.

Thanks again,
Ian

Edit: I've also started adding 'enable' checkboxes to the nodes.

ogar555
10-23-2012, 06:25 PM
Sweet! Going to try it out A.S.A.P!

republicavfx
10-23-2012, 09:39 PM
ive been playing with this a bit too..overall very positive vibes for this.

would be nice to have recursive distribute node...like a cloner inside cloner in c4d

also would be nice to work with dummy objects then switch them out later for geometry like matrix object

edit....i guess instancer mode kind of does both of these requests probably within the limitations of maya


also ...and i havent played with this too much ....but it seems like more than one bounding object throws an error.. so if i have bounding on position noise then a bounding on position trig it doenst seem to like too much.

overall very good tho. hopefully other people will kick in with the sourcecode and continue to improve.

thanks very much for putting this much needed toolset together

Ekenryd
10-24-2012, 08:23 AM
Thanks for the feedback!

So do you mean, for example, that the distribute node would have 3 ramps and not one? One for Distribute X, one for Distribute Y, and one for Distribute Z?

Binning nodes is slightly tricky, are you deleting the nodes using the 'Bin' shelf button?

If you select the node in the node editor, and click 'bin' on the MASH shelf, the node should be deleted and the surrounding nodes re-connected so that everything still works. It's not fool proof, but it works most of the time.

Thanks again,
Ian

Edit: I've also started adding 'enable' checkboxes to the nodes.

I meant something like the default texture slot in many other maya attributes, where you can just plug a ramp/curve and mess away.

I didn't know about the bin-button as I dont use shelves :) I'll add it to my custom menu.

Anyhow, really looking forward to seeing this develop.

ianwaters
10-24-2012, 09:08 AM
edit....i guess instancer mode kind of does both of these requests probably within the limitations of maya

Yes it does, but you're right, Maya does impose some limitations here, and 'uninstancing' is a bit of a clunky solution.


it seems like more than one bounding object throws an error..

Well spotted! Thanks, that was actually just a bug in the Trig node, now fixed. You can have several bounding objects, just don't use the Trig node one until I push an update ;)


thanks very much for putting this much needed toolset together
You are more then welcome, updates are on the way!

ianwaters
10-24-2012, 09:37 AM
I meant something like the default texture slot in many other maya attributes, where you can just plug a ramp/curve and mess away.


Ahh! I follow you now, sorry, I'll look into it :)

RickToxik
11-12-2012, 10:07 AM
Thank you so much Ian, I have been searching for this since I launched maya for the first time!

RickToxik
11-12-2012, 02:02 PM
I am having so much fun with MASH

One feature that would be awesome to add would be to be able to "instance instanced" systems.. Kind of like Scott said before I guess, but maybe even further.

The idea behind this would be to be able to establish connections between MASH and Maya's dynamic system (forces & fields).

So this is what I'd like to be able to achieve, it's just an idea of course :)

- create some objects
- create a particle system
- instance the objects with the particles
- Apply fields on the system

then:
- (optionally group particles and instances)
- instance this in MASH so I can MASH the instanced dynamic system

So far, I've been able to do all of the above but not with instanced objects, only particles. It would be totally K*c* a*s to have that possibility in MASH. Like really really sick lol...

Ekenryd
11-19-2012, 01:53 PM
Hm, any chance you could explain what I need in the bin-shelf button to execute the bin function? When I tried copy that code into my custom menu as a button, the menu disappeared, and when I try loading your shelf I get the shelf but there are no buttons on it.

This is the code that I put under a "button" in my script, which I got from your bin shelf button.

-command "string $sel[];\nstring $nodeName;\n$sel = `ls -sl`;\n\nif (size($sel) > 0) {\n $nodeName = $sel[0];\n}\nelse {\n error \"You need to select a node in the Node Editor or Hypershade.\";\n}\n\nif ((`objectType -isType \"MASH_Distribute\" $nodeName`) || (`objectType -isType \"MASH_Curve\" $nodeName`)|| (`objectType -isType \"MASH_Delay\" $nodeName`)|| (`objectType -isType \"MASH_Inherit\" $nodeName`)|| (`objectType -isType \"MASH_Mute\" $nodeName`)|| (`objectType -isType \"MASH_Noise\" $nodeName`)|| (`objectType -isType \"MASH_Orient\" $nodeName`)|| (`objectType -isType \"MASH_Random\" $nodeName`)|| (`objectType -isType \"MASH_Spring\" $nodeName`)|| (`objectType -isType \"MASH_Trig\" $nodeName`)|| (`objectType -isType \"MASH_Visibility\" $nodeName`)) {\n binMASHnode $nodeName;\n}\nelse {\n error \"Please select a valid MASH node in the Node Editor or Hypershade.\";\n}\n\nglobal proc binMASHnode (string $nodeName) {\n \n string $in[] = `listConnections -d 0 -s 1 -c 1 -p 1 ($nodeName+\".inputArray\")`;\n string $out[];\n \n if (`objExists ($nodeName+\".outputArray\")`) {\n $out = `listConnections -d 1 -s 0 -c 1 -p 1 ($nodeName+\".outputArray\")`;\n }\n else {\n $out = `listConnections -d 1 -s 0 -c 1 -p 1 ($nodeName+\".outRotationPP\")`;\n clear($in);\n warning \"Orient node deleted, no reconnections have occured.\";\n }\n \n\n\nif ((size($in)) > 0) {\n\n connectAttr -force $in[1] $out[1];\n \n}\n\nevalDeferred -lp (\"delete \"+$nodeName);\nif( `objExists $nodeName` ) {\nevalDeferred -lp (\"delete \"+$nodeName);\n}\n}\n\n"

I thought it would work but I guess I'm missing something?

ianwaters
11-19-2012, 03:29 PM
What version/platform of Maya are you using?

Once the button is created, select a MASH node in the hypershade or node editor and click the button to delete it.

At least that's what is supposed to happen... :)
Ian

Ekenryd
11-20-2012, 11:51 AM
What version/platform of Maya are you using?

Once the button is created, select a MASH node in the hypershade or node editor and click the button to delete it.

At least that's what is supposed to happen... :)
Ian

linux centOS, maya 2012 sap sp1 x64

Yes, the problem is my shelf is empty :| and as I use a custom written window for all my scripts/plugins (to get away from the limited space/customization of the regular shelves) I was hoping to be able to create a custom button for mash binning, but when I copy the bin command from the mash shelf mel file to a button in my custom window script it doesn't work and I was wondering if its the correct way to do it. Or if maybe there is a short procedure one can call for the bin operation, like "mashBin;" or something.

ximage
11-20-2012, 04:27 PM
looks pretty cool.

seems mograph is being replicated in alot of packages, reminds me of this set of tool released for softimage ice.

http://www.gustavoeb.com.br/mtools/

. never really got in to maya but ICE inside softimage pretty impressive.

good work though.

ianwaters
11-20-2012, 04:33 PM
linux centOS, maya 2012 sap sp1 x64

Yes, the problem is my shelf is empty :| and as I use a custom written window for all my scripts/plugins (to get away from the limited space/customization of the regular shelves) I was hoping to be able to create a custom button for mash binning, but when I copy the bin command from the mash shelf mel file to a button in my custom window script it doesn't work.

Hmmm, I don't know what's wrong here, and I don't have access to a Linux machine. I'll add such a procedure in the next release though so you can just type mashBin or something like that.

In the meantime, to bin a node, delete its connections, then delete the node.
Best,
Ian

Ekenryd
11-21-2012, 08:03 AM
Okay, thanks for the support :)

CGTalk Moderation
11-21-2012, 08:03 AM
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.