lncs 5545 - tools for procedural generation of plants in ...tools for procedural generation of...

10
Tools for Procedural Generation of Plants in Virtual Scenes Armando de la Re, Francisco Abad, Emilio Camahort, and M.C. Juan Depto. Sistemas Inform´ aticos y Computaci´on Universidad Polit´ ecnica de Valencia 46022 Valencia, Spain Abstract. Creating interactive graphics applications that present to the user realistic natural scenes is very difficult. Natural phenomena are very complex and detailed to model, and using traditional modeling tech- niques takes huge amounts of time and requires skilled artists to obtain good results. Procedural techniques allow to generate complex objects by defining a set of rules and selecting certain parameters. This allows to speed up the process of content creation and also allows to create objects on-the- fly, when needed. On-demand generation of scenes enables the authors to create potentially infinite worlds. This survey identifies the main features of the most used systems that implement procedural techniques to model plants and natural phenom- ena and discuss usability issues. 1 Introduction Massive multiplayer games model huge environments where lots of players can exchange experiences. To obtain appealing landscapes and interesting game fields, modern games require lots of both geometric and texture assets. This pose a difficult problem since it is very expensive to create lots of different ob- jects, landscapes, characters and so on. It is common to reuse such content in the same game. Changing certain characteristics of the object (i.e., its color, its size) to increase the number of different objects in the game is usually detected by the user, thus reducing the realism of the game. The resources dedicated to create realistic models could be used to improve game play or include innovative features. Procedural content generation tech- niques appear to speed up the process of creating content. They are also able to generate content on-the-fly, thus reducing the space requirements. Recently, automatic content creation systems have been used, for example, to model buildings and cities [1,2], roads [3], buildings [4,5], houses [6], textures [7], vegetation [8,9] and sky [10]. Specifically for games, procedural systems have also been used to model 2D maps [11] and game levels [12]. Usually one of the requirements of games is to present realistic vegetation. This is a difficult goal because natural plants are complex organisms and dif- ferent factors define its shape and color. It is possible to model a realistic plant G. Allen et al. (Eds.): ICCS 2009, Part II, LNCS 5545, pp. 801–810, 2009. c Springer-Verlag Berlin Heidelberg 2009

Upload: others

Post on 17-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LNCS 5545 - Tools for Procedural Generation of Plants in ...Tools for Procedural Generation of Plants in Virtual Scenes Armando de la Re, Francisco Abad, Emilio Camahort, and M.C

Tools for Procedural Generation of Plants in

Virtual Scenes

Armando de la Re, Francisco Abad, Emilio Camahort, and M.C. Juan

Depto. Sistemas Informaticos y ComputacionUniversidad Politecnica de Valencia

46022 Valencia, Spain

Abstract. Creating interactive graphics applications that present to theuser realistic natural scenes is very difficult. Natural phenomena are verycomplex and detailed to model, and using traditional modeling tech-niques takes huge amounts of time and requires skilled artists to obtaingood results.

Procedural techniques allow to generate complex objects by defininga set of rules and selecting certain parameters. This allows to speed upthe process of content creation and also allows to create objects on-the-fly, when needed. On-demand generation of scenes enables the authorsto create potentially infinite worlds.

This survey identifies the main features of the most used systems thatimplement procedural techniques to model plants and natural phenom-ena and discuss usability issues.

1 Introduction

Massive multiplayer games model huge environments where lots of players canexchange experiences. To obtain appealing landscapes and interesting gamefields, modern games require lots of both geometric and texture assets. Thispose a difficult problem since it is very expensive to create lots of different ob-jects, landscapes, characters and so on. It is common to reuse such content inthe same game. Changing certain characteristics of the object (i.e., its color, itssize) to increase the number of different objects in the game is usually detectedby the user, thus reducing the realism of the game.

The resources dedicated to create realistic models could be used to improvegame play or include innovative features. Procedural content generation tech-niques appear to speed up the process of creating content. They are also able togenerate content on-the-fly, thus reducing the space requirements.

