Building worlds

Skills required

VR and interactive 3D applications represent the convergence of many disciplines:

    Computer graphics, cognitive psychology, cybernetics, database design, real-time and distributed systems, electronics, robotics, multimedia, acoustics, physics, telepresence

In this course, we are primarily interested in software technologies and user interface design, but the development of VR hardware technology is an interesting and active area of research.

The most important skills for this course, which you will acquire/use, include 3D modelling, animation, programming, and user interface design. Multimedia production skills are certainly useful as things don't get much more "multimedia" than this - 3D worlds are not 'just' 3D geometry but can contain video, 2D animation, 2D graphics, images, (hyper)text, audio, ... Additional knowledge or interest in fields such as artificial intelligence, physics, acoustics, and distributed systems, will enable you to do really exciting things in 3D.

Development process

The nature of world building projects varies greatly, from projects where the main focus is on modelling geometry to projects where the focus is on writing software.

Some useful points:

  • The development process used should reflect the requirements of the project.
  • In general, when doing project work, you should create a project plan and a requirements specification.
  • When building large interactive virtual worlds, it can be difficult to know when a project is finished so the requirements specification should contain some indication of performance/quality targets in additional to the usual functional requirements.
  • The nature of the "system design" can vary from sketches, storyboards, and maps to a traditional software design document, but will typically be a combination of both.
  • Good planning is the key to success since the structure of 3D objects, their behaviour, and their run-time performance are closely related. A poorly planned scene and object structure can cause serious problems later in a project resulting in additional work restructing models so that they can be used as intended.

A typical VR system

Software tools

Examples of the kinds of software tools used to build virtual worlds:

  • 3D Modelling stage
    • Polygon-oriented modelling or 3D scanning tools
    • Geometry optimisation tools
    • Image-manipulation tools
  • VR simulation development stage
    • Scripting/programming and animation tools
  • Run-time stage
    • Real-time visual/audio rendering engine
    • User I/O handling process
    • Simulation process
    • Virtual environment geometry database

Note that the 3D modelling stage can also involve modelling of 3D audio environments and/or the design of algorithms for visualising data sets.

One particular challenge is that the modelling and simulation development stages are often iterative processes. This can be difficult to manage. In general, it is recommended that geometry and behaviour are clearly separated so that changes can be made to the geometry without losing behaviour definitions.




Michael Louka, October 10, 2001