220 likes | 323 Views
Virtual Museum. Eugeni Casadesús , Ramón Oliva & Miguel Pasenau 2012, January 24th. Virtual Reality, Immersive Interaction, Usability and Presence (RVA) course Master in Computing ( LSI – UPC). Contents. Goal Implementation Results Conclusions. Contents. Goal Implementation Results
E N D
Virtual Museum EugeniCasadesús, Ramón Oliva & Miguel Pasenau 2012, January 24th Virtual Reality, Immersive Interaction, Usability and Presence (RVA) course Master in Computing ( LSI – UPC)
Contents • Goal • Implementation • Results • Conclusions
Contents • Goal • Implementation • Results • Conclusions
Goal • Virtual Museum: 3 rooms • User can move around: • Collision detection • Objects exposed, selectable for inspection
Environment & tools • Cave or Power-Wall: • Limited space • User gestures to move around scene Kinect • VRJuggler: • Targets Cave, Power-Wall and desktop computer as well • Kinect interface: • Natural user gestures • NITE + OpenNI + FAAST • Bullet: collision detection
Contents • Goal • Implementation • Results • Conclusions
Museum floor plan 13.964 triangles
Objects 1.024 triangles 69.451 triangles 111.658 triangles 99.877 triangles 51.925 triangles 28.688 triangles 54.931 triangles 51.132 triangles 97.425 triangles
User movements • Start & finish navigation: left arm up • Forward, backward, left, right: • Segway: lean forward / backward: moves fw / bw • Rotate torso left / right: rotates left / right • Left arm up / down: starts / ends movement • Selection • Wand ? • Stretching arm ? • Help • Raising hand ?
VRJuggler approach • User stays fixed, scene moves • Init(): • Initialize devices • read ply models: walls, pedestals & objects • Create bullet physics: • Museum, objects and pedestals containers
VRJuggler approach • preFrame(): • Update physics • Gets and process kinect and other events data • Draw(): • Navigation mode: draw museum and objects • Inspection mode: draw selected object zoomed
Actual state • Museum, pedestals and objects are rendered • Collision detection is enabled • User movement is enabled: • Forward and backward, left and right turning • Starting Kinect integration: • Gestures recognition and application responds
VRJuggler issues • No x64 alone build & install • Only mixed x32 and x64 Linux build and install • Using x32 build: • https://github.com/rpavlik/vrjuggler-windows-binaries • Units in feet and inches, not meters • User centred, scene moving • No restrictions or definition of movements • No event filtering possible
Bullet + VRJuggler issues • User centred, scene moving • Translations whole scene is translated the hard way • Rotations whole scene is rotated the hard way • Collisions: • User: forward ray • Scene: bbox and cylinders • Object selection = collision wand ray - object
Kinect issues • Unstable FAAST 0.10 • Using .jconf: lot of noise • Gesture recognition using FAAST, associate with keys / events of vrjuggler
Contents • Goal • Implementation • Results • Conclusions
Results • Source code at: http://code.google.com/p/museum-navigator/
Contents • Goal • Implementation • Results • Conclusions
Conclusions • Developing a RV application: • Hard to do • Still a juggling art • VRJuggler: • Hard to build and install: documentation so-so • Only x32 is known to work • Bullet: easy to install and to start with • Kinect: difficult to incorporate to VRJuggler: • Gesture analysis and interpretation • Complicated device and proxies structure
References • Bullet documentation • VRJuggler documentation • FAAST documentation • http://www.keyboardmods.com/2010/12/howto-kinect-openninite-skeleton.html • https://github.com/avin2/SensorKinect • http://www.cs.unc.edu/Research/vrpn/
Virtual Museum Eugeni, Ramón Oliva & Miguel Pasenau 2012, January 24th Virtual Reality, Immersive Interaction, Usability and Presence (RVA) course Master in Computing ( LSI – UPC)