Improving Usability in Procedural Modeling

Rheinische Friedrich-Wilhelms-Universität Bonn, Feb. 2013
 

Abstract

This work presents new approaches and algorithms for procedural modeling geared towards user convenience and improving usability, in order to increase artists’ productivity. Procedural models create geometry for 3D models from sets of rules. Existing approaches that allow to model trees, buildings, and terrain are reviewed and possible improvements are discussed. A new visual programming language for procedural modeling is discussed, where the user connects operators to visual programs called model graphs. These operators create geometry with textures, assign or evaluate variables or control the sequence of operations. When the user moves control points using the mouse in 3D space, the model graph is executed to change the geometry interactively. Thus, model graphs combine the creativity of freehand modeling with the power of programmed modeling while displaying the program structure more clearly than textbased approaches. Usability is increased as a result of these advantages.

Also, an interactive editor for botanical trees is demonstrated. In contrast to previous tree modeling systems, we propose linking rules, parameters and geometry to semantic entities. This has the advantage that problems of associating parameters and instances are completely avoided. When an entity is clicked in the viewport, its parameters are displayed immediately, changes are applied to selected entities, and viewport editing operations are reflected in the parameter set. Furthermore, we store the entities in a hierarchical data structure and allow the user to activate recursive traversal via selection options for all editing operations. The user may choose to apply viewport or parameter changes to a single entity or many entities at once, and only the geometry for the affected entities needs to be updated. The proposed user interface simplifies the modeling process and increases productivity.

Interactive editing approaches for 3D models often allow more precise control over a model than a global set of parameters that is used to generate a shape. However, usually scripted procedural modeling generates shapes directly from a fixed set of parameters, and interactive editing mostly uses a fixed set of tools. We propose to use scripts not only to generate models, but also for manipulating the models. A base script would set up the state of an object, and tool scripts would modify that state. The base script and the tool scripts generate geometry when necessary. Together, such a collection of scripts forms a template, and templates can be created for various types of objects. We examine how templates simplify the procedural modeling workflow by allowing for editing operations that are context-sensitive, flexible and powerful at the same time.

Many algorithms have been published that produce geometry for fictional landscapes. There are algorithms which produce terrain with minimal setup time, allowing to adapt the level of detail as the user zooms into the landscape. However, these approaches lack plausible river networks, and algorithms that create eroded terrain with river networks require a user to supervise creation and minutes or hours of computation. In contrast to that, this work demonstrates an algorithm that creates terrain with plausible river networks and adaptive level of detail with no more than a few seconds of preprocessing. While the system can be configured using parameters, this text focuses on the algorithm that produces the rivers. However, integrating more tools for user-controlled editing of terrain would be possible.

Stichwörter: 1-2-tree, buildings, landscapes, plab, planets, plants, plugin, procedural modeling

Bibtex

@PHDTHESIS{bganster2013,
    author = {Ganster, Bj{\"o}rn},
     title = {Improving Usability in Procedural Modeling},
      year = {2013},
     month = feb,
    school = {Rheinische Friedrich-Wilhelms-Universit{\"a}t Bonn},
  keywords = {1-2-tree, buildings, landscapes, plab, planets, plants, plugin, procedural modeling},
  abstract = {This work presents new approaches and algorithms for procedural modeling geared
              towards user convenience and improving usability, in order to increase artists’ productivity.
              Procedural models create geometry for 3D models from sets of rules. Existing
              approaches that allow to model trees, buildings, and terrain are reviewed and possible
              improvements are discussed. A new visual programming language for procedural modeling
              is discussed, where the user connects operators to visual programs called model
              graphs. These operators create geometry with textures, assign or evaluate variables
              or control the sequence of operations. When the user moves control points using the
              mouse in 3D space, the model graph is executed to change the geometry interactively.
              Thus, model graphs combine the creativity of freehand modeling with the power of
              programmed modeling while displaying the program structure more clearly than textbased
              approaches. Usability is increased as a result of these advantages.
              
              Also, an interactive editor for botanical trees is demonstrated. In contrast to previous
              tree modeling systems, we propose linking rules, parameters and geometry to semantic
              entities. This has the advantage that problems of associating parameters and instances
              are completely avoided. When an entity is clicked in the viewport, its parameters are
              displayed immediately, changes are applied to selected entities, and viewport editing
              operations are reflected in the parameter set. Furthermore, we store the entities in a hierarchical
              data structure and allow the user to activate recursive traversal via selection
              options for all editing operations. The user may choose to apply viewport or parameter
              changes to a single entity or many entities at once, and only the geometry for the
              affected entities needs to be updated. The proposed user interface simplifies the modeling
              process and increases productivity.
              
              Interactive editing approaches for 3D models often allow more precise control over a
              model than a global set of parameters that is used to generate a shape. However, usually
              scripted procedural modeling generates shapes directly from a fixed set of parameters,
              and interactive editing mostly uses a fixed set of tools. We propose to use scripts not
              only to generate models, but also for manipulating the models. A base script would
              set up the state of an object, and tool scripts would modify that state. The base script
              and the tool scripts generate geometry when necessary. Together, such a collection of
              scripts forms a template, and templates can be created for various types of objects. We
              examine how templates simplify the procedural modeling workflow by allowing for
              editing operations that are context-sensitive, flexible and powerful at the same time.
              
              Many algorithms have been published that produce geometry for fictional landscapes.
              There are algorithms which produce terrain with minimal setup time, allowing to adapt
              the level of detail as the user zooms into the landscape. However, these approaches
              lack plausible river networks, and algorithms that create eroded terrain with river networks
              require a user to supervise creation and minutes or hours of computation. In
              contrast to that, this work demonstrates an algorithm that creates terrain with plausible
              river networks and adaptive level of detail with no more than a few seconds of preprocessing.
              While the system can be configured using parameters, this text focuses on the
              algorithm that produces the rivers. However, integrating more tools for user-controlled
              editing of terrain would be possible.},
       url = {http://hss.ulb.uni-bonn.de/2013/3124/3124.htm}
}