A E S T H E T I C S O L U T I O N S
F E A T U R E D W H I T E P A P E R
Introduction to Aesthetic Visions Component-Based VR
technology
The Aesthetic Visions Development Model
Aesthetic Solutions has developed a unique new Virtual Reality
(VR) authoring toolset that has been designed to allow both expert and novice
developers to create and deploy virtual worlds on personal computers and over the Web.
This technology makes use of a patent-pending software component technology and
development model in which content creation is divided into a series of distinct stages.
At each stage, development focuses on a different kind of content and different kinds of
development skills are required. The content created at each stage is designed to be used
as a template for the next stage, thus creating an environment in which even a small
amount of content created at a lower stage can be used to form a great deal of content at
a higher stage through reuse and recombination. This development model is graphically
illustrated in Figure 1.

Figure 1: The Aesthetic Visions Development Model
At stage one of the model, raw material content is created. This is artistic content
(e.g., 3D models, textures, and audio clips) and requires a flair for graphics and/or
sound. In the component model, content at this level is referred to as
"asset-level" content because it is used as the basis for creating some higher
level content and cannot be used by itself in an application environment. Content at this
level is designed to be used as part of a component, which is created at the next level of
development. Within a component, such raw material content might take the form of an arm
or leg, a grass or rock surface, or a sound emitted by some behavior.
At stage two of the model, component content is created. This is programming content
(e.g., a scene graph, a set of algorithms, and a set of data structures) and requires some
knowledge of 3D graphics as well as C++ or Java programming. It is at this level that the
Aesthetic Visions development model begins to differentiate itself from other forms of VR
development. The component is far more than just a 3D model with textures. The component
is actually a template that includes a scene graph in which models and textures have been
organized into something known as a part hierarchy, a set of behaviors with optional rules
that determine inter-behavior relationships, and a set of user-defined data fields known
as attributes. Components are also assets that can be used to create one or more virtual
characters in a complete and functioning virtual world.
At stage three of the model, world content is created. This is application content that
might include the modeling of a place in the real world (e.g., architectural walkthrough),
the construction of a fictional world (e.g., alien planet in a game), or a concept for the
communication of information by analogy with the familiar (e.g., a virtual-city model of
the web). Only knowledge of the application itself is required to develop at this level.
At stage four of the model, view content is created. This is user interfacing content that might include the manner in which the virtual world is controlled or interacted with including the use of standard Input/Output (I/O) devices such as a keyboard and monitor or the use of special I/O devices such as a Head Mounted Display or data glove. User interface development does not require low level programming and can be performed by setting up simple connections between the actions performed by I/O devices and the actions that characters in the virtual world are capable of.

