Posted by Duncan Brinsmead, 21 June 2010 8:00 pm
Here is an example scene file showing how one can use particle emission into a fluid for a natural looking waterfall effect.
In this case the particles simply fall under gravity and collide and bounce with objects. They emit into a fluid which has high density dissipation. The self shadowing of the fluid is important for the look of the render, and this scene also uses ambient diffusion to help provide detail in the shadowed regions. For efficiency auto resize was also enabled for the fluid. The particle system rendering was disabled by turn on "intermediate object" on the particle shape. This way the fluid handles all the water shading, and as a result it also needs to be fairly high resolution to get good detail in the flow.
Here are some general rough steps to set this up:
1. Create an nParticle emitter. Use the "balls" preset and make the emitter a volume cube shape. Scale the emitter to fit the top of the water fall and edit the emitter speed to push the particles over the edge.
2. Select any geometry you wish to collide with the particles and do "nMesh: create passive collider".
3. Create a 3d fluid container. Turn on auto resize on the fluid, as well as self shadowing. Because this is an auto resize fluid the resolution is a result of the scale of the fluid relative to the particle system, so one can get higher resolution by simply scaling down the fluid.
4. Select the fluid and the particle system and do fluid:emitFromObject. Make the fluid emitter type "omni" (this does not affect emission with particle emitters, but it ungreys the maxDistance attribute) then set the maxDistance attribute to your desired particle size. (this will be better if it is larger than the size of a voxel in your fluid)
5. On the emitter enable motion streak and make the speed method "replace" . Make "inherit velocity" around 1 or 2. This causes the particles to also push on the fluid as they fall through it.
6. On the fluid make density dissipation around 1.0. The dissipation is pretty critical to the overall effect. You may also wish to have the density buoyancy negative. Turning on high detail solve will help to preserve detail in the flow.
7. Make the fluid auto resize threshold 0.0. You can later experiment with raising it slightly to keep the fluid bounds tighter, but be careful because if it is higher than the particle density emission per step it can cause artifacts in the flow.
8. For good shading make the transparency of the fluid very low and adjust ambient brightness to taste (note that ambient diffusion requires mental ray, it is not supported in the maya software renderer) Also ambient diffusion did not render properly with auto resize in the 2011 gold release( check for future hot fixes that may fix this issue ).
Note that care should be taken to limit the range of the particles to avoid making the fluid grow too large. One can either kill stray particles, limit their lifespan or bound them with collisions.
Please only report comments that are spam or abusive.