Particle Effects 1

Particles Discussion Forum

Student Snapgrades Grading Website Login

 

Lecture Notes

Page For Lecture Notes

1. Grades & Books

Grading:

  • 5% Attendance (20 points off for absence, 10 points off for late)
  • 5% Participation
  • 25% Homework
  • 65% Projects

Sign up at snapgrades.net now.

Software Used: Maya 8.5, Mental Ray, Photoshop, After Effects

Maya Help: Search for “Limitations”

To note current maya bugs/issues and sometimes how to work around them.

Bibliography:

  • The Special Effects Handbook (for Maya 7 and 8): Alias
  • Learning Maya 7 Foundation: Alias
  • Maya Professional Tips and Techniques: Lee Lanier
  • Maya Visual Effects: The Innvoators Guide: Eric Keller
  • Maya Secrets of the Pros: John Kundert-Gibbs

BATCH RENDERING

Tail Program

 

See the above link description for a discussion about render logs and the tail program.

 

To render in batch on the command line you first need a command line. To get a command line in windows goto the start menu then goto "Run..." and type "cmd" and hit enter. Welcome to the world of dos (a very poor substitute for linux). Now you need to navigate to your project directory where your maya scene file sits. If you don't know how to navigate in dos then read "DOS for dummies" or google "DOS commands" to see what to do. For example, you type the name of the drive like so "G:". Then type "cd development". That will get you to the "G:\Development" directory

 

Then to start a render you need to specify the proj and maya file. You might also want to specify the start frame with the -s option and the -log option to specify a special log file to write to.

render -s 702 -proj "G:\DEVELOPMENT\Fluids" -log logs/702_6_20_07.log "G:\Development\Fluids\scenes\FountainRender.20.mb"

 

If you're doing a hardware render you will have to put in the '-r hw' flag as well.

 

render -r hw -proj "G:\DEVELOPMENT\Fluids" -log logs/TestLogfile.log "G:\Development\Fluids\scenes\FountainRender.20.mb"

 

 

702 is the starting frame number.

 

To get nice output in your log file that contains time statistics for hardware renders then you can put this in your render settings "Pre render frame MEL" and "Post render frame MEL".

 

Pre render frame MEL: $startTime = `timerX`; print "Start Render Time::::::"; print(`date -format "hh:mm:ss MM/DD/YYYY"` + " ");

 

Post render frame MEL: $totalTime = `timerX -startTime $startTime`; print("Total Render Time: "+$totalTime+"\n");

 

Without these statements then your hardware render log will look like this:

 

Rendering frame 1 : E:/Shumaker/renders/Galaxy/TestGalaxy.1.1.iff
Rendering frame 2 : E:/Shumaker/renders/Galaxy/TestGalaxy.1.2.iff
Rendering frame 3 : E:/Shumaker/renders/Galaxy/TestGalaxy.1.3.iff
Rendering frame 4 : E:/Shumaker/renders/Galaxy/TestGalaxy.1.4.iff
Rendering frame 5 : E:/Shumaker/renders/Galaxy/TestGalaxy.1.5.iff

 

With the the pre and post mel statements your render logs will look something like this:

 

Start Render Time::::::17:54:53 06/28/2007 Rendering frame 1 : e:/shumaker/renders/Galaxy/TestGalaxy.1.1.iff
Total Render Time: 1.68
Start Render Time::::::17:54:54 06/28/2007 Rendering frame 2 : e:/shumaker/renders/Galaxy/TestGalaxy.1.2.iff
Total Render Time: 1.61
Start Render Time::::::17:54:56 06/28/2007 Rendering frame 3 : e:/shumaker/renders/Galaxy/TestGalaxy.1.3.iff
Total Render Time: 1.56
Start Render Time::::::17:54:58 06/28/2007 Rendering frame 4 : e:/shumaker/renders/Galaxy/TestGalaxy.1.4.iff
Total Render Time: 1.56
Start Render Time::::::17:54:59 06/28/2007 Rendering frame 5 : e:/shumaker/renders/Galaxy/TestGalaxy.1.5.iff
Total Render Time: 1.55

 

 

Calculating Total Particles.

To calculate the maximum number of particles that your scene had, like we did in class here is what you do.

 

