nParticle rotationPP to MASH


#1

How can I utilize Per Particle attribute animation with MASH.
So far I can only drive the position of MASH Repro with nParticle Positions.
What about Rotations? And Scale? And any compatible generic or custom nParticle Attributes for that matter?
I have created some rotationPP on the nParticle side.
How can I have it drive MASH?

MASH seems like it could be useful for some quick and easy setups.
nParticles and expressions give you much more precision but are tedious to set up every time.

How can I leverage the strengths of nParticles and not have to re-invent everything with MASH? Especially things which MASH is not necessarily better at.


#2

here is a way.
you just need the mash waiter no need to have the distribute mash node. ( i added the random node just for demonstration)

The tricky part to take care of is the instancer shape connected to the nParticle. You need to do this to kind of initiate the output of the instancer point data.
If you don’t do that the option to control the data in the nparticle shape will be grayed out.
So basically you create an empty instancer and in the nparticle you change the rotation option -> roatation : rotationPP , once you are done you hookup the instance point data to the input points of mash.



#3

I am going to start coming to you for all my MAYA existential anxieties. Thank you (again) Onouris.

I had posted the same question here.
https://forums.autodesk.com/t5/maya-dynamics/mash-inherit-aim-or-rotation-from-particles/m-p/8209709#M7736

Your answer came first. I tried it and it worked. I couldn’t understand why though. Because i had tried it already the day before. If you read my reply on the Autodesk Forum you will see why it wasn’t working.
Anyway this workflow is more of the same junk that Maya keeps feeding us.

So particle position and rotation work, one way or another. What about radiusPP driving MASH scale? Or other custom PP attributes? How do you get those across to MASH?


#4

yeah it’s not ideal, the hook with the nParticles is kind of a “bonus”.
Regarding the other types of data i haven’t tried yet but i’m pretty sure you can do it.
In the mash waiter we can see the per particle outputs like position, scale, rotation, id and visibility.(and in the worst case you have the pythonMash node if you want to do funky stuff, like really gathering custom data).

The thing is usually when i hook up the nparticle with mash, it’s specifically to not have to deal with all the hassle of setting up random ids, scale etc.
All these parts i leave them to mash much easier and faster, and especially now that we have a dynamic bullet node for mash for collisions and constraints etc.


#5

I see some attributes in MASH that look like they are suitable to make connections but when I try to connect to them it either complains that they are not compatible attributes or it just doesn’t do anything. So I have a hunch there might be attributes in the nodes that are left over from previous versions and actually don’t do anything and the developer just didn’t bother to hide them from the user. But are not being used in the compute part of the plugin. Anyway… I really don’t think that we should by just guessing and hunting around for something that should be obvious and fully documented.

I agree with you that doing stuff again and again with particals and expressions has become tedious repetitive work. I have been doing this kind of stuff for too long and was hoping to make life easier and calmer with MASH. But unfortunately when a production or an art director asks for something very very specific, particles and expressions might still be the only way to do it with precision. MASH seems good at doing very quick stuff. But it lacks the precision from what I see. For example I don’t see much control to affect the speed of the animation, frequency of noise, and amplitude on a per particle basis in MASH. Perhaps the Python Node solves all these omissions. I have not gotten to that yet. But judging from the rest of the MASH toolkit I am starting to feel that on the long run I am wasting my time and that in the end I will just conclude that it has too many holes/omissions even though it does offer a whole bunch of basic things that Maya has been lacking for… 20 years.

The documentation is just killing me. It is a complete joke by any standards. The whole company and team behind Maya is a joke. If there even is a team. It feels like every developer there is a freelancer. They are there on Monday and Tuesday and then they are gone. Then comes the next developer to take over where the previous one left off. Good luck getting a stable and functional software product that way.


#6

the documentation is basic yes, but you can hardly fill all cases when you want to go a little off-road.
Keep in mind that Ian the guy behind mash started this tool in python with the help of soup nodes ( you can even see a Soup button in the waiter) , and that’s probably why we have some others output that mash doesn’t use directly like the out array etc that plays well with soup.
Also on every mash you have a strengthPP input normaly used by the falloff node but could be used with other things. (and of course with the python node you have access to per particles attribute)

For instance in the random node if you hookup the output array to something you will get this menu instead of the original (on the left the output array and on the right the regular)


#7

I can’t believe what you are showing with that picture on the left.
I was asking exactly about that the other day!
“Where is the min and max for the Random Node? How can this thing not have a min and max???”
None of the Autodesk “Technical Specialists” even know that it’s there or that it appears when you make the connections you mentioned.

I understand that the documentation cannot cover absolutely everything. But this MASH documentation is as good as “no documentation” at all. It is incomplete and it actually has mistakes. It mentions things that no longer even exist in the latest versions.

I have tried connecting particle PP stuff to the strengthPP which is showing up all over the place (and sort of make sense that you might expect it to work) but it didn’t produce anything because it’s probably not exactly the right type of attribute. I know I can start doing detective work and query the attribute types to see if they are even compatible, but I would just rather have some basic documentation to start with. And I really don’t feel like randomly connecting things just to see what might happen any more. I did this kind of stuff when I was new to Maya many many years ago. Now I just want to get things done. And I don’t want to have to write any more scripts than necessary. Clients and employers are not really impressed by you sitting and writing scripts anymore. They think you are wasting their money.

This industry has become like a drive through fast food. Software and people are disposable. And Maya is not helping. It is actually going in the completely opposite direction. By providing
● inadequate
● incomplete
● poorly thought out
● unfinished
software.

Why am I writing all this? For anyone to read and see how much Autodesk Maya sucks. If you are new to 3D and learning this “industry standard software” you are wasting your valuable time.

Thanks Onouris. You are much more patient than I am anymore and it shows.

P.S. “arrayToDynArrays”… hmmm. Interesting. A picture really is a 1000 words. If we can’t have proper documentation, then a few screengrabs like this might help.


#8

i can understand you in way , as i said last time if you are playing 95% of your time with particles and stuff like that, you should really give a try to Houdini. I’m not saying that for mocking or something i really mean it.
If you know maya very well i mean deeply and especially with soup you will find houdini even easier to learn. The data flow in maya/soup and houdin are very similar, maya under the hood is not that different.

But houdini is much more cleaner about how he is dealing with the data, maya is “rough” and “dirty” when you dig.
In Houdini things are logic and come pretty naturally. Also the documentation is good i can even tell that sometimes i use the houdini documentation for maya/soup stuff.

Of course Houdini has it quirkiness and slowness and some people might hate it because of that, things that you could do in maya much more quicker.

So on a positive note, maya at the moment is at the crossroad of a new paradigm with bifrost and going toward something really great.
Having best of both world, an easy Ui with drag and drop system this is what they did with mash and xgen and it’s really great and at the same time you can go in the node graph for more complex stuff and going offroad.
For the moment bifrost is not open and still a looooooot to do according to the vision they have, but overall the last few years maya is heading in the right direction.

So in the mean while breathing some fresh air with houdini is something good for your health i think hahhaha

**edit: the “arrayToDynArrays” is a soup node.