Structured Design of Interactive VR Applications Krzysztof Walczak * * Department of Information Technology, PoznaĔ University of Economics, Poland Abstract A novel approach to structured design of complex interactive virtual reality applications, called Flex-VR, is presented. Two main elements of the approach are: first, componentization of VR content, which enables to dynamically compose interactive behavior-rich virtual scenes from independent components, and second, a high-level VR content model, which enables users to easily create and manipulate complex VR application content. CR Categories: I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism – Virtual reality; H.5.1 [Information Interfaces and Presentation]: Multimedia Information Systems – Artificial, augmented, and virtual realities Keywords: virtual reality, 3D web, interactive 3D, behavior modeling, Flex-VR, Beh-VR 1. Introduction One of the main problems that currently limit wide use of VR applications on everyday basis is related to the creation of complex interactive behavior-rich content. Practical VR applications require large amounts of content, which – in most cases – must be created by domain experts (e.g., museum curators, teachers, salesmen). Only the involvement of domain experts guarantees sufficient amount of high-quality usable content, which may contribute to wider adoption of VR applications in everyday use. However, domain experts cannot be expected to have experience in 3D design and programming. In this paper, we propose a novel approach to building interactive VR applications based on the Web 3D standards. The approach, called Flex-VR, enables building configurable 3D web applications, in which content can be easily created and modified by common users. The remainder of this paper is organized as follows. Section 2 provides an overview of the state of the art in 3D content creation and programming. Section 3 contains an overview of the Flex-VR approach. In Section 4, the Beh-VR component model is described in details. In Section 5, the Flex-VR content model is presented. Section 6 provides an example of a Flex-VR application. Finally, Section 7 concludes the paper. * e-mail: walczak@kti.ae.poznan.pl 2. State of the Art 2.1 Creation of 3D content The most important standards for describing three-dimensional content on the web are VRML/X3D [VRML, X3D] and MPEG-4 [MPEG-4]. Preparation of interactive 3D web content involves three steps: creation of 3D models and animations, assembling the models into virtual scenes and programming scenes’ behavior. Increasing availability of automatic or semi-automatic 3D scanning tools helps in acquisition of accurate 3D models of real objects or interiors [Sitnik et al., 2005][Hengel et al. 2007]. Progress is still needed to make the process fully automatic, enable scanning of objects with arbitrary shapes and animated objects, and acquisition of advanced surface properties, but the progress in this field is very fast. Designers can use 3D design packages such as Autodesk’s 3ds max, Maya, Softimage’s XSI or open source Blender to refine or enhance the scanned models and to create imaginary objects. The same tools can be used to assemble the 3D objects into complex virtual scenes. Programming behavior of a virtual scene is usually the most challenging task. In VRML/X3D/MPEG-4 behavior specification is based on the dataflow paradigm. Each node can have a number of input (eventIn) and output (eventOut) fields that receive and send events. The fields can be interconnected by routes, which pass events between the nodes. For example, a touch sensor node may generate an event, which is routed to a script that implements some logic. As a result of the event processing, the script may generate another event, which may be routed to some execution unit, e.g. initiate a time sensor, which is further connected to a position interpolator, which may be connected to a transformation node containing some geometry. In such a way activation of the touch sensor may start animation of some geometry in the scene. The dataflow programming is a powerful concept, which enables efficient implementation of interactive 3D graphics, in particular providing smooth animations, inherently supporting concurrent execution, and enabling various kinds of optimization. However, this approach has also several important disadvantages, which become more and more apparent with the shift from static 3D web content model to behavior-rich 3D web applications model [Bues et al., 2008]. First of all, programming complex interactions in this approach is a tedious task. In the example with a touch sensor given above many lines of code are required to implement a simple animation, which – in fact – could be, in most cases, replaced by a single command, such as Object.MoveTo(x,y,z,time). Moreover, the code is not really readable for a programmer. For example, in many cases the nodes and routes must be separated in the scene. The 13th International Symposium on 3D Web Technology Web3D 2008, Aug 9-10, 2008, pp. 105-113