In the expression editor, set the Select Filter to "by Script Node name" and type in "particleCountNode" in the Script Node name entry box. Then enter this code in the Script section:

 

global float $particleMax;

float $ptMax;
if ( `currentTime -query` == 1 ) {
$particleMax = 0;
}

for ($particle in (`ls -typ particle`))
{
//print ($particle + "\n");
$ptMax = `particle -q -ct $particle`;
//print ($ptMax + "\n");

if ( $ptMax > $particleMax ) {
$particleMax = $ptMax;
}

};
print ("MAXIMUM NUMBER OF PARTICLES IN SCENE: = " + $particleMax + "\n");

If you play your scene from the beginning all the way through the end then you will see the max number of particles printed in the script editor at the end.

 

This could be done a bunch of different ways but this is a quick and simple method to get you started. 

Final Notes

Final Project Issues:

  • Extreme render times: Fluids 1:20 (hours) per frame.
  • Memory leak: 17 frame max. then restart.
  • Raytracing object shadows (adding dirt,not enough samples).
  • Can't get good color in particles (mostly white).
  • Shading fluid falloff--black dots with circles.
  • Designing/Planning Hold out mattes Compositing:
  • Matchmove mismatch.
  • Rigid Body: Emission on Collision: couldn't bake rigid bodies.
  • Dynamics: Maya File corruption. Maya Bugs:
  • Memory leak Gui not refreshing (version 8.5)

Particle Holdouts

Major problem in compositing with particles is that they can't take a holdout material assignment.

 

Ie. Software particles can not be held out from hardware renders and vice verse.

Nor, software from software or hardware from hardware.

 

Must test this. best you can do is assign black material and use a luminance matte in the comp. Or. assign instanced geometry to particles that same shape as particles ... bobbies with Matte Opacity -> Solid Matte = 0

Soft Bodies

Soft Bodies:

Creating a soft body

Select object (can be nurbs or polys)
Dynamics Mode->Soft/Rigid Bodies -> Create Soft Body

Drip
Creating a drip: From Dyn 6 book.
Particle Shape Node -> Soft Body Attributes -> Enforce Count from History

Make a sphere into soft body.
Does soft body get updated if you change the construction history of the object.

increase emission rate. body filled faster.
set max count to be = to number of cvs of sphere.

Make goal a sphere on bottom.
Make goal of drip hanging from faucet.

Can make soft body drip go from one to the other by key framing the goal strength or using a expression using linestep.

Springs

Springs are contrains between soft body objects.
Examples Three speheres:
1. Soft body without.
2. Wrap deformer
3. Lattice made into soft body, then springs from cvs of

For first and second there are no springs to resist collapse.

pick mask particles.
Select top and bottom row of particles.
Add to springs -> all
creates springs to top and bottom of sphere.

Creating springs:
select soft body.
wireframe
wire walk length = 2
or min max: distance range.

Can delete individual springs by selecting and delete key.

Stiffness
Damping

When there is a huge difference between these then you get instability.

High stiffness > 500 causes exploding.

Could increase the oversampleing of the solver.
Solvers->edit oversampling. However will slow down evaluation. usually only adjust by increments of one.

Per Spring Attribute

AE->spring Attributes
component mode. -> only springs
component editor to change individual rest length and dampinging.
rest length.
end weight = how much contribute each side of spring will take.

Manage particle depth = if you kill a particle it will kill the spring too.

Soft Body and Wrap Deformer

Example: Basket ball net.
Use poly geom to modify curves as wrap deformer. Then wrap deformer into soft body.

Select net curves.
Ctrl Select wrap object.
Deform -> Create Wrap

Make wrap into soft body:

Options:
Duplicate and make original soft.
Duplicate upstream graph

select ball
make active rigid body.
mass = 40
apply forces at applyforces at CVs

pick particles and rigid body: Make collide.
geoconnector bounciness = .2
add gravity. mag = 980

select particles
Soft Bodies->create springs
no duplicates
wireframe
stiffness = 20
dampeing = .05

Painting Goal Weights:

Select wrap object:
right mouse -> paint -> goalPP
modify -> attribute paint tool
value = .95

goal painted value gets multiplied against main goal parameter.

Assignments