Recently, automatic content creation systems have been used, for example, tomodel buildings and cities [1,2], roads [3], buildings [4,5], houses [6], textures [7],vegetation [8,9] and sky [10]. Specifically for games, procedural systems havealso been used to model 2D maps [11] and game levels [12].

Usually one of the requirements of games is to present realistic vegetation.This is a difficult goal because natural plants are complex organisms and dif-ferent factors define its shape and color. It is possible to model a realistic plant

G. Allen et al. (Eds.): ICCS 2009, Part II, LNCS 5545, pp. 801–810, 2009.c© Springer-Verlag Berlin Heidelberg 2009

Page 2: LNCS 5545 - Tools for Procedural Generation of Plants in ...Tools for Procedural Generation of Plants in Virtual Scenes Armando de la Re, Francisco Abad, Emilio Camahort, and M.C

802 A. de la Re et al.

with traditional methods, but it usually results in a huge geometric model, withlots of textures, and it is a time consuming task. Rendering complex models alsorequires applying some technique of LOD to reduce the actual number of poly-gons processed in the scene. Some procedural generation algorithms are able togenerate multi resolution models [9] and some others are able to generate plantsbased on images [13].

This work focuses on currently available software applications that use pro-cedural generation algorithms to model plants. We describe the features of themost used applications, and we also study their usability.

The rest of the article is structured as follows. First we talk about previouswork on procedural content generation. The following section describes the mainfeatures of each surveyed system. We provide a table that compares each aspectof the applications. Conclusions and future work ends the paper.

2 Previous Work

The first procedural techniques were based on recursive functions, and wereused to create fractal-like images. A fractal is a fragmented geometry shape,where each fragments is (approximately) a reduced copy of the whole shape(self-similarity). They cannot be classified in the traditional Euclidean geometricsystem, have a rich structure at arbitrarily small scales and have a Hausdorffdimension greater than its topological dimension. Some generation techniquesuse fractals to generate plants, rocks [14] and other natural phenomena [15].

Other procedural techniques are based on L-Systems [16]. L-Systems are avariation of formal grammars and are used to simulate the growth of plants,fractals and artificial life. They consist of a set of symbols that can be replaced,an axiom or initial state and a set of production rules. The L-System startswith the axiom that is replaced with the corresponding production rule. Thensome parts of the rules are replaced with other rules and so on. The resultsare interpreted by the renderer as positions, orientations and stack structures.This kind of procedural technique is used to generate complex plants and othernatural structures.

Many authors have focused on procedural techniques for city generation [17].We can find applications to generate cities in a terrain [1], organize and simu-late cities with procedural methods [2], create roads and streets [3], green areas,bridges, etc. Other systems model buildings [4], houses [6], facades [5]. . . Thesesystems have to create different buildings, but have to maintain a common look(for example, to model different buildings built around the same era with thesame style). Kelly and McCabe [17] defined seven criteria to evaluate a proce-dural city generation system: realism, scale, variation of buildings and roads,required input to generate it, efficiency, control to modify the generation, and ifit is generated in real time.

Other authors have presented techniques for modeling realistic trees [8], re-ducing the polygon count of the plant model using procedural techniques [9],image-based modeling of plants [13] or animating plants [18].

Page 3: LNCS 5545 - Tools for Procedural Generation of Plants in ...Tools for Procedural Generation of Plants in Virtual Scenes Armando de la Re, Francisco Abad, Emilio Camahort, and M.C

Tools for Procedural Generation of Plants in Virtual Scenes 803

Fig. 1. FractTree allows to render sep-arately each stage of the derivation

Fig. 2. The preview and navigation screen ofL-System4

3 Applications

3.1 FractTree [19]

This application is one of the precursors in the generation of fractal plants. Itcreates only 2D models, and uses L-Systems and a step by step generation withdetail level for derivation rules shown in Figure 1. The application creates theplant replacing the symbols in the derivation with drawing primitives. It is avery simple program but it can be used to understand the basics of L-Systems.

