anbul 2004
. When we
ar that it is
zoing to be
erent LOD
Yethods for
om et al,
(ROAM)
hods and
ining them
hese basic
n generate
. User can
he interval
a random
compilers
els due to
ssible that
)y side. A
be used in
iod known
any fields
is method
late Perlin
maximum
smoothed
er random
mic range
d until the
termediate
1 be easily
uette of a
nections to
n Model
irectly. In
to edit the
mouse is
point can
ossible to
| order to
e the user
use a flat
additional
t one i$
he second
lel rough.
on a 2D
ol is also
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B5. Istanbul 2004
very useful to construct real terrain models if the height data is
not available. The user can edit the terrain by using paper maps.
"m
fes tait Mte Farin |
et
thsi uf Cuts Briss T ole rn [0
xot eh Tonnen Ca or
bam hare Secr
ri
Figure 2. Terrain Editing
2.4.3. Terrain Surface: Aerial or space-borne images are the
main tools that are used to texture map terrain surface in many
VEs. This approach works when user looks at terrain from
higher altitudes. Typical resolutions of these images are not
sufficient when user walks through. As explained before human
eye resolution is 1 arc minute in normal day light conditions.
We can use this as rule of thumb to find the average resolution
that the V-eye sees when walking through the scene. This value
corresponds to 1.5 mm at 5 meters and 2 cm at, 70 meters. This
calculation is dependent on contrast, shape of object, visibility
conditions, lighting, concentration, speed ctc. To achieve
desired image resolution, game industry uses pre-rendered high
quality artificial textures that reflect the surface property such
as grass, arid, rocky, cement etc. We also used such textures
prepared by artists.
2.2 Crowd Animation
Crowds are part of real life. It is possible to render very realistic
virtual 3D model of a wonder such as Hagia Sophia by using
augmented reality techniques but it may not be enough to feel
the viewers in the VE as they are in the real world unless the
environment includes walking people, pigeons, vehicles etc.
Historical battlefield scenes are typical examples where it is
necessary to render thousands of animated characters. Our
software managed to handle this issue. Thousands of marching
soldiers over rough terrain are rendered successfully in real
time. We conducted rendering performance test in virtual
battlefield.
22.1 Real-Time Animation: Animation of rigid body
objects such as vehicles are relatively easier when compared to
animation of bipeds or quadrupeds. For example human
movement is a very complex task. Many researchers deal with
the inclusion of animated human actors in virtual environments.
The synthesis of human motion is one of the most challenging
areas in computer graphics since human being possesses more
than 200 degrees of freedom (Chung, 2000). Computer game
industry, which is the leading power in the development of real-
time rendering techniques, simplifies this complicated issue.
Below are some popular techniques that are used for real-time
character animation (Anderson, 2001).
* 3D hierarchic articulated object animation.
« Key-frame animation.
* Skeletal animation.
® Real-time inverse kinematics.
3D hierarchic articulated object animation uses local and
general transformation matrices to perform animation of each
body part separately and character as a whole. This method
consumes less memory and computation cost is low but the
quality of visual output is very poor due to gaps between
separate body parts. In key-frame animation a character model
is taken and using 3D modeling tools animates a loop of action
such as walk. This animation contains different but limited
number of 3D character poses while moving. These poses are
known as key frames. In order to smooth this animation new
frames are interpolated which are called in-betweens. Realistic
animations can be done with this technique. The advantage is
low computational cost. Main disadvantages are the size of
required memory space and limitation of using only predefined
actions. Skeletal animation technique is used to make more
realistic animation of articulated characters in virtual
environments. Many popular 3D games use skeletal animation.
Inverse kinematics can be considered as an alternative
animation method. When initial and final positions of objects at
specified times are given motion parameters are computed by
the system (Hearn & Baker 1997). This method requires more
computation than preceding methods.
Figure 3. Walk Animation
In this study considering memory, computation costs, visual
quality and other requirements of real-time rendering we
decided to use key-framed animations prepared in 3D Studio
Max format. Since we deal with real-time rendering of high
number of virtual characters, we had to minimize polygons to
be rendered. LOD management and visibility culling are the
main methods used in this study for crowd animation.
Three different sets of virtual characters with high, medium and
low polygon counts are used in this study. Distance is the
criterion to choose the appropriate LOD. The user can perceive
distinct transition between two models at different levels of
detail. This disadvantage can be eliminated by using
progressive meshes that are redefined at run-time to provide
smooth transition (Sullivan et al., 2002). Progressive meshes are
not implemented in this study and considered as a future work.
We applied standard back-face culling. We also implemented
frustum culling. To minimize number of comparisons we
organized virtual characters into groups. Inspired by roman
army structure we called these groups as legions. Each legion
has its own bounding sphere that is used for frustum culling.
We also used special indices to keep track of terrain
block/blocks which legion and every single virtual character is
on. Since we control visibility of terrain blocks according to
quad-tree structure prior to every visibilite and LOD
management, this mechanism decreases frustum-culling check
significantly. If a legion passes frustum-culling test we then
check every virtual character's bounding sphere. The distance