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
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.
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 firstname.lastname@example.org.
Copyright © 1998 Aesthetic Solutions, Inc. All Rights Reserved.