3.2 L-System4 [20]

It is also based on L-Systems, and generates detailed 3D plants and objects (seeFigure 2). The navigation is somewhat restricted but it is enough to examinethe object. One problem of this application is that the user has to know howL-Systems work to create or change one.

3.3 LStudio [21]

LStudio provides several tools to create realistic plants as shown in Figure 3.a.It is based on a modified bracketed L-System to generate trunks, branches andthe position of leaves, flowers and petals. These terminals are modeled in theinteractive vector editor shown in Figure 3.b. This system is suitable to generatesmall plants like flowers, grass and bushes, rather than trees.

3.4 An Ivy Generator [22]

It is a generator of Ivy plants that allows the user to decide where to grow themon an imported 3D scene by defining a seed. It has simple tools to change the

Page 4: LNCS 5545 - Tools for Procedural Generation of Plants in ...Tools for Procedural Generation of Plants in Virtual Scenes Armando de la Re, Francisco Abad, Emilio Camahort, and M.C

804 A. de la Re et al.

Fig. 3. a) Plant created with LStudio, and b) its editor for modeling leaves, flowersand petals

Fig. 4. An Ivy Generator example Fig. 5. Treegenerator GUI

appearance of the plants but the results are very realistic. It takes into accountthe gravity and the capacity of the plant to grow to create climbing or hangingplants (Figure 4).

3.5 TreeGenerator [23]

This application has a control panel to control the tree generation. Figure 5shows the leaf editor. The resulting leaves look real when isolated, but groups ofleaves do not look realistic. One of the causes is that the program has a limitednumber of recursion levels to generate branches and leaves. The tools to modifythe tree and create different instances are also limited.

3.6 TreeMagik G3 [24]

This tool provides a trunks, branches and roots generator. The foliage is providedby the program and it is rendered as a set of billboards. It generates very goodresults as shown in Figure 6. It is also able to generate a billboard of the entiretree. It provide textures for the trunk and leaves, and the user can add textures.

Page 5: LNCS 5545 - Tools for Procedural Generation of Plants in ...Tools for Procedural Generation of Plants in Virtual Scenes Armando de la Re, Francisco Abad, Emilio Camahort, and M.C

Tools for Procedural Generation of Plants in Virtual Scenes 805

Fig. 6. Example of a tree generated byTreeMagikG3

Fig. 7. Example generated withMeshtree Studio

Fig. 8. Dryad generates trees quickly, butthey are not very realistic

Fig. 9. The help system of Arbaro pro-vides information about the parame-ters to control the generation

3.7 MeshTree Studio [25]

It produces very realistic trees but the user interface is not very user friendlyand there is no help or tutorial. Once the initial learning curve is overcome,the user can generate very appealing trees with a low number of polygons. Onerestriction is that only generate .mesh files.

3.8 Dryad [26]

This is a freeware tree generator, but it is not open source. It provides an onlinegallery of trees that looks like a forest, where the user can select a tree andchange its parameters. The properties of two different trees can be combined tocreate a new tree. The trees created by the users can be planted in the onlinegallery and shared with other users. A disadvantage of this system is that it onlygenerates high resolution trees and they are not very realistic (Figure 8).

Page 6: LNCS 5545 - Tools for Procedural Generation of Plants in ...Tools for Procedural Generation of Plants in Virtual Scenes Armando de la Re, Francisco Abad, Emilio Camahort, and M.C

806 A. de la Re et al.

Fig. 10. Xfrog Graphical User Interface Fig. 11. Tree[d] produces goodresults but it is difficult to controlvariations

3.9 Arbaro [27]

This is the only Java-based system evaluated and generates good results. It iswell documented, but its interface is not very friendly. It has some errors ex-porting trees. Figure 9 shows the flexibility to control parameters like number oflevels, radius, division and curvatures of branches and trunk. It provides overlaygraphics aids to help the user to understand each parameter.

3.10 SpeedTree [28]

