Bubble Menu

From Immersive Visualization Lab Wiki
Jump to: navigation, search


Project Overview

The purpose of this project is to create a new 3D user interface designed to be controlled using a Microsoft Kinect. The new menu system is based on wireframe spheres, which are designed to be selected using gestures. Standard menu buttons are long, horizontal rectangles, which are easily selectable with a mouse or cursor, but do not lend themselves well to easy selection by hand gesture. We decided on wireframe spheres to provide both easy selection and a pleasing aesthetic to the menu.

The Bubble Menu also features animated menu transitions, a customizable favorites menu, and configurable sound effects. Upon opening a submenu, the menu children are spawn from within the submenu and animated out to their radial positions. Double clicking on a button sends a copy of it to the favorites menu, and so can remain in use when all submenus are closed. Customizable sound effects, using the OpenAL Audio Server, are played on button clicks and menu transitions.

This new menu has been developed within the existing CalVR framework, and so is compatible with all existing menus, requiring no changes to pre-existing code. The BubbleMenu is compiled with CalVR by default.



An example of a CalVR config file with the BubbleMenu enabled:

<MenuSystem type="BUBBLEMENU">
     <Position distance="100" height="50" />
     <AnimationSpeed value="0.75" />
     <Scale value="1.0" />
     <Buttons select="0" open="1" />
     <Trigger value="DOUBLECLICK" />
     <Spheres radius="50" tessellations="12" subradius="250" />
     <SphereColor r="0.0" g="1.0" b="0.0" a="0.0" />
     <TextSize value="15.0" />

    <Sound value="on">
        <Server value="" />
        <Port value ="31231" />
        <ClickSound path="/home/calvr/data/BubbleMenuSound/buttons/on_deny" file="bass_deny.wav" />
        <MenuSound path="/home/calvr/data/BubbleMenuSound/whooshes" file="short_whoosh6.wav" />



  • Menu geometry
  • Animated transitions
  • Customizable favorites bar
  • Sound effects


  • Kinect integration
  • Range sliders
  • 3D icon support


Software Developers:

  • Cathy Hughes

Project Advisors:

Dev. Assistance:

  • Andrew Prudhomme
  • Philip Weber
  • Shreenidhi Chowkwale