Powered by
JSPWiki v2.8.2
g2gp 17-01-2009
View PDF

Previous | Next | Contents

Section 3: Virtual Reality Methods and Techniques#

3.4 Building the world#

The process of preparing a storyboard involves defining the elements that are required to create the impression of objects and spaces in a virtual reality model and to enable users to interact with a world. For example, users of a model may be able to open the door of a building and to hear a welcome message. This simple interaction is made up of a number of separate elements which must be defined in the project storyboard because of the implications of creating them in terms of time and resources. This section of the Guide will introduce the objects, textures, sounds, animations and program scripts that make up a virtual world.

3.4.1 Objects

The objects that will make up your world can be created using authoring tools, CAD software, 3-D scanners or by stitching images together. The techniques that are used to produce objects will depend on the software platform in which the VR is being developed. For example, in Bubble Worlds (see Section 3.6) panoramic images are stitched together to create cylinders or spheres giving the impression of a three-dimensional space or object. In VRML (see Section 3.7), polygons are combined to create three-dimensional objects in the virtual world.

Authoring tools

Polygonal objects can be authored directly; for example VRML developers can use a text editor to define the facets and surfaces that make up an object in the modelling language. Another option is to use a VR authoring tool such as a polygonal modeller or 3-D authoring software (e.g. AutoCAD, 3D Studio Max) to ease the process. Polygonal modellers allow users to create objects from scratch or to edit objects that have been acquired from another source, such as an object library. Drafting software can be used either to draw an object from scratch or to create a model from measurements taken in the field, e.g. from a survey of a real-world building. CAD packages are often used to create 3-D models (see Eiteljorg et al. 2002) which are exported as VRML files or sometimes imported into VRML using conversion software.

The number of facets that make up an object has a direct impact on the speed with which the object is drawn on screen and also on file size. The more detailed an object is (i.e. the more facets it has) the longer it will take to draw and the larger the file size. Some polygonal modellers allow exact control over each facet that makes up an object. Such control helps to create an efficient world but editing each facet can be very time consuming. In these terms an efficient world is one that has struck an appropriate balance between detail and rendering speed for the platforms on which it will be used.

Optimisation tools are also available which improve efficiency by removing any unnecessary facets that slow down the rendering of the object. Some polygonal modellers automatically create less detailed versions of objects by reducing the number of facets. This is useful for Level of Detail (LOD) operations where less detailed versions of objects are successively replaced as the user's viewpoint recedes to set distances. LOD operations prevent the computer from rendering detailed objects that the user cannot 'see' from his or her viewpoint and help to speed up the rendering of the world.

3-D object scanners

3-D object scanners use either a laser or white light to capture the surface of an object as a point-cloud of co-ordinates. White light scanners also capture a colour texture map of the object. A range of different types of 3-D scanners is available. Some are designed to work at close range and are suitable for small objects while others work at ranges of up to 1000m and are suitable for use on buildings. Scanners remain very expensive at present.

Bubble worlds or panoramas

A bubble world is a seamless panorama which is created by stitching or blending one or more images together using a software application. The application joins the images together to create the illusion of a cylinder or a sphere and removes any obvious join lines between images. Some packages allow for the entire panorama to be exported to a third-party photographic manipulation package for editing.

Object libraries

Objects can be obtained from object libraries, for example the Web3-D Repository. Some objects are free, others are available for purchase and a wide range of different objects is available. Such objects can be combined with others that have been obtained from different libraries or ones that you have created using an authoring tool. Objects that have been created in one software package may be used in another – for example objects created in CAD are often converted to VRML. When obtaining such objects it is important to check:

  • That the objects have been saved in a format that can be read
  • The units of measurement in which the objects have been created. Objects can be scaled within the VR, but they may then lack detail or be overly complex for the scale at which they are viewed. Without scaling, the objects may appear to be either larger or smaller than they should be in relationship to other objects within the world
  • Whether objects have been optimised (unnecessary facets have been removed) so that they are rendered quickly in real-time applications
  • That any objects taken from an object library do not have copyright restrictions relating to them.

3.4.2 Textures

Texturing is a technique which involves applying images that represent surfaces, building materials or other surface details on 3-D models. It is an effective way of making virtual worlds appear more realistic. The textures can be created by taking photographs of real objects or by creating digital images. Each texture is stored as a bitmap or other image format (depending on the system used) and requires much more file space and rendering time than simply assigning a colour to a facet of an object. There are several ways of minimising file size and the time taken to draw objects:

  • Repeating a simple image over a facet rather than using a single image for the whole facet; this is called 'tiling'. For example the appearance of a brick wall may be created either by repeating an image of a row of bricks or using an image of the whole wall
  • Creating textures at different levels of detail for use in LOD operations
  • Creating texture bitmaps at the lowest resolution possible
  • Minimising the number of facets used for an object
  • Providing texture-free versions of the world for users with slower modems
  • Using compression on image files to create smaller versions, e.g a jpeg version of a bmp file.

3.4.3 Sound

A wide range of tools is available for creating and capturing digital sound files for inclusion in VR worlds. Sounds and sound effects are also available from sound libraries.

3.4.4 Animation and scripts

Program scripts can be attached to the objects in your virtual world to animate them or to control what happens when users interact with them. Animations involve the movement of an object or viewpoint along a path that has been predefined in a script, for example in a fly-through. They often take place in response to a user action, for example opening a door, and may be repeated in a continuous loop or have a set start and finish point. Examples of animation and scripting include:

  • A user clicks on a door and the door opens or closes. The program script determines whether the open or close animation is run and controls the angle by which the door object rotates as it opens or closes
  • A user clicks on an avatar and hears a welcome message and sees the avatar's mouth opening and closing
  • When the user drags the mouse forwards, the viewpoint moves forwards until the user stops
  • If a user bumps into a wall then their movement stops
  • A fly-through or guided tour is repeated continuously as long as the world is active.

The combination of animation and scripted behaviour leads to worlds possessing rich levels of interactivity. Scripting requires programming skills and further development time. Different scripts can be used – Java and ECMAScript are examples but any programming language that browsers support will work. The language used must be carefully chosen if models are to be used on different browser platforms.

3.4.5 Finding out more

See the case study on Virtual Saltburn by the Sea by Clive Fencott for a discussion of the ways that textures, sounds and animations can be used in virtual worlds to shape user interactions.

The Web 3-D Repository maintains lists of authoring applications, software development resources and libraries of objects, sounds and textures.

Previous | Next | Contents