It’s one of the most used and renown products in the creation of videogames thatpresent natural scenes. It provides a powerful, complete, and efficient renderer,a modeler and real time generator. The scenes created with this engine arevery realistic, and it has also been designed to be used in interactive systems.This is the most expensive system described in this survey, and we could nottest it.

3.11 Xfrog [29]

It is similar to SpeedTree and it is also used in the videogame industry. It cangenerate very realistic scenes, with different objects and a wide variety of plants.It is more affordable than SpeedTree. Its learning curve is also very steep, andtakes time to obtain a convincing tree.

3.12 Tree[d] [30]

It is very easy to create random trees and generates very realistic examples. Itis difficult to modify or start a new one, and there is not many different type oftrees.

Page 7: LNCS 5545 - Tools for Procedural Generation of Plants in ...Tools for Procedural Generation of Plants in Virtual Scenes Armando de la Re, Francisco Abad, Emilio Camahort, and M.C

Tools for Procedural Generation of Plants in Virtual Scenes 807

4 Conclusions and Future Work

The purpose of this work was to study the current procedural generation sys-tems to model natural plants. We have classified this tools into several profiles,depending on the features of the systems and the requirements of the user:FractTree and L-System4 is suitable for students, since they help to learn andunderstand L-Systems. Speedtree and Xfrog are suitable for game and moviecompanies because they generate the most realistic trees, but at the expenseof a steep learning curve and a high cost. L-Studio also creates realistic flowerplants but it requires a lot of learning time. An Ivy Generator makes a scene orobject look abandoned or alive because of the added Ivy plant, and because it isfree, it can be used by everyone. Treemagik G3 and Tree[d] also generate goodresults and are cheap or free.

Some systems can be used by 3D cartoon animators to generate trees. Dryad,TreeGenerator and L-System4 can generate cartooned trees instead of realis-tic plants. For the casual user FractTree, dryad, MeshTree studio, TreeGener-ator and An Ivy generator provide a lot of parameters to select and differentresults.

Our group is currently developing a framework for procedural modeling ofsynthetic models. This tool will allow the user to select different techniques togenerate geometry and textures inside the same environment.

Summary

This section includes a table comparing the main features of each system. Thefeatures studied are:

– 2D and 3D: Capacity to generate 2D and/or 3D objects.– IDE: Integrated editor to create the plants.– Definition Language: Input for plant definition. It can be LSys [] (bracketed

L-Systems ) or GUI (Graphical User Interface).– Navigation: Navigation in the rendered scene (Zoom, move, rotation).– Geometry Generation: It can generate geometry.– Import, Export: file formats accepted by the application.– Released, Updated: First release and last update dates.– Derivation Control: Control of the derivation of plants.– Multiple Objects: Render multiple objects at the same time.– Object types: Objects that the system can work with.– Textures: Capacity to use textures in plant creation.– Purpose: Main purpose of the application.– Usability: Easy of use in a 1-10 scale (1 difficult, 10 easy).– Documentation: Quality of the documentation in a 0-10 scale (0 no docu-

mentation, 1 poor, 10 complete and user friendly).– Debugging: Tools for debugging the generation process.– Modeling Speed: Time to create a target plant in each system. It could be

from a blank project or modifying an existing example. The plant has theserequirements: An initial branch (or trunk) and a separation in two branches,five derivations and medium-sized round leaves.

Page 8: LNCS 5545 - Tools for Procedural Generation of Plants in ...Tools for Procedural Generation of Plants in Virtual Scenes Armando de la Re, Francisco Abad, Emilio Camahort, and M.C

808 A. de la Re et al.

Table

1.

Main

chara

cter

istics

of

the

surv

eyed

applica

tions.

Leg

end

for

“M

odel

ing

Spee

d”

row

::

1,

fast

using

exam

ple

sand

know

ing

L-S

yst

ems;

2,ver

yslow

,re

quir

edm

odifyin

gex

isting

exam

ple

s;3,ver

yfa

st,re

quires

an

exte

rnalobje

ct;4,fa

stto

build

but

diffi

cult

tom

odify;5,ver

