Scene Files for "fun Stuff in Maya2011"

Posted by Duncan Brinsmead, 10 June 2010 8:00 pm

Here are the scene files I used for the animations in my previous post:

Some of the files were created during product development and I needed to modify them a bit to work in the final release version, thus they may not match the animations exactly in all cases. They are provided as is with no tutorials on the techniques used, but feel free to post questions here. In some cases I only took the scenes as far as doing a playblast, so some of the fluids may need more work for good batch rendering and shading. One can refer to some_fun_stuff_in_maya2011 for slightly more detailed descriptions of these scenes. The names of the movies generally matches the names of the .ma files.     This scene shows an auto resize fluid with flames and smoke emitting from a particle mesh that derives uv info from the particles.    A simple torch demoing the use of auto resize. Move the torch around during interactive playback to see the effect.   A particle system being pushed by an auto resize fluid. The fluid is also pushed by a torus using speed fluid emission.   This shows how the particle rotation can drive the rotation of the fluid shader's texture. The particle rotationPP is connected to a new vector attribute "userVector1PP". This attribute on the particleSamplerInfo is connected to the texture rotation attribute on the fluid node. The particles get their initial rotation from collisions with the walls of the smokestack, although for smoke one could also potentially use self collision with a very low collide strength to derive particle rotations from collisions with neighbors.    This scene shows emitting from particles into an auto resize fluid.   Fluid is both driving particle motion and at the same time the particles are emitting into the fluid. The fluid has dissipation set just high enough that the motion looks fluid yet does not diffuse over time the way a normal fluid would.     This shows the use of particle goals to act as goals for a fluid simulation. The particles emit into the fluid with just enough dissipation that the motion looks more fluid than particle like.  The motion of the particles are affected by a volume axis field with turbulence(hidden) in addition to the goals.    This combines many techniques to create a bomber that emits bomb particles that automatically emit into auto resize fluids for explosion, ejecta and a 2d displacement crater. The crater effect is done using a 2d fluid for displacement and displacement to poly with history is used to allow this to collide with the particle simulations. To match the look of the render raise the subdivisions on polyPlane1 to 200,200. (this will also make playback slower due to the displacement to poly)    This shows a 2D fluid flame that uses auto resize and motion streaked emission.  Move, resize and rotate the fluid emitter in interactive playback to see how it works.  There is also inherit velocity so transforming the emitter pushes the fluid.  The streaks will normally be weak for a fast motion because emission is distributed across the streak. However this use the replace method for density, and if one makes the emission rate high emission can be remain constant over long motion streaks. This scene also uses forward advection combined with high swirl and a lower solver quality for a streaky look.   This shows particle rotations based on collisions. The instancer rotation is driven by rotatePP and the scale by the particle radius, which is randomized.  This has liquid simulation particles instanced with per particle rotations to create a wave of toilet paper rolls. Cache the particles before rendering, as the scene uses motion blur.  The new surface tension on particles is used to simulate a water droplet in zero gravity. A second gas particle system blows a bubble into the liquid one. Note that large restDensity was required to allow the fluid to flow smoothly despite the tension caused by the surface tension( lower restDensity is more like self collision of hard particles and can lock under surface tension when there are no strong forces like gravity or collisions)  This creates glop with a visco-elastic tension by using a max distance contraint on emitted particles. Making the glue strength lower than one allows the connections to break, such that the substance can be sliced.   NCloth rigidity now works with a deforming input mesh. An animating paint effects to poly mesh is made into nCloth with rigidity. The mesh also is used as a fluid emitter.  This fluid uses a strong gradient force combined with forward advection and high solver quality(incompressibility) to create a detailed, fractal fluid motion.   An image of yours truely being turned into a strange fluid. You must download the cache file fluidHead_ma_fluidShape1 into your data directory. You could instead initialize the density to any desired image using import on the paint fluids tool. This uses both gradient attract and self attract combined with forward advection and low solver quality to pull the fluid into line shapes. Some things were changed since making this so the animation doesn't quite match the original movie.

There are also a couple of bonus scenes not in my last post:  A simple 2d fluid with a stringy effect created by low solver quality and forward advection. The substeps is also set to 2 due to the fast motion of the fluid.  A scene with a hot slag pour simulated with particle meshes emitting into an auto resize fluid, along with spark particles.

 NOTE: A detailed tutorial of this scene is now available here (it is the nParticles tutorial).




