GIG reference manual
Particles tutorials
____________________________________________________________________________________









____________________________________________________________________________________
This first tutorial starts with a simple particle animation to create the
effect of a fountain.
- Press reset all in the general menu.
- Select particles from the solid construct menu.
- Select point from the selection list. Point particle systems emit particles
from a single source upwards along the y-axis. The direction can be changed by rotating the point in the transform menu.
- Enter tagname 'fountain' <return>.
- Go to tools and select Particles.
- Press simulate. The simulation will now start.
- During simulation the camera view can be interactively changed. Click the track button in the large camera window menu bar. Now press the middle mouse button and move the
mouse upwards inside the large camera window. This will track the camera towards the fountain.
- During simulation the parameter values can be interactively changed.
Doubleclick on gravity in the selection list below the get solid tag button. A
parameter dialog box will now appear at the top left of the screen. Change the
gravity by pressing the mean scroll wheel with the left mouse button. Keep the left mouse button pressed and move to the left or right in order to decrease or increase the value for gravity.
- It is also possible to set parameter values
using the keyboard. Click on the mean input box next to the scroll
wheel with the left mouse button. Type:
1.0 <return>
- The gravity is now constant 1.0. To make the gravity random, click on the
variance input box next to the scroll wheel with the left mouse button.
Type: 0.5 <return>
- Now the gravity varies between 0.5 and 1.5. This is so because the variance of 0.5
introduces a randomness from -0.5 to 0.5 which is added to the mean of 1.0.
- Press GIG to return to GIG.









____________________________________________________________________________________
This tutorial explains how to make a rotating comet particle animation.
- Press reset all.
- A ball can be used for a comet. The ball can be selected directly from the
particle selection list, or a normal ball can be converted to particles. The
latter aproach will be used in this tutorial.
- Go to transform, press keyboard.
- Press move, enter:
10 <return>
<return>
<return>
- Select fix event, enter tag 'comet', fix at frame 1.
- Press rotate, enter:
<return>
<return>
360 <return>
- Select fix event at frame 100.
- Go to the animation menu.
- Press expand, press trans-comet, press edit sequence, select comet-rotz.
- Change graph type to linear by clicking on graph type; set cycles to 200.
- Press confirm 2 times to leave the animation menu. The ball will now rotate 200
times around the global z-axis.
- Go to tools, select Particles.
- Press play to play the animation; press play again to stop. This has shown the
animation of the comet itself. Now the particle animation will be created.
- First we have to convert the solid to particles. To do so, press convert. The
active solid will now be converted to particles.
- Press simulate to start the
simulation. You will see just a few particles emitted from the comet. In order
to get more particles, click on the input box next to density and enter: 10
<return>
- Press convert to generate more particles.
- Press simulate to start the simulation.
- Click on global to see the difference between global and local particles.
- Scroll the parameter scroll list down until startspeed appears.
Select the startspeed parameter (double click) and use the mean scroll wheel to
vary the startspeed.









____________________________________________________________________________________
This tutorial explains how to create an exploding logo.
- Press reset all, go to solid construct.
- Select text, type LOGO <return>.
- Go to transform, press keyboard. Press size, enter:
10 <return>
- Press move, enter:
-13 <return>
1 <return>
<return>
- Give the solid a tagname 'logo' so that it can be selected in the particles menu.
- Go to tools and select Particles.
- Press convert to convert the logo to particles.
- simulate will start the simulation with the particles emitted perpendicularly
from the surface (this is the default ejection direction).
- Press GIG to return to GIG.
- Now two particle fields will be added to the logo to control the motion of the
particles so that an effective explosion effect can be created.
Go to solid construct, press group and then press particle field. Select sink from
the selection list and give it a tagname 'explosion'. This sink field will be
used for the main explosion effect.
- Select group and press particle field. Select noise from the selection list and
give it a tagname 'noise'. This noise field is used to add some random motion
to the explosion.
- Go to tools and Particles.
Select the logo with get solid tag to make the logo the active particle system.
- The sink field will now be used to define the emition direction of the logo.
To do so, press ejection fields and double click on the tagname 'explosion' in
the available (left) scroll list. Press confirm.
- Press simulate. The logo will now implode because the sink field defines an
inwards motion. This can be changed to an outward motion by setting the power
of the sink field to a negative value.
- Press get field tag and select explosion.
- Double click on power in the field parameter scroll list below the get field tag button.
Enter -1 <return> in the power input box. The logo will now explode
slowly. The sink field defines only the ejection of the particles because it
was assigned to the ejection dynamic parameter.
- Now the field will be assigned to the velocity dynamic parameter in order to control
the velocity of the particles directly.
- Press velocity fields and double click on the tagname 'explosion' in the
available (left) scroll list. Press confirm.
- Select pulsetime from the parameter scroll list.
Set the pulsetime mean to 50 and variance to 0 to create an explosion every 50
frames.
- Set the power of the explosion field to -25.
- Double click on gradation and type 0.3 in the gradation input box.
Note (on gradation):
The lower the gradation (0.3 for example), the greater the
spread. A value of 0 shows no gradation, with the explosion effect being
constant. 1.0 shows the effect decreasing as it moves from the center.
- To increase the explosion effect, set power to -50.
- To add some randomness to the explosion, the noise field will be added to the
velocity dynamic parameter. Press velocity fields and double click on the
tagname 'noise' in the available (left) scroll list. Press confirm.
- This may slow down the simulation because of the calculations required for the
noise field. Now we can make a recording of the simulation. Press simulate to
stop the simulation.
- Press reset simulation to remove the emitted particles.
- Press record to start recording. Press record again after
frame 50 has been simulated to stop recording.
- Now type 50 <enter> in the
right input box at the end of the timeline to set the end frame to
50.
- Press play to view the recorded simulation.









