Houdini Engine for Maya
 All Files Pages

The plug-in supports both inputting and outputting particle.


Maya particles are inputted into Houdini assets as points. Both Maya particle and nParticle nodes can be used for inputting. When inputting Maya particles, all of the custom Maya per-particle attributes are input as well. Since Maya only supports double and vector per-particle attributes, the input point attributes can only be float and float3 point attributes.


Points from a Houdini asset are output as an nParticle node. When points are output, the plug-in will output all Houdini point attributes as Maya per-particle attributes. Since Maya only supports float and vector per-particle attributes, float and float3 point attributes are output into Maya particles. Since Maya particles does not support integer per-particle attributes, int point attributes would be converted and outputted as float attributes. Any other attributes, such as string attributes, are ignored.

Mapped Attributes

Some standard per-particle attributes in Maya have different names in Houdini. These attributes are automatically mapped to the equivalent point attributes in Houdini.

Maya Houdini
position (vector) P (float3)
velocity (vector) v (float3)
acceleration (vector) force (float3)
rgbPP (vector) Cd (float3)
opacityPP (double) Alpha (float)
radiusPP (double) pscale (float)
finalLifespanPP (double) life (float)
particleId (double) id (float)

Nucleus Solver

When the asset creates an nParticle node for outputting points/particles, the nParticle node is assigned to the active Nucleus solver. This means that the output particles would then participate in any simulations that are assigned to the same Nucleus solver. This may or may not be the desired result.

One example is a Houdini asset that takes some input points, removes some points, and outputs the resulting points. If a simulated nParticle is used as the input, the output nParticle will be assigned to the same Nucleus Solver as the input nParticle. Since the output particles have the exact same positions as the input particles, this input particles would collide with the output particles, which affects the motion of the input particles. In this case, to prevent the collisions, one of the nParticle nodes should be assigned to a different Nucleus solver.