Posted 12 June 2010 5:28 am

very nice and useful.. thank you very much..


Posted 12 June 2010 1:09 pm



Posted 13 June 2010 2:04 am

Thank You Duncan for the .mb files. It will help a lot.


Posted 14 June 2010 7:55 am

thanks... fantastic stuff...
waiting for SP1...

Duncan Brinsmead

Posted 14 June 2010 8:54 pm

The particle emission on collision in the slag pour scene is a bit complex:
The pouring liquid is a particle system converted to poly. I created a collision event so that this particle system would emit into a second particle system. The second particle system is not visible, but rather used as a particle emitter (particle:emit from object with the particle system selected) into a 3rd sparks particle system. I wanted the sprays of sparks to happen from fixed points, rather than randomly spewing particles from all collision locations. To suppress particles from all collision points the emission overlap pruning was set to a large value on the second particle system. In this fashion we only get new emitter particles when the collision event is far enough from the preceding particle or that particle has died. Also on the emitter node for the spark particles cycle is set to FRAME, which helps emit particles in streams.

The smoke fluid from the slag is simply emitted into by using the particle to poly mesh as a fluid emitter.

If one wanted to do particle emission from collision with a fluid node it is not directly possible.(no fluid collision events) However one can use a fluid a field on a particle system (make conserve zero to have particles exactly follow the flow) then use particle collision events to emit particles on collision. The colliding particle system could then be made intermediate object to hide it.



Posted 15 June 2010 10:49 am

Hi ,Duncan Thanks alot for the scene files.

I m trying the lava flow with n particles.In my scene the mesh which i got by converting nParticles to polygon mesh
is not preserving the uv in the same place means only on 1st frame its taking the texture properly after tht uvs of the mesh are gettind messed up(when i play the timeslider). In lavaflame scene file uvs r proper on every frame and its taking the texture properly.Can u help me wht im missing in tht or hw to keep the uvs proper of the flowing mesh.



Posted 15 June 2010 12:45 pm

Hey Duncan,
It got solved.I was doing some mistake.


Duncan Brinsmead

Posted 16 June 2010 6:07 pm

The slag pour scene has a tutorial that is available:

(this was also posted in the comments to the last entry, but most probably didn't notice... including me!)


dyei nightmare

Posted 12 August 2010 7:22 am

hi duncan this is great stuff, and could be great if you explain, or you give some hints on how to do this kind of
stuff maya 2011 special features:

it looks really amazing... mainly those cubic structures with random patterns.... fractals and such... i didnt know that maya was able to do things like that... how did you that???

Duncan Brinsmead

Posted 12 August 2010 7:25 pm

I intend to create a blog post on the 2D stuff I showed, which used a mel expression to create a mandelbrot texture. The 3d stuff was done by coding a custom texture for a Maya fluid node, which is not possible for users. However there is an excellent program for exploring the 3D mandelbox interactively here(source included):

Also has lots of info on generating these structures.

Duncan Brinsmead

Posted 11 February 2011 7:23 pm



Posted 18 February 2011 5:33 pm

Here's a little "bug" or omission I noticed with fluids lately. When using your "collision emitter" technique (emitting speed only from an object), transforming the fluid itself, in any way, completely breaks things.
One might say, with the automatic resize option, one shouldn't need to transform the fluid itself.
I partly agree. In a scenario like mine, where I set up a generic blood rig that I then apply to various shots, there are (quite a few) cases where the fluid flow clearly follows one axis more than the others, In this case one would greatly benefit from the possibility to align the fluid to the action, in order to optimize voxels. That's what I was aiming for, until I realized after a couple of days later the reason my shot simulations had nothing to do with my rig was because I had rotations on the fluid. Those transforms on the fluid literally make it explode when emitting speed.
Maybe this is a known fact, just thought I'd point it out anyway...


Duncan Brinsmead

Posted 18 February 2011 6:46 pm

Yes that is a known bug that will be fixed in future versions of Maya. Basically the velocity used for motion streak and inherit motion is affected by the fluid transform, so any transform on the fluid essentially breaks these features. A workaround can be to keep the fluid non-transformed and use auto resize.



Posted 5 hours ago

Hi Duncan,
The download links are broken. I know these are pretty old but I think the scenes would still be useful to many of us.

Thanks for putting all this out in the first place.

Add Your Comment

You must be logged in to post a comment.

Please only report comments that are spam or abusive.