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.
flamingLava2.ma This scene shows an auto resize fluid with flames and smoke emitting from a particle mesh that derives uv info from the particles.
autoResizeTorch.ma A simple torch demoing the use of auto resize. Move the torch around during interactive playback to see the effect.
wispyCigaretteSmokePush.ma A particle system being pushed by an auto resize fluid. The fluid is also pushed by a torus using speed fluid emission.
smokeStackMR2.ma 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.
fireballs5.ma This scene shows emitting from particles into an auto resize fluid.
particleVortexFanHR5.ma 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.
goalSmokeLong4.ma 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.
particleBomberNew5.ma 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)
lickingFlame2.ma 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.
particleRotateTest3.ma This shows particle rotations based on collisions. The instancer rotation is driven by rotatePP and the scale by the particle radius, which is randomized.
paperRollWave.ma 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.
zeroGravWater6.ma 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)
butterExtruderSlice2.ma 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.
strangeCreatureSmoke2.ma 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.
gradientAttractionInjection.ma This fluid uses a strong gradient force combined with forward advection and high solver quality(incompressibility) to create a detailed, fractal fluid motion.
fluidHead.ma 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:
stringyFluid.ma 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.
slagPourFoundry.ma 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).
Please only report comments that are spam or abusive.