____________________________________________________________________________________
This tutorial shows how to create a waterfall using collision detection.
- Press reset all, then go to solid construct.
- Select a cube, go to transform, press keyboard, press x-y-z size, enter:
50 <return>
<return>
50 <return>
- Press move, enter:
<return>
-10 <return>
<return>
- Go to solid construct, press group, press ball.
- Go to transform, press size, enter:
5 <return>
- Press move, enter:
<return>
-10 <return>
<return>
- Go to solid construct, press new/fix solid. Enter as a tagname: 'collision'.
- Select group and particles.
- Select ball from the selection list. Give it a tagname 'ball'.
- Go to tools and select particles.
- Press get collision tag and double click on the tag 'collision'. The cube and the
ball are now used for collision detection with all particles.
- Press simulate to start the simulation.
- Select gravity from the parameter scroll list and enter 5 <return> in the
mean inputbox to add gravity so that the particles will hit the 'collision'
object.
- Select friction from the parameter scroll list and enter 0.0 <return> in
the mean inputbox to prevent the particles from being stopped by friction.
Watch how this affects the simulation.
- Now enter 0.5 <return> in the mean inputbox of friction to see the effect of friction. This makes the particles
stop after a while due to friction at each collision.
- Select resilience from the parameter scroll list and enter 0.4 <return>
in the meaninputbox to make the particles bounce less.
- To increase the water effect, more particles can be generated either by:
- increasing the density and converting again. This results in more emitters, so
more particles will be emitted. For example, set the density to 20, convert and
simulate.
- decreasing the pulsetime. This results in a higher pulse rate for each emitter, so more particles will be emitted. For example, set the pulsetime mean to 5 and the pulsetime variance to 2.5