yfa

st;6,fa

stbut

export

does

not

work

;7,norm

aland

8,w

eco

uld

not

test

it

Fra

cTre

eL-S

yst

em4

L-S

tudio

Bota

ny

Alg

An

Ivy

Gen

erato

rTre

eGen

erato

rTre

eMagik

G3

2D

x-

x-

--

3D

-x

xx

xx

IDE

xx

xx

xx

Defi

nitio

nLanguage

Lsy

s[]

Lsy

s[]

Mod.Lsy

s[]

GU

IG

UI

GU

I

Nav

igation

-x

xx

xx

Geo

met

ryG

ener

ation

-x

xx

xx

Image

Gen

eration

-x

xx

xx

Import

-dxf

-obj

-b3d

Export

bm

pdxf,

bm

p,jp

egrg

b,tg

a,bm

pobj

obj,

3ds,

dxf

sever

al(o

bj,

wrl)

Lic

ense

Share

ware

Fre

eware

Fre

eware

Fre

eware

1.3

&2.0

Dem

o

Price

10

EU

R0

00

$0

&$49

$49.9

5

Rel

ease

d1993

2000

1999

2007

2006

2006

Update

dN

o2004

2004

2008

No

No

Der

ivation

contr

ol

xx

-x

xx

Multip

leobje

cts

-x

xx

--

Obje

ctty

pes

Lsy

stem

sdxf,

Lsy

stem

sP

lants

Fra

ctals

3D

Obje

cts

Tre

esTre

es

Tex

ture

s-

x-

xx

x

Purp

ose

Fra

ctaltr

ees

Lsy

stem

sP

lants

Ivy

Pla

nts

Tre

esTre

es

Usa

bility

68

89

87

Docu

men

tati

on

62

10

46

0

Deb

uggin

gLev

elco

ntr

ol-

-Lev

elco

ntr

ol

Inst

ant

update

Lev

elco

ntr

ol

Model

ing

Spee

d1

12

34

5

Page 9: LNCS 5545 - Tools for Procedural Generation of Plants in ...Tools for Procedural Generation of Plants in Virtual Scenes Armando de la Re, Francisco Abad, Emilio Camahort, and M.C

Tools for Procedural Generation of Plants in Virtual Scenes 809

Table

1.(c

ontinued

)

Mes

hTre

eStu

dio

Dry

ad

Arb

aro

XFro

gSpee

dTre

eTre

e[d]

2D

--

--

--

3D

xx

xx

xx

IDE

xx

xx

xx

Defi

nit

ion

Language

GU

IG

UI

GU

IG

UI

GU

IG

UI

Nav

igati

on

xx

xx

xx

Geo

met

ryG

ener

ati

on

xx

xx

xx

Image

Gen

erati

on

--

xx

xx

Import

--

xm

l-

-

Export

.mes

hobj

obj,

pov

ray,

dxfpng,jp

gse

ver

al

x,b3d

Lic

ense

Fre

eware

Fre

eware

Fre

eware

Tri

al,

lite

,fu

llTri

al,

full

Fre

eware

Pri

ce0

00

$300/$400

$8495,

0

Rel

ease

d2007

2007

2003

1996

2002

2002

Update

dN

o2008

2004

2002

2009

2008

Der

ivati

on

contr

ol

x-

xx

x-

Mult

iple

obje

cts

--

-x

x-

Obje

ctty

pes

Tre

esTre

esxm

lP

lants

Pla

nts

Tre

es

Tex

ture

sx

--

xx

x

Purp

ose

Tre

esTre

esTre

esP

lants

Pla

nts

Tre

es

Usa

bility

65

59

5

Docu

men

tati

on

00

610

0

Deb

uggin

gLev

elco

ntr

ol

Inst

ant

update

Inst

ant

update

alo

tIn

stant

update

Model

ing

Spee

d7

56

28

5

Page 10: LNCS 5545 - Tools for Procedural Generation of Plants in ...Tools for Procedural Generation of Plants in Virtual Scenes Armando de la Re, Francisco Abad, Emilio Camahort, and M.C