Figure 2: An example Aesthetic Visions 3D world (Note: shown in low-resolution)
An Aesthetic Visions Example
To illustrate how a component-based world is created, consider an example world in which a
robotic arm is used to manipulate another object within its reach. A snapshot of this
world is shown in Figure 2. In this world, the table, the block and sphere on the table,
and the trash bin are all objects that have been created using components. The component
used to create the table, sphere, block, and trash bin are relatively simple and contain
the models used to determine their appearance and attribute information needed to govern
their interaction (e.g., weight). These objects also contain a behavior which allows each
of them to obey the law of gravity and thus fall when they are dropped. The robotic arm
was created from a component in which several additional behaviors have been specified
including several behaviors for joint articulation and a behavior that can be used to pick
up objects. The world was assembled by generating or "instantiating" the objects
shown using their associated component templates. New and different worlds can be easily
created by using the same components in different combinations (e.g., two spheres or two
blocks), by adding objects generated from new components (cubes and cylinders), or by
placing one or more of the existing components into a new environment (e.g., generating
the robotic arm in a virtual factory with a conveyer belt). In the last scenario, objects
could be lifted by the robotic arm and dropped onto the conveyer belt where they would be
conveyed into the trash bin. The user interfacing can be setup in the form of a view in
which specific keyboard strokes are mapped into the robotic arms movement and
picking behaviors.
The Aesthetic Visions Toolset
The component technology and development model described previously is the basis for the
Aesthetic Visions toolset. This toolset, when complete, will include three tools known as
Aesthetic World Visions, Aesthetic Component Visions, and Aesthetic User
Visions. These three tools are designed to provide support for the last three stages
of the development model as shown in Figure 1. The initial stage of development, raw
material development, was intended to be supported by third party tools such as 3D
modelers (for models), 2D paint and imaging programs (for textures), and audio editing
programs (for sound). Aesthetic Component Visions and Aesthetic World Visions
are both designed to import raw material from such third party tools in a variety of
widely supported formats.
Aesthetic World Visions is a world "assembly" tool that allows users to
quickly create virtual worlds using prefabricated components. This tool is currently
available in trial version form at
the Aesthetic Solutions web site (www.aesthetic.com). No programming is required. There is
no "scene-graph" to edit and there are no "scripts" or VRML nodes to
program. Objects are added to a world using an object generator. The object generator
maintains a list of installed components and provides a means for generating a single
object or a series of objects from a selected component. Once an object is created, it can
be positioned in the world using a simple dialog or special "manipulators" that
move an object interactively in 3D. Behaviors can be activated by simply turning them on
and off with check boxes and attributes values can be set with simple dialogs. Other
features include the ability to add three different kinds of lights, fog effects,
background coloring, special sensors, camera viewpoints, and routes, which are essentially
connections between various object fields and events. Once configured, worlds can be
tested in-place and then exported for use with VRML-based browsers thus providing an
environment that is suitable both for novice virtual world developers and more experienced
developers wanting a rapid develop-and-test environment.
Aesthetic Component Visions is a component development tool that allows users to
create components by importing raw material (e.g., 3D models and textures). These raw
materials can also be organized and edited within the tool which supports vertex level
manipulation and material editing. Component specific information such as behaviors and
attributes can also be added and animations can be developed and tested in-place.
Behaviors can be developed for various target environments including VRML browsers and the
special Aesthetic Visions Player which provides a dynamic, C++-based run-time with
complete access to object content through a custom Application Programming Interface
(API). Once completed or edited, components can be permanently installed for use by other
tools such as Aesthetic World Visions which is capable of choosing the appropriate
behavior, if available, for the selected target environment.
Aesthetic User Visions is a user interface or "view" development tool that
allows users to configure the way in which a component -based world interacts with a user.
This configuration is done by selecting which Input/Output (I/O) devices are going to be
used and mapping various actions from these devices into actions of objects in the world
and vice versa. For example, a two button mouse could be selected and a right button click
could be mapped into the activation of a run behavior on a human object. This would make
the object begin to run when the right mouse button is clicked. Until VRML and browser
technology evolves to support such user interface customization, the output from this tool
will require the special Aesthetic Vision Player.
Aesthetic Visions and VRML Compatibility
While the Aesthetic Visions toolset is capable of exporting VRML 2.0 compatible
source, it is not a VRML authoring toolset, per se. You should therefore not expect to see
a VRML scene nor should you expect to create or edit VRML "nodes" under normal
circumstances. If you are familiar with VRML and like to tinker at the VRML level, then
Aesthetic Component Visions is the tool for you. This tool lets you work at the
lowest level of geometry (i.e., shapes and points) and provides the ability to see and
work with actual VRML geometry and material nodes and constructs. This is possible
because, internally, the Aesthetic Visions technology is VRML-based even though many
new concepts and structures have been introduced. The key is that the tools must place
certain constraints on the use of VRML technology to support the component -based
approach. While this may seem unacceptable to many serious VRML developers, it was
necessary to create a toolset that was capable of supporting both the expert and casual
developer. The fact that Aesthetic Component Visions can import and assimilate VRML
geometry created by third party modelers, many of which can create extremely complicated,
texture mapped models, alleviates this problem to a great extent and actually allows the
toolset to compliment, rather than replace, the functionality that is already being
provided by sophisticated, expert-oriented 3D tools such as modelers. The Aesthetic
Visions toolset basically picks up where the modeler leaves off by providing the
ability to create an integrated component complete with models, behaviors, and user
defined attributes.
As a high level, component-based, world assembly tool, Aesthetic World Visions does
not expose the user directly to VRML at any level. This tool does make use of VRML
concepts and terminology at several levels, however. For example, Aesthetic World
Visions includes VRML-like concepts and terminology such as sensors and routes. As
you use the tool, you will notice that the use of such constructs is carefully controlled.
Certain types of sensors (e.g., touch sensors) are available only as attached constructs.
You can attach a touch sensor to any object but you cannot attach a touch sensor to an
arbitrary piece of geometry within an object at least not in the current version of
the tool. Other types of sensors (e.g., proximity sensors) can be placed anywhere in a
world because they are affected by camera, rather than object, position. Similarly, route
editing (the connection of data structures through events) is also constrained to some
degree, but the tool attempts to eliminate the complexity of route editing by providing a
simple point and select mechanism that is completely type safe (e.g., you cannot connect a
three value vector to a single value boolean). This eliminates any worries the user might
have about generating world that would result in browser errors and thus eliminates the
need for any knowledge of VRML syntax or debugging.
For those users familiar with VRML and its (ongoing) evolution, one of the biggest
problems is compatibility across browsers. While the consolidation of VRML browser
technology is helping, there are still many differences between browsers. One of the major
browsers, for example, does not currently support nested prototypes correctly even though
the VRML standard places no restrictions on the use of nested prototypes. An even bigger
problem has to do with scripting. The current standard Java and JavaScript APIs
specified in the VRML standards appendices are fairly limited in what they allow you
to do in scripts. More comprehensive APIs, such as the External Authoring Interface
(EAI), have been proposed, but are not yet part of the standard and are therefore not
supported by all browsers. This makes it difficult to write interesting, generic, and
truly portable VRML behaviors. One mechanism that Aesthetic Visions uses to address
these incompatibilities is the notion of re-targeting. Whereas a component definition is
always the same, the actual implementation of certain facets of a component are allowed to
vary by the toolset. A single behavior, for example, might have implementations in C++,
"Browser A" compatible JavaScript, and "Browser B" compatible Java.
The tool chooses the appropriate implementation based on the target selected by the user
for deployment. In this way, the toolset can be adapted to target even proprietary
run-time environments by simply providing the appropriate implementations.
Summary
In summary, the Aesthetic Visions toolset has been designed to provide an authoring
solution for the broadest possible audience with an ability to target a variety of
run-time environments including several flavors of browser-specific VRML. Each tool
performs a specific task in the overall development cycle. Aesthetic World Visions
and Aesthetic User Visions operate at a world (i.e., application) assembly level
using an approach that can be mastered by casual as well as expert developers. Aesthetic
Component Visions is designed to be more of an expert development tool that can be
used to create and configure reusable assets as the lowest levels of programming and
graphic design. The assets created by Aesthetic Component Visions are known as
components and are essentially templates that can be used by Aesthetic World Visions
as part of its rapid world assembly and testing capability. It is important to realize
that the Aesthetic Visions tools are not VRML authoring tools in the normal sense.
Expert VRML developers should therefore not expect to see and manipulate a VRML scene
graph when assembling a world. Nevertheless, VRML compatibility is a key facet of the
toolsets capability and the internal content of the toolset is stored and managed in
a VRML format which is exposed to the more expert user in some tools. Most importantly,
worlds created with the toolset can be exported and played with VRML 2.0 compliant
browsers for easy deployment over the Web.
Please feel free to visit our website at www.aesthetic.com to get the latest information
on the toolset, download
the latest (free) trial versions of our tools, or order individual tools and component
libraries.
Send comments to webmaster@aesthetic.com.
Copyright © 1998 Aesthetic Solutions, Inc. All Rights Reserved.