____________________________________________________________________________________
This tutorial shows how to create a simple fire animation using an animated sink field.
- Press reset all in the general menu.
- Go to solid construct and give the ball a tagname 'fire'.
- Press group and create a particlefield sink; give it a tagname 'sink'.
- Go to transform and in the pos x input box, enter:
15 <enter>.
- In the pos x input box, enter: -6 <enter>.
Animating the flame:
Now the sink field will be animated to create a waving flame.
- Press fix event and enter:
1 <enter>
to fix the sink at frame 1.
- In the pos x input box enter:
12 <enter>.
- Press fix event and enter:
25 <enter>
to fix the sink at frame 25.
- In the pos x input box enter:
0 <enter>.
Press fix event and enter:
50 <enter>
to fix the sink at frame 50.
- Go to the animation menu and press expand, select 'trans-sink'.
- Press time curve and select 'sink-posx'.
- Press edit sequence and in the cycles input box
enter:
100 <enter>.
- Press confirm until the GIG main menu appears.
- Go to tools, select Particles.
- Press get solid tag and select 'fire'.
- For density enter:
5 <enter>.
- Press convert to convert the ball to particles.
- Press simulate to start the simulation.
- Select fluid fields, double click on sink and press confirm to assign the sink
field to the 'fire' as a fluid vector field.
- Now set the parameters of 'fire' by double clicking on the parameter names and
enter the following values:
- set mean grow to -1.0
- set variance lifetime to 8.0
- set mean mass to 0.006
- set mean pulsetime to 10.0
- set variance pulsetime to 5.0
- set mean radius to 1.0
- set mean tailsize to 1.2
- set mean viscosity to 0.8
- Press get field tag and select sink, double click on power and gradation and
set them as follows:
- set power to 5.0
- set gradation to 0.2
- Now watch the flame waving like fire.
Exit Particles if you've seen enough.
Rendering the flame:
If we now render the flame it doesn't look like fire at all.
Fire should have a local ambient light source and no global lights so that the particles will not look like spheres.
- Go to the lights menu and enter:
0 <enter>. for the intensity of the global light source (remember that it is not safe to delete the global worklight, because when GIG doesn't find a worklight it will create one, so it is better to set its intensity to 0.0).
- Press get solid tag and select 'fire'. Press local light and press add ambient to give the fire an ambient light source. If other objects in the scene should have light sources, remember to add them
as local lights.
- Now we want the colour of the flame to change during the lifetime of the
particles. To do this we use the map curve button in the attributes menu.
Go to the attributes menu, press map curve and enter:
hue <enter>.
- Press add diffuse and in the color input box enter:
hsvmap(hue, 1.0, 1.0)
- This creates an hsvmap with the hue animated from 0 to 1 over 100 frames.
The lifetime of the particles ranges from 0 to 80 (+/- a variance of 8).
Render the window by pressing 't' to see that the colour of the particles
varies from red (hue = 0.0) to blue (hue = 0.7).
- Now go to the animation menu to change the map curve 'hue' to a better color transition.
- Press expand, select map-hue. Press time curve, select hue-map parameter.
We want the color of the flame to start with red (hue = 0.0) then at
particle-age 20 some more yellow (hue = 0.1), until at age 80 it is completely yellow (hue = 0.2).
- Select edit point and click on the point at frame 0. In the val input box
enter:
0.0 <enter>.
- Select add point and click somewhere between the 2 existing points.In the val
input box enter:
0.1 <enter>.
- In the frm input box enter:
20 <enter>.
- Select edit point and click on the point at frame 100. In the val input box
enter:
0.2 <enter>.
In the frm input box enter:
80 <enter>.
- Press confirm until the GIG main menu appears.
Render the window by pressing 't' to see the result.Now we will make the flame transparant. To see the transparency effect, an
object is added to the scene. Go to solid construct, press group and select
text. Enter FIRE <enter> to create a text object which will be visible
through the flame.
- Go to transform, press keyboard, press size and enter:
20 <enter>.
- Press move and enter:
-22 <enter>
10 <enter>
-22 <enter>
to position the object behind the flame.
- Go to lights to add a local light source to the object. The local light button
should be active. Press add light. In the x, y, and z position input boxes
enter:
100 <enter>.
Set the intensity to 1.0.
- Go to attributes menu, press get solid tag and select 'fire'. Set the diffuse intensity to 0.6, press add transp. Set the transparancy intensity to 0.4, and in the tran color input box enter:
-0.2*white <enter>
to create a neon effect.
- Render the window by pressing 't' to see the result.
- Now preparations will be made to render the animation, go to the camera menu
and in the y input box enter:
8.0
and in the z input box enter:
50.0.
- Press fix anicam.
- Go to page size, press get pagesize and select 'Flipbook'.
- Go to general, press save ani and enter 'fire'.
- Go to render, press render ani and type a '?' on the first row. Select
'fire' and type under 'from':
1 <enter>
and under 'to' type:
100 <enter>.
- Press start to render the animation.
After the animation has been rendered it can be viewed with tifflip.
- Click on to system in the general menu and go to the production directory by typing:
cd $TD
at the UNIX prompt.
- Now type
tifflip -i fire -s1 -e100 -z3
to see the rendered result of the animation.
- Use keys '<' and '>' to slow down or speed up the display of the frames.
- Press 'q' to quit (keep the mouse in the image window).









____________________________________________________________________________________
This tutorial uses a point particle system. So to start off you have to select a point source and multiply it , say, 6 times to give 6 particles systems or 5 "explosion sites".
Position the point systems randomly in front of the camera as they might look if positioned in a sky.
Pic 1
In the example "fireworks" in the particles_demo project the point systems are tagged "work" 1 6.
- Go to Particles and select the following parameters:
blur, gravity, grow, lifetime, pulsetime, radius, startangle, startspeed, tailsize, and timestep.
- Enter values for mean of parameter:
- blur = 2
- gravity = 0.25
- grow = 0.3
- lifetime = 35
- pulsetime = 1
- radius = 0.05
- startangle = 70 (variance)
- startspeed = 3
- tailsize = 0.2
- timestep = 2 (this will be animated later)
Note:
apart from the startangle, all these parameters are mean values. For a more random effect, add variance values of about 300f mean values to blur, grow, lifetime, radius, and startspeed.
At this stage it is probably best to lock all the systems except one so that you can see the system simulate faster. You can lock the group containing all the systems and then un-lock the one you wish to simulate.
Turn off radius and simulate to see the result so far. We now want the fireworks to explode sporadically, i.e., every now and then. This can be done by simply moving the systems out of the camera view and bringing them back for several frames to "explode", then moving them out again. Pic 2 shows an example pos-x timecurve to do this. This was taken from "fireworks" in the particles_demo project.
Note:
Making the fireworks turn on and off can also be achieved by animating the pulsetime, startspeed, and timestep. Transforming has the advantage of your being able to move the particle system back to a different position, giving the effect of more systems than there are.
Pic2

"work1" is in shot from frame 1 25, then moved out of shot at frame 26, etc. The timecurve is linear.
Next the timestep must be animated to coincide with the translation of the system. Pic 3 shows the corresponding timestep timecurve for "work1".
Pic 3

It is easier to produce a timecurve using record in Particles and edit it later in Animation in the GIG main menu.
Looking at the timestep timecurve, show the system with a timestep of 3 for frames 1 10. This gives the initial powerful burst seen with fireworks. Then the energy is lost and the "sparks" of the firework tend to drop more. Thus the timestep is decreased to 0 from frames 10 25.
Once all 6 systems have been translated in and out of the environment and the corresponding timestep timecurves made, the next step is to animate the hue of the particles over time.
- Select the first system, e.g., "work1".
- Go to attributes and add diffuse.
- Press map curve and enter the name "hue1".
- Type: hsvmap(hue1,1,1) in the color input box of the diffuse.
- Edit the timecurve "hue1" so the hue changes over x frames, where x = mean lifetime + the varience lifetime. i.e., the longest possible lifetime of a particle. See Pic 4 below.
Pic 4

Vary the way the hue changes for each system to give a variety of colors.
For lighting the particles, select a local ambient light source.
Tips & Tricks:
Add a fake motion blur to the particles by typing "difblur" in to the diffuse intensity box and "transblur" in the transparancy intensity box.
Real motion blur can also be tried using blur scale in the renderoptions menu.
More particles can be produced by decreasing the pulsetime to say, 0.5 or 0.3.









____________________________________________________________________________________
Snow is an obvious 3D effect that can be simulated well with particles since snow is made up of particles or snowflakes. We will start off simulating snow falling gently and then see how, by adding a vector field, a snow storm can be simulated.
The particle system chosen to produce snow is a line system.
- Build a simple house structure and place it on a cube or freeform patch.
- Select a line particle system and multiply it 4 times.
- tag the group containing the systems "Snow".
Tips & Tricks:
By giving important groups or objects an ppercase first letter, they automatically appear at the top of the get solid tag list.
Scale and move "Snow" so that the systems sit above the house but so they can't be seen by the camera, as in Pic 5. You don't want to see where the snow is being generated!
Pic 5
- Go to Particles and select parameters:
- blur, friction, gravity, lifetime, pulsetime, radius, resilience, startangle, startspeed, and timestep.
- Enter values for mean of parameter:
- blur = 0
- friction = 1
- gravity = 1
- lifetime = 1000
- pulsetime = 3
- radius = 0.2 (varience = 0.1)
- resilience = 0
- startangle = 180 (varience = 45)
- startspeed = 1
- timestep = 0.04
Simulate to see the result.
The speed of the snow falling can be altered by the timestep. Startangle is 180 so that the particle systems point downwards and the variance gives a random factor to the direction of the particles when they are emitted.
Now make the roof of the house a collision object.
Because the particles have friction set to 1 and resilience (bounce factor) set to 0, and their lifetime is very high, they will appear to settle on the roof of the house.
For lighting, choose a local ambient light source for the group containing the particle systems, i.e., "Snow". This will make the snow appear flat and blotchy rather than its being rendered as round shapes.
Now we can adjust the parameters and add particlefields to give different results.
First group a uniform particlefield with "Snow". Position as in Pic 6.
Pic 6
- Go to Particles and select "Snow".
- Press on fluid fields and select the uniform field.
- Set the power of the uniform field to 500.
- Increase the timestep of "Snow" to 0.1. This will change all the particle systems to timestep = 0.1.
- Now select the particles system nearest to the camera. In the examples, gentle_snow and snow_storm in the particle_demo project: this is "snow1".
- Change the timestep to 0.15, which will make the snow in front slightly more "blowy".
Tips & Tricks:
Try changing the parameters of the particles to produce rain falling and a sandstorm. With rain you would want to illuminate the particles with a local light source since rain tends to catch the light and does not render flat. With the tailsize low and the radius set higher, a drop shape can be given to the particles.
With the sandstorm try adding vector fields to the scene, thus producing swirling sandstorms.










