Developing a VR System Mei Yii Lim
System Development Life Cycle - Spiral Model Problem definition Preliminary study System Analysis and Design System Development System Testing System Evaluation Refinement
Case Study: MY Virtual Graffiti System
Introduction graffiti - Greek word graphein Modern graffiti - New York, tagging using water resistant marker Today - using aerosol spray Rude, humorous, political or constituting vandalism and is generally illegal
Problem Objectives What do you aim to achieve? Solution to the problem of illegality Preserves and documents art works Virtual spray on virtual buildings Flexibility and natural interaction Realistic reproduction of the spray User-friendly and intuitive interface
Problem Definition
Problem Definition Define the problem you are trying to solve What are the major issues?
Project Benefits What are the benefits of the project? Why is it so important? Expression of opinions, creativity lawfully Coping with society s problems London councils - 13m and graffiti committee - 100m spent annually on cleaning up graffiti New type of art, uncover hidden talent
Project Management Project scheduling Divides work into smaller chunks - Gantt Chart Risk Analysis Degree of uncertainty or potential problems Eg. lack of knowledge, inappropriate or difficult to use interaction devices, simulation algorithm, underestimation of time
Project Management Risk Planning continued Best way for project with users as target - involve them Trial and error Project schedule must be realistic
Preliminary Study
Literature Review Find out the state-of-the-art Who has done what What can be improve What should be avoided
Literature Review of MYVG Eschler & Stricker 03 (Fraunhofer IGD) projection filled totally by a 2D wall Dave Pape - Vandalism alter existing artworks, 3D paintings and sculptures Lang Virtual Graffiti Painter and Light bombing MobSpray (mobile application) http://www.mobspray.com/indexphp
System Analysis
System Analysis Understand the requirements of the system you are going to develop Determine what is to be accomplished To ensure successful system development Human Computer Interaction concepts
Rapid Iterative Prototyping Offers the best approach for system which accurate requirements can not be defined at its early stage Prototype a mechanism for identifying the actual requirements Iterative and corrective cycle
Rapid Prototyping Development Cycle
Requirements Elicitation Fact-gathering active manipulation of conditions or passive observation of people Researching and reviewing existing documents Individual interviews Mailing list Observation demonstration from experts Questionaires - evaluation
Analysis with Justification Every choice must be justified Why a particular device or methodology is chosen and not the others?
Analysis Result of the MYVG system
MY Virtual Graffiti System CAVE Environment Graffiti using VR technologies 2 sensor gloves (pinch gloves) sensors
CAVE
MY Virtual Graffiti System Space Orb 360º (6 degree of freedom) Tracking system Dummy spray can with sensor Stereo glasses
Object-Oriented Model Use cases scenarios of usage Analysis model subsystems of the end product
System Requirements Specification Hardware requirements Software requirements Functionality description Non-functional requirements Interface specification Design constraints System validation and verification criteria
System Design
System Design How to accomplish the proposed functionality? How are all the VR devices linked together? Representation of the system
Architectural Design UML class diagrams - shows all available classes
Architectural Design Object-relationship model static model, reflects the object classes and their relationship
Architectural Design State diagram dynamic model Describes the behavior of the system, events
Architectural Design Sequence diagram illustrate each significant interaction between objects
Algorithm Design Pseudocode description of the program Example a method to create scene METHOD createscene char*(filename) returns pfscene* Generate scene state Add lighting Set traversal mask Load file RETURN scene END
Scenegraph
User Interface Design A useful system with a poor user interface = non-functional system HCI golden rules Know the user population Reduce cognitive load Engineer for errors Maintain consistency and clarity
WELCOME TO VIRTUAL GRAFFITI! SPRAY MODE BUTTON A / LEFT PINKIE CLEAR BUTTON B SAVE BUTTON C / LEFT MIDDLE NAVIGATE BUTTON D, PS / RIGHT INDEX RESET BUTTON E EXIT BUTTON F CLOSE MENU RIGHT PINKIE
SPRAYING MODE SPRAYING RIGHT MIDDLE COLOUR LEFT MIDDLE NOZZLE LEFT RING MAIN MENU LEFT PINKIE NAVIGATE RIGHT INDEX CLEAR RIGHT RING / BUTTON B CLOSE MENU RIGHT PINKIE
3D icon that appears while spraying Denote the size of the nozzle Denote the color of the nozzle
System Development and Testing
System Development Programming Example of Challenges Format incompatibility Incorrect hit points Correct Ray Plane A Bounding box
Number of rays Single ray Multiple rays
System Testing Tedious but essential for quality assurance Formal technical review Unit testing Integration testing
Risk Monitoring Throughout the whole life cycle to ensure that everything is under control Users opinions were checked Project progress was monitored
System Implementation and Evaluation
System Implementation Putting the system into operation Prototyping approach implementation is parallel with the development and testing phases
System Evaluation Acquire feedback for eventual improvement Formative evaluation usability evaluation Can be repetitive Each evaluation process serves as guide for changes in subsequent iterations
Example Initial Evaluation Half a dozen subjects 7.00 6.00 5.00 Bar Chart Representing Result of Initial Evaluation Engagement to environment Interaction devices Menus Commands Rating 4.00 3.00 2.00 1.00 Spraying action Navigation Spray paint simulation Speed of adjustment Real-time response Comfortable interaction Resemblance to real graffiti 0.00 Evaluation Attributes
Refinement Menu shift and simplification User manual was provided More flexible interaction Space Orb or pinch gloves Dummy spray can Allow deactivation of menu Bigger paint particles for wider coverage
7.00 6.00 5.00 Comparison Between Initial Evaluation Result and Final Evaluation Result Final System Evaluation Twenty subjects Rating 4.00 3.00 2.00 1.00 0.00 Engagement to environment Interaction devices Menus Commands User manual Spraying action Navigation Spray paint simulation Speed of adjustment Real-time response Comfortable interaction Resemblance to real graffiti Initial Evaluation Final Evaluatian Evlauation Attributes
Conclusion and Future Work
Achievements On schedule Improvement of skills Expansion of knowledge Chance to experiment with VR devices
Lessons Learned and Experiences Every development cycle should account for unexpected events Eg. Tools unavailability, lack of knowledge, system failure, power failure
Future Enhancements Wireless and pressure sensitive devices More attractive and user-friendly menu entails more extensive user involvement Collision detection and sound feedback
The System in Action
Further information http://www.macs.hw.ac.uk/~myl/msc _DISSERTATION.htm