|
|
|
Download PDF File
1. Introduction
|
Special Effects, especially atmospheric effects such as rain, cloud, snow and other outdoor scenes in interactive applications (games, training systems...), are important in creating realistic environment. As current graphic hardware's computation speed is improving, their high degree
of realism is also required to immerse the user in a visually convincing environment. However,
rendering these effects is a hard problem, especially in real time.
Rain is a very complex atmospheric physical phenomenon and consists of numerous effects:
rain falling (light rain, moderate rain, heavy rain, and extreme rain), puddling on the streets by
raindrops, splashing of raindrop, water rippling, falling raindrops dripping of object's surfaces,
and water streaming of on the streets and objects.
The objective of the project, Figure 1, is to make algorithms of the above effects as many
as possible and implement them on Delta3D (be detailed in next section). Moreover, effects
should be able to run in real time.
The reminder of the paper is organized as follows. In section 2, Delta3D is presented briefly.
Section 3 describes two concepts of creating rain falling effect and finally section 4 presents the
conclusion and future work.
Figure 1: Objective of the project
|
|
2. Delta3D
|
Delta3D [1][2] is an Open Source engine which can be used for games, simulations, or other
graphical applications. Its modular design integrates other well-known Open Source projects
such as Open Scene Graph [3], Open Dynamics Engine [4], Character Animation Library [5], and
OpenAL [6] as well as projects such as Trolltech's Qt, Crazy Eddie's GUI (CEGUI), Xerces-C,
Producer, InterSense Tracker Drivers, HawkNL, and the Game Networking Engine (GNE). It
has a high-level, cross-platform (Win32 and Linux) C++ API designed with programmers in
mind to soften the learning curve, but always makes lower levels of abstraction available to the
developer. Programmers can develop content through the level editor-they can write Python
script to the Delta3D API or to the underlying tools directly. Delta3D uses the standard Lesser
GNU Public License (LGPL) [7]. It's completely modular and allows a best-of-breed approach
whereby any module can be swapped out if a better option becomes available. Figure 2 shows
the Delta3D architecture. All the products in the bottom layer are existing open source projects.
Delta3D uni¯es them into one consistent API with associated tools.
Figure 2: All the products in the bottom layer are existing open source projects. Delta3D unifies them into one consistent API with associated tools
|
|
2.1. Effect in Delta3D
|
Delta3D contains many effects such as motion models (Fly, UFO,Walk, Orbit, and First Person),
smoke, explosion, animation blending, and particularly Graphical Particle Effect Editor. This
editor allows developers to use graphical tool to change the properties of a particle system and
see the effects immediately in real time.
|
|
2.2. Why Delta3D
|
Delta3D is selected for implementation of our algorithms due to the fact that Delta3D leverages
the success of existing open source tool such as OpenSceneGraph and contains an interesting par-
ticle system editor available in source code, which is allowed to modify to meet our requirements
(realistic special effects). Hence it's a good starting point for our project.
|
|
3. Rain Falling Effect
|
In this section, we describe two main concepts of creating rain falling effect : using Graphical
Particle Effect Editor [8] and physical properties-based method [9].
|
|
3.1. Using Delta3D Particle Editor
|
The principle concept is to create firstly a texture of a raindrop and mapped it on a small billboard (particle) that will always face to the viewer (camera). Secondly, a rectangular emitter is made to shoot randomly particles straight down from a particular height. Thirdly, some properties of particle have to be set such as life of drop (for example 2 seconds, it's best to have raindrops disappear when they hits the ground), size of drop (or particle, for example from 0.15m to 0.25m) , various numbers of particles creation (for example from 150 particles/sec to 200 particles/sec), and initial velocity rang of drops (for example from 6 m/s to 10 m/s) so that raindrops don't fall at a regular rates, numbers, and patterns. Even though the particles are supposed to be random, most people will notice a pattern after a while. So finally, to further stop this from happening, emitters (or layers) have to be created by putting diŽerent numbers into these emitter's properties and especially making diŽerent raindrop textures.
Whenever a raindrop hits the wet surface of flat area such as the surface of the water in pool,
circular of ripple (water ring) will occurs. This effect can be made by this particle system editor
in a similar manner. At first, texture of water ring has to be mapped to a particle that always
lay flat on the ground. Then a rectangular emitter is made to shoot randomly particles but
the velocity shooting has to be set to zero in order to keep the particle from floating upwards.
Lastly, the size of particle (or water ring) has to be set from 0.00m to 0.16m so that enlargement
of water ring can be seen.
Figure 3 and 4 show two raindrop textures and two water ring textures respectively. Theses textures and a simple terrain are import to the particle system editor whose properties are
set with the example values mentioned above. Our result is shown in figure 5.
Figure 6 presents an unexpected result when raindrops are viewed downward from a particular height. This happened due to the raindrop textures are mapped on billboards that always
face to the camera (viewer).
 |
 |
Figure 3: two raindrop textures |
Figure 4: two water ring textures |
Figure 5: rain falling using a simple terrain, two raindrop textures and two water ring textures above
Figure 6: rain falling is viewed downward from a particular height
Figure 7: Shape of drops: (a) Compared shapes of raindrops of radii R = 1mm, 1:5mm, 2mm, 2:5mm
and 3mm [Ros00]. (b) Shape of a droplet of undistorted radius 0:5. (c) Shape of a droplet of undistorted
radius 1:0. (d) Shape of a droplet of undistorted radius 3:0. (e) Shape of a droplet of undistorted radius
4:5
|
|
3.2. Using Physical Properties-Based Method
|
This method is based on physical properties (geometrical, dynamic and optical) of raindrops.
Ross [10] proves that falling raindrops look more like ellipsoids. Small raindrops are almost
spherical, and bigger raindrops get fattened at the bottom. Figure 7 shows typical raindrop
shapes for common undistorted radii. Figure 8 illustrates directions of reflected/refracted rays.
At an interface, the law of reflection describes the directions of the reflected ray, and Snell's law
describes the direction of the refracted ray.
The basic concept is capturing first an image of the background scene to a texture. Afterward this texture is mapped onto the raindrops according to optical laws (Only Snell's law).
Reflection's law is not participated since a raindrop appears rather small on the screen, and
reflection is visible only in a small part of each raindrop.
Figure 9 shows the comparison of a water-drop simulated using this concept (left) with an
image of a real falling droplet (right). A photograph of the original scene was used as a background image for the simulated drop. The bottom images show a close view of the original and
simulated drops. As the real drop just left the tap, its shape is not yet stabilized and is not
perfectly spherical, and so it does not behave exactly as the simulated one.
Figure 10 presents rain falling simulated using this method. This image is still lack realism
due to many raindrops should be able to see inside the biggest raindrop and not only inside that
drop. In addition, as this method does not care about reflection, caustic on raindrops are not
seen when the light source placed behind viewer. Collision detection and merging of raindrops
are not included in this method either.
Figure 8: Reflection / refraction of a ray in a raindrop
Figure 9: Left: An image simulated with this concept. Right: A photograph of a real raindrop
Figure 10: rain falling simulated using this Physical Properties-Based Method
|
|
4. Conclusion and Future Work
|
In conclusion, creating rain falling using Delta3D's particle editor and Physical Properties-Based
Method present the basic concept of making special effects and ideas for future work.
For second and third stage project, we are doing sequentially the following 9 steps. We will
try to finish the first five steps in second stage and the last fourth steps in third stage. Starting
date and number of week to achieve each step are detail in the time schedule table below.
1. Study source code of particle system editor
2. Improve the Physical Properties-Based Method
3. Implement that method on particle editor
4. Create rain falling effect: light rain, moderate rain, heavy rain, and extreme rain
5. Create effect of puddling on the streets by raindrops
6. Create raindrop splashing effect
7. Create water rippling effect
8. Create effect of falling raindrops dripping of object's surfaces
9. Create effect of water streaming of on the streets and objects
Second Stage Project Time Schedule |
Steps |
Starting Date |
Number of Week to Finish |
| 1 |
July 26 |
2 weeks |
| 2 |
August 9 |
2 weeks |
| 3 |
August 23 |
5 weeks |
| 4 |
September 27 |
3 weeks |
| 5 |
October 18 |
8 weeks |
Total |
20 weeks |
Rest 3 weeks (December, 13 2007 - January, 8 2008) |
Second Stage Project Time Schedule |
Steps |
Starting Date |
Number of Week to Finish |
| 6 |
January 17 |
4 weeks |
| 7 |
February 15 |
4 weeks |
| 8 |
March 13 |
5 weeks |
| 9 |
April 19 |
6 weeks |
Total |
19 weeks |
Rest 6 weeks (May, 29 2008 - July, 10 2008) |
|
|
References
|
[1] Delta3D. www.delta3d.org, accessed, June 2007. Last viewed on July, 11 2007.
[2] Rudy Darken, Perry McDowell, and Erik Johnson. Projects in VR: the Delta3D open source
game engine. Computer Graphics and Applications, IEEE, Vol.25, Iss.3, May-June 2005. [PDF]
[3] Open Scene Graph. http://www.openscenegraph.org/, accessed, June 2007. Last viewed on
July, 11 2007.
[4] Open Dynamics Engine. http://www.ode.org/, accessed, June 2007. Last viewed on July, 11
2007.
[5] 3D Character Animation Library. https://gna.org/projects/cal3d/, accessed, June 2007. Last
viewed on July, 11 2007.
[6] OpenAL,Cross-Platform 3D Audio. http://www.openal.org/, accessed, June 2007. Last
viewed on July, 11 2007.
[7] GNU Lesser General Public License. http://www.gnu.org/licenses/lgpl.html, accessed, June
2007. Last viewed on July, 11 2007.
[8] Falling Rain Particle Effect. http://www.delta3d.org/¯lemgmt/visit.php?lid=80, accessed,
June 2007. Last viewed on July, 11 2007. [PDF]
[9] Pierre Rousseau, Vincent Jolivet, Djamchid Ghazanfarpour. Realistic real-time rain rendering.
Computers & Graphics 30, 4 (2006), 507-518. special issue on Natural Phenomena Simulation. [PDF]
[10] Ross, O.N. (2000) Optical Remote Sensing of Rainfall Microstructures, Freie Universitãt
Berlin, Fachbereich Physik, Diplom Thesis, 134pp. [PDF]
|
|
|