Developing VR Experiences with the Oculus Rift Tom Forsyth GDC March 2014.
Developing a VR System
description
Transcript of Developing a VR System
Developing a VR Developing a VR SystemSystem
Developing a VR Developing a VR SystemSystem
Mei Yii LimMei 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 Case Study: MY Virtual Graffiti SystemVirtual Graffiti System
Case Study: MY Case Study: MY Virtual Graffiti SystemVirtual 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 are 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
CAVE
Problem DefinitionProblem DefinitionProblem DefinitionProblem 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 continued…
• Risk Planning– Best way for project with users as target -
involve them – Trial and error – Project schedule must be realistic
Preliminary StudyPreliminary StudyPreliminary StudyPreliminary 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 AnalysisSystem AnalysisSystem AnalysisSystem 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
MY Virtual Graffiti System
– Space Orb 360º (6 degree of freedom)
– Stereo glasses
– Tracking system– Dummy spray can
with sensor
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 DesignSystem DesignSystem DesignSystem 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 stateAdd lightingSet traversal maskLoad fileRETURN 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 !WELCOME TO VIRTUAL GRAFFITI !
SPRAY MODE BUTTON A / LEFT PINKIESPRAY MODE BUTTON A / LEFT PINKIE
CLEAR BUTTON BCLEAR BUTTON B
SAVE BUTTON C / LEFT MIDDLESAVE BUTTON C / LEFT MIDDLE
NAVIGATE BUTTON D, PS / RIGHT INDEXNAVIGATE BUTTON D, PS / RIGHT INDEX
RESET BUTTON ERESET BUTTON E
EXIT BUTTON FEXIT BUTTON F
CLOSE MENU RIGHT PINKIECLOSE MENU RIGHT PINKIE
SPRAYING MODESPRAYING MODE
SPRAYING RIGHT MIDDLESPRAYING RIGHT MIDDLE
COLOUR LEFT MIDDLECOLOUR LEFT MIDDLE
NOZZLE LEFT RINGNOZZLE LEFT RING
MAIN MENU LEFT PINKIEMAIN MENU LEFT PINKIE
NAVIGATE RIGHT INDEX NAVIGATE RIGHT INDEX
CLEAR RIGHT RING / BUTTON BCLEAR RIGHT RING / BUTTON B
CLOSE MENU RIGHT PINKIECLOSE MENU RIGHT PINKIE
3D icon that appears while spraying
• Denote the size of the nozzle
• Denote the color of the nozzle
System Development System Development and Testingand Testing
System Development System Development and Testingand Testing
System Development• Programming• Example of Challenges
– Format incompatibility– Incorrect hit points
Correct RayBounding
Plane Abox
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 System Implementation and Implementation and
EvaluationEvaluation
System System Implementation and Implementation and
EvaluationEvaluation
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
Bar Chart Representing Result of Initial Evaluation
0.00
1.00
2.00
3.00
4.00
5.00
6.00
7.00
Evaluation Attributes
Rating
Engagement toenvironmentInteractiondevicesMenus
Commands
Spraying action
Navigation
Spray paintsimulationSpeed ofadjustmentReal-timeresponseComfortableinteractionResemblanceto real graffiti
Example – Initial Evaluation
• Half a dozen subjects
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
Comparison Between Initial Evaluation Result and Final Evaluation Result
0.00
1.00
2.00
3.00
4.00
5.00
6.00
7.00
Engagement to environment
Interaction devices
Menus
CommandsUser manualSpraying action
Navigation
Spray paint simulationSpeed of adjustmentReal-time response
Comfortable interaction
Resemblance to real graffiti
Evlauation Attributes
RatingInitialEvaluation
FinalEvaluatian
Final System Evaluation• Twenty subjects
Conclusion and Conclusion and Future WorkFuture Work
Conclusion and Conclusion and Future WorkFuture 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