810 A. de la Re et al.

References

1. Parish, Y.I.H., Muller, P.: Procedural modeling of cities. In: SIGGRAPH 2001, pp.301–308 (2001)

2. Greuter, S., Parker, J., Stewart, N., Leach, G.: Real-time procedural generation of‘pseudo infinite’ cities. In: GRAPHITE 2003, pp. 87–94 (2003)

3. Sun, J., Yu, X., Baciu, G., Green, M.: Template-based generation of road networksfor virtual city modeling. In: ACM Symposium on Virtual Reality Software andTechnology, pp. 33–40 (2002)

4. Muller, P., Wonka, P., Haegler, S., Ulmer, A., Gool, L.V.: Procedural modeling ofbuildings. In: SIGGRAPH 2006, pp. 614–623 (2006)

5. Wonka, P., Wimmer, M., Sillion, F., Ribarsky, W.: Instant architecture. ACMTransactions on Graphics 22(3), 669–677 (2003)

6. Martin, J.: Procedural house generation: A method for dynamically generatingfloor plans. In: Symposium on interactive 3D Graphics and Games (2006)

7. Ebert, D., Musgrave, F., Peachey, D., Perlin, K., Worley, S.: Texturing and Mod-eling: A Procedural Approach, 3rd edn. Morgan Kaufmann, San Francisco (2002)

8. Weber, J., Penn, J.: Creation and rendering of realistic trees. In: SIGGRAPH 1995,pp. 119–128. ACM, New York (1995)

9. Lluch, J., Camahort, E., Vivo, R.: Procedural multiresolution for plant and treerendering. In: AFRIGRAPH 2003 (2003)

10. Roden, T., Parberry, I.: Clouds and stars: efficient real-time procedural sky ren-dering using 3d hardware. In: ACE 2005 Int. Conference on Advances in ComputerEntertainment Technology, pp. 434–437 (2005)

11. Prachyabrued, M., Roden, T.E., Benton, R.G.: Procedural generation of stylized2d maps. In: ACE 2007: Advances in Computer Entertainment Technology (2007)

12. Roden, T., Parberry, I.: Procedural Level Generation. In: Game ProgrammingGems 5, pp. 579–588. Charles River Media (2005)

13. Quan, L., Tan, P., Zeng, G., Yuan, L., Wang, J., Kang, S.B.: Image-based plantmodeling. In: SIGGRAPH 2006, pp. 599–604 (2006)

14. Deix, W.: Real-time rendering of fractal rocks. In: Central European Seminar onComputer Graphics (2003)

15. Prusinkiewicz, P., Hammel, M.: A fractal model of mountains with rivers. In:Graphics Interface 1993 (1993)

16. Lindenmayer, A.: Mathematical models for cellular interaction in development,parts i and ii. Journal of Theoretical Biology 18, 280–315 (1968)

17. Kelly, G., McCabe, H.: A survey of procedural techniques for city generation. ITBJournal 14 (2006)

18. Prusinkiewicz, P., Hammel, M.S., Mjolsness, E.: Animation of plant development.In: SIGGRAPH 1993, pp. 351–360 (1993)

19. FracTree: http://archives.math.utk.edu/software/msdos/fractals/fractree20. L-System4: http://www.geocities.com/tperz/L4Home.htm21. LStudio: http://algorithmicbotany.org22. An Ivy Generator: http://graphics.uni-konstanz.de/~luft/ivy_generator23. TreeGenerator: http://www.treegenerator.com24. TreeMagik G3: http://www.aliencodec.com/product_treemagik.php25. MeshTree Studio: http://www.ogre3d.org/forums/viewtopic.php?t=2590926. Dryad: http://dryad.stanford.edu27. Arbaro: http://arbaro.sourceforge.net28. SpeedTree: http://www.speedtree.com29. Xfrog: http://www.xfrog.com/30. Tree[d]: http://www.frecle.net/forum/viewtopic.php?t=780