Each project will be graded on degree of difficulty, complexity, realism, artistry, and requirement completenessREQUIREMENTS:

Suggestions & Tips:

Homework

All of the following assignments are cumulatively worth 25% of your grade.

1. 12 DVD Evaluations - One Due each class session

Evaluate twelve of the following Gnomon DVDs. Write a 200 word review of the following Training DVDs. Render out two frames illustrating what you learned by using the technique that the disk went over. You can evaluate these in any order. No credit for images that are not your own. The library has all of these for you to check out and watch.


  1. Dynamics 1-Particle Tool and Emitters: Alex Alvarez: Maya
  2. Dynamics 2-Vertex, Point and Curve Emission: Alex Alvarez: Maya
  3. Dynamics 3-Surface Emission: Alex Alvarez: Maya
  4. Dynamics 4-Rigid Bodies : Alex Alvarez: Maya
  5. Dynamics 5-Fields : Alex Alvarez: Maya
  6. Dynamics 6-Goals : Alex Alvarez: Maya
  7. Dynamics 7-Instancer: Alex Alvarez: Maya
  8. Dynamics 8-Intro to Softbodies : Alex Alvarez: Maya
  9. Dynamics 9-Softbody Effects: Alex Alvarez: Maya
  10. Dynamics 10-Softbody lattices and curves : Alex Alvarez: Maya
  11. Dynamics 11-Spring Effects: Alex Alvarez: Maya
  12. Dynamics 12-Hardware rendering: Alex Alvarez: Maya
  13. Dynamics 13-Sprite Rendering : Alex Alvarez: Maya
  14. Dynamics 14-Advanced Sprites: Alex Alvarez: Maya
  15. Maya dynamics underwater environments: John Clark: Maya
  16. Maya dynamics outer space environments: John Clark: Maya
  17. Maya fluid effects particle integration: David SCHONEVELD: Maya
  18. Mel 101 fundamentals
  19. Maya Expressions 1-Intro to Particle Expressions: Andrew Orloff
  20. Maya Expressions 2-Particle Epxressions In-Depth: Andrew Orloff


Submit one evaluation each week.
Each evaluation needs to be printed out and should have your written words on the top and the two rendered images on the bottom of the page. Your evaluation must only be one page long. Single spaced 10 point font.

Answer some of these questions if you are not sure what to write about:

  • What version of maya was used?
  • What year was this made?
  • Did the instructor go too fast?
  • How many times did you rewind to understand something?
  • Were the examples good?
  • What interested you most about the techniques on the DVD?
  • How can you use these techniques on your current assignments?
  • Have you seen a better DVD on this same subject?
  • Would you recommed this to your friends/classmates?

2. Galaxy - Due 6/25

 

Using a turntable camera as explained in class render out a galaxy with a newton field at the center of one particle bucket and a vortex at the center of another particle bucket.

 

Use the batch rendering techniques described in class to record your render times.

 

Fill in the appropriate details in the described slate file in class. Render as high quality as possible.

3. Vanishing Object - Due 6/28

Vanishing Object:
Make an object disappear with an animated texture mapped to the transparency channel and an animated texture rate and color like the gnomon tutorial in our class pickup directory:

 

W:\CA3D_480_1_Shumaker\The Gnomon Workshop – Gravity vs. Uniform.pdf

4. Smokin' Donut - Due 7/2

Animate a car doing a donut. Emit cloud particles from tires with surface emitters. Use cloud particles and raytrace the shadows so you get self shadows on the smoke. Software render the particles. Use the SmokinDonut.1.ma file provided for you in the student pickup directory.  You must have the following layers using Maya's Render Layer Editor:

  1. Car
  2. Road
  3. swSmokeParticles

Use as many fields as you can to get the dynamics of the smoke to look real. You must at least use the following:

  • Turbulence
  • Drag

Render 400 frames of each layer and composite them together. Composite the layers together using After Effects or Shake.

Projects

Cumulatively these assignments are worth 65% of your grade.

Choose any THREE of the assignments listed below.

The due dates for the assignments are as follows:

  • July 12th

  • July 23rd

  • August 11th

You choose which assignment is due on which due date.

DAILIES REQUIREMENT:

