Bibliography on Environment generation (WP3)
During our bibliographical work, finding articles was pretty easy, though selecting the ones we will implement was a bit more difficult. We chose to use Layered Architectures, so we can implement “interactions” between pieces of environment that will be automatically processed. We found this concept very elegant and chose to continue with articles using this kind of technique.
We suppose that the global environment is divided into several types of environments (cities, forests, mountains, …), we denote by feature a type of environment. Our goal is to allow the user to “draw” the different features on a map, and then generate automatically the corresponding 3D environment.
The main architecture comes from DeclarativeArchitecture. It is a layered architecture, from large-scale features to low-scale ones. Each feature covers a user-delimited area, which may be further reduced because of conflicts with the surrounding features. The modularity of the architecture allows features to be edited independently of each other. The output may include: a height map, a texture map and additional objects to be added on top of this such as: a water map, vegetation or buildings. The height map is generated using the tree structure described in FeatureTree. The conversion from the layered architecture amounts to choosing the appropriate merging nodes: the leaves are exactly the features of the layers. Furthermore, this representation can compute the height of the final map at any point, allowing a greater level of detail when and where needed.
Generating cities is done in three consecutive steps:
Create the road network. This will be done using the method proposed in StreetTensors, which seems to support easy edition.
Divide each block into parcels, following the method given in PGParcels.
Generate a building in each parcel. This can be done either using predefined buildings or procedurally generated using L-systems, as in FLSystem.
Environment plugin development (WP5)
The articles mentioned in part [WP3] describe quite precisely the algorithms usable to build and merge the different features. The work done for the code of the environment part was to organise the different algorithms into several classes (summarised on Figure [env_classes]). The main classes are:
This class is like an abstract class. It is the base from which every feature inherit, to allow us to manipulate generic feature in our code.
This class build the tree of the features, depending on their positions and thus their interactions. It also solves the “merge” of the different features.
This one is the final 3D environment, which uses the 3D models and the feature tree to build the 3D environment.
This class is the only one depending on Blender, it converts the Environment class to allow it to be displayed and used into Blender.
References le jeu
Artist, Blender. n.d. “Blender Artist – Blender Wish List.” http://blenderartists.org/forum/showthread.php?382832-Blender-wish-list.
Blend’it, WP0. n.d. “Blendit Website.” http://blendit.github.io/.
———. n.d. “Meeting Notes.” https://github.com/blendit/pib/wiki/Comptes-rendus.
Chen, Guoning, Gregory Esch, Peter Wonka, Pascal Müller, and Eugene Zhang. 2008. “Interactive Procedural Street Modeling.” ACM Trans. Graph. 27 (3). New York, NY, USA: ACM: 103:1–103:10. doi:10.1145/1360612.1360702.
Crowd, Golaem. n.d. “Golaem Crowd Simulation for Maya.” http://golaem.com.
Foundation, Blender. n.d. “Blender Wiki – Animation of Objects.” https://www.blender.org/manual/animation/object_path.html.
———. n.d. “Blender Wiki – Ressources on Animated Walks.” http://wiki.blender.org/index.php/Dev:Ref/Requests/Animation2.6.
Génevaux, Jean-David, Eric Galin, Adrien Peytavie, Eric Guérin, Cyril Briquet, François Grosbellet, and Bedrich Benes. 2015. “Terrain Modelling from Feature Primitives.” Computer Graphics Forum 34 (6): 211–27. doi:10.1111/cgf.12530.
Guy, Stephen J., Jatin Chhugani, Sean Curtis, Pradeep Dubey, Ming Lin, and Dinesh Manocha. 2010. “PLEdestrians: A Least-Effort Approach to Crowd Simulation.” In Proceedings of the 2010 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, 119–28. SCA ’10. Aire-la-Ville, Switzerland, Switzerland: Eurographics Association. http://dl.acm.org/citation.cfm?id=1921427.1921446.
Lague, Sebastian. n.d. “Video Tutorial: Blender Character Animation: Walk Cycle.” https://www.youtube.com/watch?v=DuUWxUitJos.
Marvie, Jean-Eudes, Julien Perret, and Kadi Bouatouch. 2005. “FL-system : A Functional L-system for procedural geometric modeling.” Visual Computer, The visual computer, 21 (5). Springer Verlag: 329–39. https://hal.inria.fr/inria-00461514.
Multon, Franck, Laure France, Marie-Paule Cani, and Gilles Debunne. 1999. “Computer Animation of Human Walking: a Survey.” Journal of Visualization and Computer Animation 10. John Wiley & Sons: 39–54. https://hal.inria.fr/inria-00527534.
Rossum, Guido van, Barry Warsaw, and Nick Coghlan. n.d. “PEP-8 Coding Conventions for Python.” https://www.python.org/dev/peps/pep-0008/.
Smelik, R. M., T. Tutenel, K. J. De Kraker, and R. Bidarra. 2011. “A Declarative Approach to Procedural Modeling of Virtual Worlds.” Comput. Graph. 35 (2). Elmsford, NY, USA: Pergamon Press, Inc.: 352–63. doi:10.1016/j.cag.2010.11.011.
Software, Autodesk. n.d. “3DS Max Autodesk Software.” http://www.autodesk.fr/products/3ds-max/overview.
Software, Massive. n.d. “Massive Software.” http://www.massivesoftware.com/.
Vanegas, Carlos A., Tom Kelly, Basil Weber, Jan Halatsch, Daniel G. Aliaga, and Pascal Müller. 2012. “Procedural Generation of Parcels in Urban Modeling.” Comput. Graph. Forum 31 (2pt3). Chichester, UK: The Eurographs Association & John Wiley & Sons, Ltd.: 681–90. doi:10.1111/j.1467-8659.2012.03047.x.