The Bespoke 3DUI XNA Framework: a Low-Cost Platform for Prototyping 3D Spatial Interfaces in Video Games

The Bespoke 3DUI XNA Framework: a Low-Cost Platform for Prototyping 3D Spatial Interfaces in Video Games

The Bespoke 3DUI XNA Framework: A Low-Cost Platform for Prototyping 3D Spatial Interfaces in Video Games Paul D. Varcholik* Joseph J. LaViola Jr.† Charles Hughes‡ Media Convergence Laboratory School of Electrical Engineering School of Electrical Engineering Institute for Simulation & Training and Computer Science and Computer Science University of Central Florida University of Central Florida University of Central Florida Abstract High-Level Non-Functional Requirements • Commercial-off-the-shelf (COTS) hardware This paper presents the Bespoke 3DUI XNA Framework, an • Open-source software open-source software platform for research in 3D user interaction. • Modern programming language, accessible to The Bespoke 3DUI XNA Framework distinguishes itself from novice software developers other platforms, in that it provides 3D user interface machinery in • Broad application a game development framework. This combination leverages low- • Extensibility cost, widely available game technologies, enabling researchers to investigate 3DUI techniques, and providing game developers a Primary Components foundation for prototyping 3DUIs in commercial video games. • 2D/3D graphics rendering The paper explores the functionality and utility of the • 6DOF head tracking software library and describes how researchers and game makers • 3D motion controller (ala Nintendo Wiimote) can leverage the platform to investigate 3D user interfaces in the • Stereoscopic rendering context of prototypical interactive experiences. Secondary Components Keywords: 3DUI, user interface, framework, game development • Scene management • Content pipeline with support for common scene 1 Introduction elements (e.g. 3D models, animation, terrain) • 3D audio 3D user interfaces [Bowman 2004] give users the ability to • Network support (e.g. multiplayer services) spatially interact with 3D virtual worlds because they provide nat- • 2D/3D Gesture recognition ural mappings from human movement to interface controls. These • Physics interfaces, common in virtual and augmented reality applications, • Motion tracking (of multiple, non-head points (e.g. give users, rich, immersive, and interactive experiences that can hands, body or object) mimic the real world or provide magical, larger than life interac- • Chroma-key extraction tion metaphors [Katzourin 2006]. • Head-mounted displays With the latest generation of video game hardware, 3D user • 2D UI widgets (e.g. menus, buttons) interfaces are emerging as the gaming interaction paradigm of the • Recording user experience future. The popularity of devices such as the Sony Eye-Toy, the • Cross-platform communication Nintendo Wii, and 3D DLP HDTV are making it possible for gamers to interface with video games using 3D spatial input, and Notably, the requirements call for a generic platform for for developers to leverage concepts from virtual and augmented creating virtual environment but with a specific set of reality such as head tracking and stereoscopic vision. However, technologies for interacting with those worlds. In short, these developing software for these interfaces can be a daunting process requirements describe a game engine geared toward the input for newcomers due to hardware inaccessibility and a lack of 3DUI devices and displays involved in 3DUI development. software tools. Thus, investigators must overcome a number of This paper presents the Bespoke 3DUI XNA Framework, an technical challenges to develop a 3DUI platform before they can extensible, open-source software library developed to meet many begin research in this area. of these requirements, thereby enabling the rapid creation of Through an extensive literature review, and collaboration with sophisticated 3DUIs. A detailed discussion is provided on design 3DUI experts, we have compiled a set of requirements necessary decisions, compatible hardware, software architecture and the for a 3DUI research platform. These requirements can be employment of the framework. categorized into three areas: 1) high-level non-functional The work presented has been adopted by a number of requirements; 2) primary components essential for basic 3DUI university colleagues, members of the open-source community, research; and 3) secondary elements necessary for longer-term and as the development platform for a graduate course in 3DUIs research efforts. These categories include: at the University of Central Florida. This paper discusses feedback obtained from users of the framework as insight into the * [email protected] usefulness of the system. † [email protected][email protected] 2 Related Work The idea of providing an open-source framework for supporting 3D spatial interaction research and development is not new. There have been many different software frameworks and toolkits, such as the SVE toolkit [Kessler et al. 2000], VR Juggler [Bierbaum et al. 2001], DIVERSE [Kelso et al. 2003], 3DUI applications, the Framework supports particular hardware Studierstube [Schmalstieg et al. 2002], ARToolKit [Kato 1999], for stereoscopic rendering, 6DOF head tracking, and 3D motion and the VARU Framework [Irawati et al. 2008], that aid in control. Figure 1 pictures a development workstation and typical developing spatial 3D interfaces. However, these frameworks and hardware employed for creating games and 3DUIs with the toolkits were designed with more conventional VR and AR Bespoke 3DUI XNA Framework. The specific hardware applications in mind. Thus, they lack the video game specific components and their corresponding Framework elements are development tools that the Bespoke 3DUI XNA Framework described in the sections below. provides. There are several open source game toolkits available that make it easier to build video games by providing important infrastructure components such as 3D rendering, asset management, sound, event handling, scene graph support, and physics simulation. Examples of these types of toolkits include the Microsoft XNA Game Studio [Microsoft 2009], Panda3D [Goslin 2004], and Delta3D [Delta3D 2009]. Although these game development environments provide sophisticated tools and support for developing video games, they generally do not focus on 3DUI and virtual reality-based games. One development framework that is closest in spirit to the Bespoke 3DUI XNA Framework is Goblin XNA [Oda 2007]. Goblin XNA is a framework for research on 3D user interfaces, including mobile augmented reality and virtual reality, with an emphasis on games. It is written in C# and based on the Microsoft Figure 1: Development workstation XNA platform [Microsoft 2009]. Goblin XNA has many similarities to the Bespoke 3DUI XNA Framework in terms of 3.1 Stereoscopic Rendering using XNA as its underlying platform and supporting head tracking and 3D spatial interfaces. However, Goblin XNA is For stereoscopic rendering, we targeted the 3D DLP HDTV primarily focused on augmented reality games while the Bespoke technology from Texas Instruments [Texas Instruments 2009]. 3DUI XNA Framework targets virtual reality-based games using This technology, incorporated into television sets by Mitsubishi 3D TVs and monitors and 3D motion controllers. To the best of and Samsung, generates independent views for the left and right our knowledge, the Bespoke 3DUI XNA Framework is one of the eyes. The television is optically synchronized with a pair of first development environments to provide comprehensive support shutter glasses worn by the viewer, and supplies images at 60Hz for both 3D spatial interfaces and video game creation. per eye (equivalent to 120Hz). To present the viewer with a 3D image, the video source must supply the television with an image 3 The Bespoke 3DUI XNA Framework stream following Texas Instrument’s 3D Image Format [Hutchison 2008]. This format calls for the left and right eye The Bespoke 3DUI XNA Framework is organized as a collection images to be masked with alternate checkerboard patterns and of .NET assemblies, application samples, and documentation; and then combined into a single image before transmission to the is packaged within a Windows installer for easy distribution and television. The 3D DLP technology correspondingly samples the inclusion of third-party dependencies. The Framework is written interleaved image, reconstructing the left and right eye images for in the C# programming language and targets the .NET 3.0 subsequent display. Framework and .NET 2.0 runtime. As the name implies, the The Bespoke 3DUI XNA Framework supports the 3D DLP Bespoke 3DUI XNA Framework is built on top of the Microsoft HDTV technology through: XNA platform. XNA is a set of software libraries, tools, and community resources “focused on enabling game developers to be 1. A stereoscopic camera component successful on Microsoft gaming platforms” [Microsoft 2009]. We 2. Independent render targets chose C# and XNA to match our requirement of a system that 3. Shader-based image masking utilized a modern programming language, and one accessible to novice software developers. We have anecdotal evidence, from The stereoscopic camera component defines the concept of a many years of instruction on software development, that C# does left and right eye to correctly present the virtual camera’s view indeed meet the criteria of a modern language that is approachable and projection matrices from the corresponding perspective. The by novice programmers; and yet the environment is powerful eyes are separated by a user-configurable interpupillary distance. enough to support real-time interactive simulation and games.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us