In order to get credit for your assignment You must turn in your project twice before it is due. That means that you have to hand in your best version (take) of the assignment EVERY class meeting. If you do not turn in something each day you will not get credit for the full assignment. Your assignment will not be graded until the due date but you will get 10 points each time you hand in an assignment for dallies. Your assignment can be far from being finished when you hand it in before the due date. Just be sure to turn in something each week or it will severely hurt your grade.

EXTRA CREDIT:

You can get up to 5% extra credit points for doing composite breakdowns (like you would for a demo reel) for each one of your projects. These breakdowns should be pretty fast and should just show the layers that you have rendered for your assignment.

Avalanche - Rigid Bodies + Instancing

Do an avalanche.

 

You can record mountain footage yourself or  capture it from some National Geographic documentary of some sort.  (See the BBC series entitled "Planet Earth").

 

Or you can model a small mountain range with the 3D sculpt tool.

 

Extra-credit for using Terra-Gen program. 

 

The snow must move some textured trees as rigid bodies.  The avalanche must also move some instanced Rocks and debris.

 

Use the emit command to do particle emission into multiple buckets (multi-streak and spheres and instancing).  Have large snow balls (ice chunks) collapse (die) when they hit the mountain side and then emit into a bucket of smaller snowballs. 

 

Minmum Length 500 frames. 

Cars - Weather Season

Cars Project:

 

Render out a car of your choosing that just runs perpendicular to the camera for the duration of the assignment. Using the software renderer or mental ray render out the car on it’s own layer.

Make the car go through one season on an imaginary infinite straight road. The car can interact with particles in the following manner:

Winter: The car needs to drive through a snow storm (perhaps with hail if you wish (add sphere particles)). Make the snow sprites that are white snow flakes or white clouds. You will want to use Mel to randomize the size of the sprites. You also need to use goals to make some of the falling snow stick to the car and accumulate (like the faucet assignment). You should also use flow to make some snow follow the contour of the car as it drives through the storm.

Spring: The car needs to drive through the rain. Use streak particles like in he rain assignment to do this. Also employ the collision event technique utilized in the rain assignment for rain hitting the car. Furthermore you are to use flow to make one of the rain layers flow over the car as it speeds through the storm. I will leave the lighting and texturing up to you. Bonus points for using the emit command to emit water (blobbies) when the car runs over small pot holes or rocks.

Summer: The fun starts here when you set the car on fire using the fire clip effect. After several frames of the car being on fire (bonus points for smoke sprites or clouds behind the car) you can put the fire out by making the wind blow it out and stop the emission with an animated texture that drives the emission.

Fall: Instance leaves to particles and have them flow over and around the car. It would be fun to have the car plough through a big pile of leaves as well.

 

Be sure to add plenty of turbulence and some drag to the particles to make it look like real weather effects. Hint: use a strong localized (bounded) turbulence behind the car.

Flubber - Goals + Blobbies + constrained bubbles + VF_400frames

Using goals and blobbies and some animated creature - render out a flubber like vfx shot.

 

You can use springs, pins and nails to render out bubbles that are inside the flubber creature. You can use other techniques as well.  

 

You must use real video footage for this shot. It can be captured yourself with a video camera or captured from some movie that you like.

 

You can use mental ray if you wish.

 

Have the flubber creature do something (dance, sing, roll, walk, anything).

 

Minimum Length: 400 frames

Perfect Storm - turbulence crest mist + splash emitters

Do shot from perfect storm.

 

http://www.howstuffworks.com/perfect-storm.htm

 

Do simple rain but also do an ocean and boat with splash curve emitters.

 

Page 69 in Maya : Professional Tips and Techniques.

 

Page 223 in Maya: Secrets of the Pros

 

I have both of these books that you can use and copy.

 

Do as many layers as you can. Everything must be rendered.

 

You must have:

  • Lightning Flashes
  • Rain
  • Boat wake splashes
  • Fog
  • Lights on the Boat
  • Ocean fluid effect
  • Mist on the water (use flow or techniques described in the books above).

Minimum Length of 500 frames.

Pod Race - Sprites + Rigid Bodies 500 frames

Using the methods in the book do a pod-race scene and crash.

 

Page 384 in the Special Effects Handbook.

 

Page 247 in The Special Effects Handbook.

 

Scene length of at least 500 frames.

Sandman - Goals + VF_400 frames

Sandman: using goals and software and hardware rendered particles and an animated character render out a sandman.

 

Use real video footage as background.

 

Minimum length of 400 frames.

Star Wars - Asteroid Fight _ 500 frames

Render out the exercise from Lesson 19 from the Special Effects Handbook.

Zoom in to reveal an asteroid belt in which a spaceship duel is taking place.

 

Show at least one lazer blast hit and explosion.

 

Use the Hubble space shuttle pictures as composited backgrounds.

 

You can also use the Galaxy paint effects brush in Maya for rendered out backgrounds.

 

Use as many of the techniques from the "Outter Space Environments" DVD as you can.

 

Minimum length: 500 frames. 

Your Name On Fire

<!--[endif]-->Your Name on Fire:

<!--[if !supportLists]-->a Page 562 in the Special Effects Handbook. <!--[endif]-->

Use the name writing goal assignment as a starting point and increase the quality of the look and the complexity of the effect and scene.

<!--[if !supportLists]-->b. <!--[endif]-->You can increase the quality and the complexity by adding any FIVE of the different things listed below:

<!--[if !supportLists]--> i. <!--[endif]-->Soft Bodies

<!--[if !supportLists]--> ii. <!--[endif]-->Rigid Bodies.

<!--[if !supportLists]--> iii. <!--[endif]-->Collision Events

<!--[if !supportLists]--> iv. <!--[endif]-->Collisions

<!--[if !supportLists]--> v. <!--[endif]-->Emit Functions

<!--[if !supportLists]--> vi. <!--[endif]-->Expressions

<!--[if !supportLists]--> vii. <!--[endif]-->Flow

<!--[if !supportLists]--> viii. <!--[endif]-->Goals

<!--[if !supportLists]--> ix. <!--[endif]-->Instancing

<!--[if !supportLists]--> x. <!--[endif]-->Fields

<!--[if !supportLists]--> xi. <!--[endif]-->Emitters ( Curve, Surface, Volume, Per Point, Directional, Particle Tool, Omni)

<!--[if !supportLists]--> xii. <!--[endif]-->Particle Types (MultiPoint, Point, Numeric, Streak, MultiStreak, Spheres, Clouds, Blobbies, Tubes, Sprites)

 Minimum Length 500 frames.

Ring of Fire _ 300 frames

Ring of Fire

  • Drive a car using active rigid body dynamics up a jump.
  • While airbourne your car must jump through a hoop that is lit on fire.
  • The fire should be generated with the Fire clip effect.
  • You can do as many particles layers as you want, but you should at least have one for smoke and one for fire.
  • Your car must be rendered separatedly on a different layer as well as shadows and the ramp.
  • It needs to be at least 300 frames.

Wall of Ice

Make a car jump through a wall of ice that is made up of rigid bodies. Shatter the wall of ice with the Shatter Clip Effect. Be sure to read through the rigid body optimization chapter to deal with collision and interpenetration errors. (Hint: Think different collision layers) . We are going for realistic looking collisions here but that doesn't mean you can not "cheat" by improving the shot with compositing and rendering tricks. (hint: Think layers)

REQUIREMENTS:

  • 3 Buckets

    You must have at least three particle passes rendered out to make this collision look real. These particle passes can be (but are not limited to) the following:

    • small ice chunks of instanced cubes
    • small hardware rendered cyan colored multi points
    • very faint software cloud particles for mist
    • very faint software tube particles for streaking

  • RAYTRACING

    Finally, the ice needs to be raytraced to have proper fraction and reflection. Don't forget to use layers to optimize what gets raytraced and what doesn't. Just because the ice is raytraced doesn't mean the car or anything else has to be.

  • EMIT FUNCTION

    You must also use the emit function to emit particles when the car collides. Use the code from the book in chapter 23 to increase the number of particles that are emitted on collision.

CA3D-480 Particle Effects MAKE UP CLASSES POLLS!

Please vote on each of the TWO polls that are newly created.

 

1. First Make up class.

2. Second Make up class.

 

I will gather the totals by Monday the 9th and announce them when we will meet. If I don't get any votes then I will decide myself.

 

Please vote now!!!