Team Breaking Bat Architecture Design Specification. Virtual Slugger

Size: px
Start display at page:

Download "Team Breaking Bat Architecture Design Specification. Virtual Slugger"

Transcription

1 Department of Computer Science and Engineering The University of Texas at Arlington Team Breaking Bat Architecture Design Specification Virtual Slugger Team Members: Sean Gibeault Brandon Auwaerter Ehidiamen Ojielu Roshan Lamichhane Geoff Graham Last Updated: 8/25/2014 Breaking Bat 1 System Architecture Specification

2 Table of Contents REVISION HISTORY 4 LIST OF TABLES 5 LIST OF FIGURES 7 1. INTRODUCTION PRODUCT CONCEPT PRODUCT SCOPE KEY REQUIREMENTS 9 2. META ARCHITECTURE ARCHITECTURAL VISION GUIDING PRINCIPLES ASSUMPTIONS DESIGN TRADE OFFS ARCHITECTURE OVERVIEW INPUT LAYER PROCESSING LAYER STORAGE LAYER OUTPUT LAYER INPUT LAYER DESCRIPTION PURPOSE FUNCTION DEPENDENCIES DATA SUBSYSTEMS PROCESSING LAYER DESCRIPTION PURPOSE FUNCTION DEPENDENCIES 23 Breaking Bat 2 System Architecture Specification

3 5.5 DATA SUBSYSTEMS OUTPUT LAYER DESCRIPTION PURPOSE FUNCTION DEPENDENCIES DATA SUBSYSTEMS STORAGE LAYER DESCRIPTION PURPOSE FUNCTION DEPENDENCIES DATA SUBSYSTEMS REQUIREMENTS MAPPING RELATIONSHIP MAPPING SECTION OVERVIEW DATA FLOW DEFINITION PRODUCER-CONSUMER RELATIONSHIP MATRIX ANALYSIS TESTING CONSIDERATION OVERVIEW INPUT LAYER PROCESSING LAYER STORAGE LAYER OUTPUT LAYER OPERATING SYSTEM DEPENDENCIES INPUT LAYER PROCESSING LAYER STORAGE LAYER OUTPUT LAYER 44 Breaking Bat 3 System Architecture Specification

4 Document Revision History Revision Number Revision Date Description Rationale /28/2014 First Draft Initial Integration /12/2014 Gate Review Draft Peer review and first draft feedback /25/2014 Baseline Draft Feedback Breaking Bat 4 System Architecture Specification

5 List of Tables Table # Title Page # 1-1 Key Requirements Oculus Interlayer Interface Orientation Oculus Interlayer Interface Tracking Data Oculus Public Interface Orientation Oculus Public Interface Tracking Data X-Box Controller Interlayer Interface Button Event X-Box Controller Public Interface Button Listener Baseball Bat Interlayer Interface Acceleration Baseball Bat Interlayer Interface Orientation Baseball Bat Public Interface Orientation Baseball Bat Public Interface Orientation Kinect Interlayer Interface Kinect Public Interface Xbox Controller Interlayer Interface Baseball Bat Interlayer Interface Tracking Data Kinect Interlayer Interface Tracking Data Oculus Rift Interlayer Interface Tracking Data Menu Controller Interlayer Interface Load Settings Interlayer Interface Load Settings Public Interface Save Settings Public Interface Physics Data Interlayer Interface Physics Data Interlayer Interface Feedback File Public Interface Asset Interlayer Interface Acceleration Stats Analyzer Interlayer Interface Orientation Output Controller Interlayer Interface Acceleration 27 Breaking Bat 5 System Architecture Specification

6 5-15 Game Engine Interlayer Interface Game Engine Public Interface Sound Interlayer Interface Sound Interlayer Interface Graphics Public Interface Sound Public Interface Graphics Driver Interlayer Interface Graphics Driver Interlayer Interface Graphics Driver Public Interface Sound Driver Interlayer Interface Sound Driver Public Interface Levels and Models Interlayer Interface Settings File Interlayer Interface Feedback Interlayer Interface Requirements Mapping Data Flow 40 Breaking Bat 6 System Architecture Specification

7 List of Figures Figure # Title Page # 3-1 Detailed Architecture Input Layer Processing Layer Output Layer Data Layer System Architecture Relationship Mapping Producer-Consumer Relationship Matrix 41 Breaking Bat 7 System Architecture Specification

8 1.1 Product Concept 1. Introduction The Virtual Slugger is a virtual reality batting simulator that combines many cutting edge technologies like the Oculus Rift, Kinect, and other sensors to simulate a realistic batting experience inside of a virtual world. Users will be able to practice their batting skills by telling the system which type of batter they would like to be, which types of pitches they are working on, left handed or right handed, and what difficulty level they would like. The system will simulate a batting experience based on the input they specified and will track the users swing as they try to hit the virtual ball. This data will be analyzed and the system will provide statistics and advice on how to improve their swing. The Virtual Slugger is designed to simulate a real game situation that baseball players will encounter. This demo be on a computer and be launched from the game engine to the main menu. The user will input which type of batter they would like to be such as a power hitter, lead off, or a combination of both. The user will also be able to choose which type of pitches they would like to work on or choose a random order of pitches. Once the game starts the batter will face a virtual pitcher until they either hit the ball or they strike out. Once there is a break in the game (hit or strikeout) the system will give the user feedback on their swing and advice on how to improve i.e.: try to hit the ball lower or higher depending on which type of hitter they have selected. The Virtual Slugger s intended users are all levels of baseball players ranging from amateur to pro. The intended consumer would be aspiring baseball players or professionals that want to practice their swing. Additional consumers would be baseball teams or organizations that would like to try new technology to improve batting averages. 1.2 Product Scope The purpose of Virtual Slugger is to provide any enthusiastic baseball hitter with an interactive virtual batting practice session and offer tips in order to improve the user s hitting skills. The user will be placed inside a virtual environment where he/she will face off against a virtual pitcher. The pitcher will throw a virtual baseball and the user will try to hit the ball. The user will be swinging a real bat and our system will keep track of the bat location and bat speed in order to offer feedback to the system. The system will be built with several pieces of hardware including an Oculus Rift, Kinect, and bat sensors. The Oculus Rift is a virtual reality headset the user will wear while attempting a hit. The Kinect and the bat sensors are sensors that will track the user s swing and analyze the data to offer tips. The users of this system will choose what type of hitter they want to become, such as a power hitter, an on base percentage hitter, or a mixture of both. After the user makes their selection, the system will track their swing and where they are hitting the baseball and offer unique tips based on the given input. Breaking Bat 8 System Architecture Specification

9 1.3 Key Requirements Number Requirement Description 3.1 Switch Hitting Capability The user will have the option of choosing to bat left-handed or right-handed. This will change the view in the Virtual Slugger system to accommodate both batting styles. 3.2 Setting Configuration Virtual Slugger should allow the user before batting to configure their settings such as height of user, speed of pitches, and type of batter. These configurations will personalize settings to determine the user s strike zone and help give feedback after batting. 3.3 Hit Virtual Baseball Virtual Slugger should allow the user the ability to see a virtual baseball (pitch) thrown and allow the user to swing a real baseball bat to try to make contact with the virtual baseball. 3.4 Real World Bat Virtual Slugger should allow the user to use a real baseball bat in order to make the batting experience as realistic as possible. 3.6 Feedback The Virtual Slugger should provide feedback on what to modify in order to improve their batting following a Breaking Bat 9 System Architecture Specification

10 batting session. Different feedback will be delivered based on batting style chosen along with statistics from the session. Feedback will be given at the end of the user s at bat and will include, but not be limited to change of batter s stance, arch of swing, and head movement. 3.7 Real Time Statistics The Virtual Slugger should gather real-time statistics during the user s batting session. These statistics will be available for review after each session. 3.8 Learn Fundamentals of Hitting The user will learn the fundamentals of Batting via one of three types of batting style they choose to train for. These three batting styles consist of a bopper which trains to hit the ball with power, a rabbit which trains to hit the ball on the ground, and a dirtbag, who hits the ball for line drives. Based on the batting style chosen, a summary of the batting style will be available along with feedback after batting sessions. 3.9 Switch Pitching The Virtual Slugger should provide the user an option to choose whether the pitcher is left handed or right handed. 4.1 Virtual Reality Device The product will include a virtual reality headset. 4.3 Xbox Controller An Xbox controller will be provided for users to interact with the menus and select Breaking Bat 10 System Architecture Specification

11 preferences. 4.4 Sensors Sensors will be provided with the product and used with the bat to monitor its motion. 5.1 Latency Latency is currently an issue with virtual reality devices. However, the user should experience as little latency as possible to ensure accuracy when hitting pitches. 5.2 Graphics The user should experience smooth game play, animations and interactions when using the Virtual Slugger. Table 1-1 Key Requirements Breaking Bat 11 System Architecture Specification

12 2. Meta Architecture This section describes the guiding principles and key assumptions that team Breaking Bat will use when developing the Virtual Slugger. This section also highlights the guiding principles used by the team in making the architectural design. Assumptions made by the team during the architecture design will be addressed as well. 2.1 Architectural Vision The Virtual Slugger consists of a complex but intuitive input system that allows the user to seamlessly interact with the game engine. We wanted the user's experience as realistic as possible, so our primary input device is a real-world bat. This will be augmented with the virtual reality device, Oculus Rift, which will engulf the user inside a virtual world. The architectural design for the Virtual Slugger consists of four key layers which are input layer, processing layer, storage layer, and output layer. Input will be received from sensors such as accelerometers, gyroscopes, Kinect, Xbox controller and Oculus Rift.. The processing layer handles the processing of the inputs and renders the scenes in the Virtual Slugger accordingly. The game engine will be located in the processing layer. The storage layer will store files such as levels/models, settings, statistics and feedback. The output layer will handle sending audio and video output to the appropriate devices. 2.2 Guiding Principles Reliability The Virtual Slugger is dependent on real-time statistics in order to provide proper feedback to the user therefore, it need to do so reliably in the sense of minimal delay or latency when using the system. This means the architecture design needs to be as thin as possible to prevent data from being sent through more layers than necessary Interoperability The Virtual Slugger will be portable between computers with various types of hardware. The Virtual Slugger should work independently of the computer hardware. In order to achieve this, the architecture design must avoid communicating with the hardware devices directly but do so through interfaces and controllers. This abstraction will be used to communicate effectively with the drivers for sound and video output as well as getting input from the Oculus Rift, Xbox controller and sensors Usability The Virtual Slugger will be intuitive and easy to use. A user that has minimal knowledge of the technology used in the Virtual Slugger should still be able to understand how to use the Virtual Slugger. In order to achieve this, a thorough yet simplistic user interface will be created. Breaking Bat 12 System Architecture Specification

13 2.3 Assumptions Game Engine Team Breaking Bat will use an existing game engine to assist in the development of the Virtual Slugger. The choice has been narrowed down to Unreal Engine 4 but subject to change Device Drivers Drivers for devices such as graphics and sound cards will already be available for use. The Virtual Slugger will just need to interface with these drivers Operating System The primary operating system for the Virtual Slugger will be Windows D and Sound Assets The game engine will be able to accept FBX file format, which can be converted from other formats regardless of the editor used to create them. 2.4 Design Trade Offs A highly modular approach was taken in the architectural design of the Virtual Slugger. This ensures components are somewhat independent but at the same time able to communicate with each other. This enables efficient data flow and accurate processing. Also, local data storage was chosen over remote data storage to eliminate issues such as connectivity and security. Local storage also gives us the advantage of providing feedback as quickly as possible. We have also chosen Unreal Engine 4(UE4) over Unity 4 because UE4 offers a rich set of tools that will decrease development time. Breaking Bat 13 System Architecture Specification

14 3. Architecture Overview Architecture of the Virtual Slugger consists of four layers. The layers are Input Layer, Processing Layer, Data Storage Layer and Output Layer. The organization and relationships of these four layers is shown in Figure 3-1 below. 3.1 Input Layer The input layer gathers data that comes from the Oculus Rift, Kinect, Xbox controller, accelerometer and gyroscope. The data collected in the Input Layer is transferred to the Processing Layer for further processing. Oculus SDK gathers information on head movement, Xbox controller will work as the button-listener, accelerometer gathers information on the speed of bat swing, and gyroscope gathers information on orientation of bat. 3.2 Processing Layer The processing layer is responsible for processing the information gathered through the Oculus Rift, Kinect, Xbox controller, accelerometer and gyroscope. Processing layer controls the game engine. It consists of Input Controller, Output Controller and Game Engine. It also includes the Asset Loader, Settings Controller and Statistics Analyzer. 3.3 Storage Layer The storage layer is responsible for storing all of the data needed for the game. It consists of Levels and Models Files, Setting Files and Feedback Files. The processing layer will be able to connect to Storage Layer and load level assets, player models, settings, and query for feedback for the user. 3.4 Output Layer The output layer is responsible to provide information to the user in the reasonable manner. It consists of Graphics Driver and Sound Driver. The Graphics Driver provides the display that is loaded from the processing layer and the Sound Driver provides sound to the system. Breaking Bat 14 System Architecture Specification

15 3.5 Detailed Architecture Figure 3-1 Detailed Architecture Breaking Bat 15 System Architecture Specification

16 4. Input Layer 4.1 Description Figure 4-1 Input Layer The Input Layer provides a platform to gather input from the user through the Oculus Rift, the Xbox controller, Kinect, and Bat Sensors, and transport this input to the input controller located in the Processing Layer. 4.2 Purpose The purpose of the Input layer is to capture head motion events from the Oculus Rift, button events from the Xbox controller, image processing data from the Kinect, and accelerometer/gyroscopic data from the bat sensors and then transport this data to the Input controller in the processing layer. Breaking Bat 16 System Architecture Specification

17 4.3 Function The Input layer is solely responsible for retrieving input from the user and providing the hardware interface to the Virtual Slugger system for the user. Each input will provide the system with different kinds of data and this layer will help with transporting this data from the devices to the system. 4.4 Dependencies The Input layer is dependent on the input devices such as Oculus Rift, the Xbox controller, Kinect, and baseball bat sensors. It is also dependent on the user s input, but it is not dependent on any other layer. 4.5 Data The data in this layer is divided up into the different input components. The Oculus will provide gyroscopic event data to track the rotation of the viewers head as well as some image processing data to track the heads spatial movement. The X-Box controller will take basic button event clicks and will be mainly used for navigating the systems menus. The baseball bat sensors (accelerometer/gyroscope) will be constantly streaming accelerometer and gyroscopic data to the system to track and model the bat in the virtual environment. Finally the Kinect will be sending 3 dimensional images to the system to gather extra data about the users swing. 4.6 Subsystems Oculus Description This subsystem is responsible for acquiring any user input from the Oculus Rift. These inputs are rotational angles about the x, y, z coordinates, which are generated from head motion events Function The Oculus SDK takes the inputs and translates them to a format readable by the input controller in the processing layer Interlayer Interfaces Method Description Info Required Info Returned sendorientation Sends the orientation of the Oculus to the Orientation Breaking Bat 17 System Architecture Specification

18 input controller Table 4-1 Oculus Interlayer Interface Orientation Method Description Info Required Info Returned sendtrackingdata Sends the position of the Oculus to the input controller Oculus position Table 4-2 Oculus Interlayer Interface Tracking Data Public Interfaces Method Description Info Required Info Returned getorientation Gets the orientation of the Oculus Orientation Table 4-3 Oculus Public Interface Orientation Method Description Info Required Info Returned gettrackingdata Gets the position of the Oculus Oculus Position Table 4-4 Oculus Public Interface Tracking Data X-Box Controller Description This subsystem is responsible for retrieving user input from the Xbox controller. These inputs are button press events which will be used to navigate the menu system Function The X-Box controller will primarily be used to allow the user to navigate through the menu system easily. Breaking Bat 18 System Architecture Specification

19 Interlayer Interface Method Description Info Required Info Returned buttonevent Sends button event to input controller Button Pressed Table 4-5 X-Box Controller Interlayer Interface Button Event Public Interfaces Method Description Info Required Info Returned buttonlistener Listens for buttonevent to be triggered Button Pressed Table 4-6 X-Box Controller Public Interface Button Listener Baseball Bat Sensors Description This subsystem is responsible for retrieving the data from the baseball bat and modeling it in virtual reality Function The baseball bat will primarily be used to allow the user to swing at the pitch and track their data. This will be the users primary source of interaction with the system Interlayer Interface Method Description Info Required Info Returned sendacceleration Sends accelerometer data to the system accelerometer data Table 4-7 Baseball Bat Interlayer Interface Acceleration Breaking Bat 19 System Architecture Specification

20 Method Description Info Required Info Returned sendbatorientation Sends orientation data to the system Orientation of the bat Table 4-8 Baseball Bat Interlayer Interface Orientation Public Interfaces Method Description Info Required Info Returned getacceleration Receives accelerometer data accelerometer data Table 4-9 Baseball Bat Public Interface Orientation Method Description Info Required Info Returned getbatorientation gets the orientation of the bat Orientation of the bat Table 4-10 Baseball Bat Public Interface Orientation Kinect Description This subsystem is responsible for retrieving the image processing data from the Kinect Function The Kinect will be used to track the arc and position of the user as they go through the motion of swinging the bat. This data will be used to provide additional information on the users swing Interlayer Interface Method Description Info Required Info Returned Breaking Bat 20 System Architecture Specification

21 sendkinectdata Sends the data from the Kinect Kinect data Table 4-11 Kinect Interlayer Interface Public Interfaces Method Description Info Required Info Returned getkinectdata Gets the data from the Kinect Kinect data Table 4-12 Kinect Public Interface Breaking Bat 21 System Architecture Specification

22 5. Processing Layer 5.1 Description Figure 5-1 Processing Layer The processing layer receives data from the input layer and formats it so the output layer can interpret the data. This layer also communicates with the data storage layer in order to load saved files, settings, and configurations. The processing layer is mostly comprised of the game engine, which takes the inputs listed in section 4.6 and renders them in the game. The subsystems of the processing layer include: input controller, game engine, asset loader, settings controller, stats analyzer, and the output controller. 5.2 Purpose The purpose of the processing layer is to handle all the input data, process that data, and then send it to the output layer. Also, the processing layer should retrieve and save files, configurations, and setting located in the data storage layer. 5.3 Function The Processing layer has two functions. The first function is to retrieve all the input data, process that data, and send it to the output layer in real-time. This will be performed by the many subsystems of the processing layer. The second function is to retrieve and save data to the data storage layer. Breaking Bat 22 System Architecture Specification

23 5.4 Dependencies The processing layer is dependent on the input layer and the storage layer. It needs the data being sent from the input layer in order for the user to have a interactive game play session. The processing layer also needs the data storage layer to load the game environment, player models, and user saved settings and configurations. 5.5 Data The data in this layer consist of the all the data received from the input and data storage layer. This data is broken up into two parts, real-time data and stored data. The real-time data will be coming from the input layer and this data has priority over the stored data. The processing layer needs to handle this data in real-time in order to give good user experience. The stored data will consist of the data received from the data storage layer. This data has will consist of the player models, levels, and user s settings. 5.6 Subsystems Input Controller Description This subsystem is responsible for acquiring all the real-time data delivered from the input layer. This subsystem will then process the data and relay it to either the settings controller or the game engine Function The input controller takes real-time data and sends that data to the correct subsystem Interlayer Interfaces Method Description Info Required Info Returned getcontrollerinput Receives Xbox controller input Xbox Controller Input sendcontrollerinput Send controller data to the settings controller Controller Data Table 5-1 Xbox Controller Interlayer Interface Breaking Bat 23 System Architecture Specification

24 Method Description Info Required Info Returned getbatdata Receives accelerometer and gyroscope data Accelerometer and gyroscope data sendbatdata Send accelerometer and gyroscope data to the game engine Baseball bat position and speed Table 5-2 Baseball Bat Interlayer Interface Tracking Data Method Description Info Required Info Returned getkinectdata Receives Kinect data Kinect data sendkinectdata Send Kinect data to the game engine Image data Table 5-3 Kinect Interlayer Interface Tracking Data Method Description Info Required Info Returned getoculusriftdata Receives Oculus Rift data Oculus Rift data sendoculusriftdata Send coordinates to the game engine Coordinates Table 5-4 Oculus Rift Interlayer Interface Tracking Data Method Description Info Required Info Returned getmenuselection Receives the Controller Breaking Bat 24 System Architecture Specification

25 controller input Action Table 5-5 Menu Controller Interlayer Interface Public Interfaces Settings Controller Description This subsystem is responsible for retrieving and saving user settings Function The load settings module will receive the user s selection from the menu controller and then request the settings file from the data storage layer Interlayer Interface Method Description Info Required Info Returned getmenuselection Gets the menu selection from the input controller User selection Table 5-6 Load Settings Interlayer Interface Public Interfaces Method Description Info Required Info Returned getsettingsfile Retrieve the settings file File Table 5-7 Load Settings Public Interface Method Description Info Required Info Returned savesettingsfile Save the settings File Breaking Bat 25 System Architecture Specification

26 file Table 5-8 Save Settings Public Interface Statistics Analyzer Description This subsystem is responsible for analyzing the swing data from the game engine subsystem and output the results to the game engine and the feedback file Function The physics engine will send the swing data from the bat to the statistics analyzer. The statistics analyzer will then determine what feedback needs to be given to the user. It will then save this feedback in the feedback file and output the tips to the game engine so the user will be able to see it Interlayer Interface Method Description Info Required Info Returned getphysicsdata gets the physics data on the swing Swing data Table 5-9 Physics Data Interlayer Interface Method Description Info Required Info Returned sendgraphicstip sends the tip the graphics subsystem Swing feedback Table 5-10 Physics Data Interlayer Interface Public Interfaces Method Description Info Required Info Returned savefeedback saves the feedback to the Swing feedback Breaking Bat 26 System Architecture Specification

27 feedback file Table 5-11 Feedback File Public Interface Game Engine Description This subsystem is the main component in the processing layer. It is responsible for running the game environment and receiving and processing all the input from our peripherals. It will also output the sound and graphics to the output controller Function The physics engine will model real-world physics in the game environment. This data will then be sent to the graphics and sound subsystems Interlayer Interface Method Description Info Required Info Returned getassets gets all the models and levels from the asset loader models and levels Table 5-12 Asset Interlayer Interface Acceleration Method Description Info Required Info Returned getstats gets the stats from the stats analyzer user stats sendstats sends the data that the stats analyzer will use to analyze the swing accelerometer, gyroscope. Table 5-13 Stats Analyzer Interlayer Interface Orientation Method Description Info Required Info Returned Breaking Bat 27 System Architecture Specification

28 sendgraphicsandsound sends graphics and sound data to the output controller graphics and sound data. Table 5-14 Output Controller Interlayer Interface Acceleration Public Interfaces Asset Loader Description This subsystem is responsible for retrieving all the models and levels that the game engine will need to render Function The asset loader will communicate with the data storage layer to retrieve the models and level that are located on the local drive of the computer running the game. It will fetch this data and send it to the game engine Interlayer Interface Method Description Info Required Info Returned sendgameenginedata Sends models and levels to game engine all assets the game engine needs Table 5-15 Game Engine Interlayer Interface Public Interfaces Method Description Info Required Info Returned getgameenginedata Gets models and levels for game engine models and levels Table 5-16 Game Engine Public Interface Breaking Bat 28 System Architecture Specification

29 5.6.6 Output Controller Description This subsystem is responsible for retrieving the graphics and sound data from the game engine and sending it the output layer Function The output controller is the only component in the processing layer that communicates to the output layer. Its function is to take the sound and graphics data and route it to the sound and graphics drivers respectively Interlayer Interface Method Description Info Required Info Returned getsound get the sound data from the game engine sound data. Table 5-17 Sound Interlayer Interface Method Description Info Required Info Returned getgraphics get the graphics data from the game engine Graphics Table 5-18 Sound Interlayer Interface Public Interfaces Method Description Info Required Info Returned sendgraphics Interaction with the output Graphics data Breaking Bat 29 System Architecture Specification

30 controller to get Graphics Data. Table 5-19 Graphics Public Interface Method Description Info Required Info Returned sendsound Interaction with the output controller to get sound Data. Sound data Table 5-20 Sound Public Interface Breaking Bat 30 System Architecture Specification

31 6. Output Layer 6.1 Description Figure 6-1 Output Layer This provides the processed input to the user. This is done using the Oculus Rift which is the VR headset to provide video feedback, speakers for providing sound feedback and the display of the user s PC which will be a replication of what is shown in the VR headset. 6.2 Purpose The purpose of the output layer is to provide processed information to the user in a reasonable fashion using audio and video. 6.3 Function The output layer is responsible for sending processed input back to the user. This will be done using the Oculus Rift, PC display and speakers. 6.4 Dependencies The output layer is dependent on output devices such as the Oculus Rift, speakers and PC display. The Processing layer will provide graphics and sound data. 6.5 Data The data in this layer can be broken into two categories namely audio and video. Video contains information on how the user s input affects the virtual environment. Audio contains information on sound produced by all actions in the virtual environment. Breaking Bat 31 System Architecture Specification

32 6.6 Subsystems Graphics Driver Description This subsystem is responsible for displaying the processed input to the user through the Oculus Rift and replicated on the user s PC display Function This will interact with the Oculus Rift and the PC display Interlayer Interfaces Method Description Info Required Info Returned displayonheadset Sends the appropriate graphical information required for streaming video on the VR headset Resolution Video stream. Table 6-1 Graphics Driver Interlayer Interface Method Description Info Required Info Returned displayonmonitor Sends the appropriate graphical information required for streaming video on a display monitor. Resolution Video stream Table 6-2 Graphics Driver Interlayer Interface Public Interfaces Method Description Info Required Info Returned getdisplay Shows the video Video Breaking Bat 32 System Architecture Specification

33 stream to the end user Table 6-3 Graphics Driver Public Interface Sound Driver Description This subsystem is responsible for providing sound output to the user Function The sound driver interacts with the speakers to provide sound of actions occurring in the virtual environment Interlayer Interface Method Description Info Required Info Returned getsound Sends sound data to the sound driver Quality Sound Table 6-4 Sound Driver Interlayer Interface Public Interfaces Method Description Info Required Info Returned putsound Sends sound to the user through speakers Sound Table 6-5 Sound Driver Public Interface Breaking Bat 33 System Architecture Specification

34 7. Storage Layer 7.1 Description Figure 7-1 Storage Layer The Storage layer stores settings, levels, models, and feedback that may be provided to a user. 7.2 Purpose The Storage layer manages all relevant data in the hard drive. This includes methods to write and read files. 7.3 Function When the user saves their settings, a file is created in the hard drive that allows for retrieval when the user wants to resume. When the user exits the virtual reality simulation and returns to the main menu the Storage Layer is responsible for saving game settings. 7.4 Dependencies The Storage layer depends on the Processing Layer for sending/receiving data. 7.5 Data Data processed will be statistics of user s batting session and any feedback based off of these statistics. The Processing Layer will also receive data from the Levels and Models, Settings, and Feedback files. Breaking Bat 34 System Architecture Specification

35 7.6 Subsystems Levels and Models Description The Levels and Models subsystem stores the Levels and Models that are used by the asset loader Function The Settings Controller receives the Levels and Models needed to run the simulation Interlayer Interface(s) Method Description Info Required Info Returned getlevelsmodels Gets the levels and models needed for the simulation levels and models Table 7-1 Levels and Models Interlayer Interface Settings File Description The Settings File subsystem stores the settings generated from the user input Function The Settings Controller receives the settings created by the user input. These settings are loaded into the Settings File subsystem Interlayer Interface(s) Method Description Info Required Info Returned getsettings Gets the settings the from the saved file configuration based off of settings storesettings stores settings input by the user User Input none Table 7-2 Settings File Interlayer Interface Breaking Bat 35 System Architecture Specification

36 7.6.3 Feedback File Description The Feedback File subsystem stores any feedback generated based on the user s statistics found in the batting session Function The Settings Controller receives the feedback stored in the Feedback File based off of data gathered Interlayer Interface(s) Method Description Info Required Info Returned getfeedback Gets the feedback generated based off of statistics Statistics from batting session Feedback to improve batter s performance Table 7-3 Feedback Interlayer Interface Breaking Bat 36 System Architecture Specification

37 8. Requirements Mapping Number Requirement Input Layer Processing Layer Storage Layer Output Layer 3.1 Switch Hitting Capability X X 3.2 Setting Configuration 3.3 Hit Virtual Baseball X X X 3.4 Real World Bat X X 3.5 Virtual Reality Batting Environment X X X 3.6 Feedback X X X 3.7 Real Time Statistics 3.8 Learn Fundamental of Hitting X X X X X X X 3.9 Switch Pitching X X 3.10 Mode Selection X X 4.1 Virtual Reality Device X X 4.3 Xbox Controller X 4.4 Sensors X 4.5 Software X 4.6 Computer X 5.1 Latency X X X X Breaking Bat 37 System Architecture Specification

38 5.2 Graphics X X X 6.1 Simulator Sickness X 8.1 American English Standard X 8.2 User Friendly Interface X Table 8-1 Requirements Mapping Breaking Bat 38 System Architecture Specification

39 9. Relationship Mapping 9.1 Section Overview Figure 9-1 System Architecture This section goes into detail on the data flows throughout the architectural design. Sections in yellow represent the Input layer, sections in green represent the Processing layer, sections in blue represent the Storage layer, and sections in gray represent the Output layer. Breaking Bat 39 System Architecture Specification

40 9.2 Data Flow Definition Data Element Id I1 I2 I3 I4 I5 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 S1 S2 S3 O1 O2 Description Xbox Controller Input goes into Computer Kinect processes image and sends data to computer Accelerometer sensor on bat sends data to computer Gyroscope sensor on bat sends data to computer Oculus Head tracking sensor data is sent to computer Input data from the Kinect, Accelerometer, Gyroscope, and Oculus is sent to the game engine. Input from the Xbox controller is sent to the settings controller. The Game Engine sends requests to the Asset Loader which will send back the correct levels/models The Game Engine can edit some of the settings file from the pause menu and also pulls user settings from the Settings Controller The Settings Controller tells the Stats Analyzer user configured settings such as what hitting style the user is trying to improve at The Game Engine sends statistics on the user s swing to the Statistics Analyzer which returns Feedback data to be displayed. The Asset Loader sends requests for levels and models to the Levels/Models Storage. The Settings Controller Interacts with the Settings file in the Storage layer. The Statistics Analyzer queries the Feedback file based on user swing data. The Output Controller sends Graphics data to the Graphics Driver The Output Controller sends sound data to the Sound Driver Level and Model files are sent back to the Asset Loader Setting data are saved and updated as well and sent back to the Settings Controller The Feedback storage sends its data to the Stats Analyzer based on the users swing The Graphics Driver renders the image on the monitor The Graphics Driver renders image on the Oculus Breaking Bat 40 System Architecture Specification

41 O3 The Sound Driver outputs the audio to the speakers 9.3 Producer-Consumer Relationship Matrix Table 9-2 Data Flow 9.4 Analysis Figure 9-2 Producer-Consumer Relationship Matrix From analyzing our Producer-Consumer Relationship Matrix we can see that our most complex layer is our processing layer. This Layer is the heart of our system and connects all the other layers. We have 14 producers for this layer and 9 of those are consumed within the layer as well as 5 more consumed by this layer from the other layers. Our second most complex layer is the Breaking Bat 41 System Architecture Specification

42 input controller because we have 5 different type of user inputs coming from the input layer. This module consumes all 5 inputs and produces 1 output going into the Input Controller. The Storage Layer communicates with the processing layer receiving file requests and returning data to the appropriate processing modules. The Output s layer finalizes and prepares the sound and graphics data to be displayed on the monitor, oculus, and computer speakers. Breaking Bat 42 System Architecture Specification

43 10. Testing Consideration 10.1 Overview This section is dedicated to ensuring that each layer will be validated as established in the overall architecture. Each layer will be checked to ensure each is real-time responsive, portable, reliable, and intuitive Input Layer The Input Layer is responsible for managing all input required by the system. The Input Layer is also the layer in which the data begins to flow throughout the overall architecture. Validating the Input Layer requires that any device or subsystem of the layer is properly tested to ensure the flow of information begins at these devices/subsystems Processing Layer The Processing Layer controls the flow of information in out of the layer. The systems inside of this layer will need to be properly tested in order to ensure validation. First, the Input Controller will need to be tested to properly receive data from the Input Layer. Next, the Output Controller will need to be configured properly in order to send data to the Output Layer. Lastly, the Asset Loader, Settings Controller, and Stats Analyzer need to properly send and retrieve data from the Storage layer Storage Layer In order to validate the Storage Layer, the Levels/Models, Settings File, and Feedback subsystems must be tested. Reliability is an important part in each subsystem and further testing will be performed in order to ensure that the Storage Layer can hold any data to create the environment as well as store proper feedback to the user Output Layer The Output Layer will be validated through the Graphics Driver and Sound Driver subsystems. Real-Time Responsiveness, Portability, and Reliability will be checked in this layer. Breaking Bat 43 System Architecture Specification

44 11. Operating System Dependencies 11.1 Input Layer The Input Layer will receive input from the Oculus Rift DK2 and the Xbox controller. The Oculus Rift is supported on multiple operating systems and the Xbox controller is a Plug n Play device on Windows. The Virtual Slugger will depend on this integration provided by the Windows Operating System Processing Layer The Processing layer will rely on the Unreal Game Engine which is supported across multiple platforms. There will be no dependency on any particular operating system Storage Layer The data for the game will be stored on a hard disk and the access to those files will be abstracted with the Unreal Game Engine. There will be no dependency on any particular operating system Output Layer The Oculus Rift and audio output will also be handled by the Unreal game engine. There will be no dependency on any particular operating system. Breaking Bat 44 System Architecture Specification

Virtual Universe Pro. Player Player 2018 for Virtual Universe Pro

Virtual Universe Pro. Player Player 2018 for Virtual Universe Pro Virtual Universe Pro Player 2018 1 Main concept The 2018 player for Virtual Universe Pro allows you to generate and use interactive views for screens or virtual reality headsets. The 2018 player is "hybrid",

More information

Harry Plummer KC BA Digital Arts. Virtual Space. Assignment 1: Concept Proposal 23/03/16. Word count: of 7

Harry Plummer KC BA Digital Arts. Virtual Space. Assignment 1: Concept Proposal 23/03/16. Word count: of 7 Harry Plummer KC39150 BA Digital Arts Virtual Space Assignment 1: Concept Proposal 23/03/16 Word count: 1449 1 of 7 REVRB Virtual Sampler Concept Proposal Main Concept: The concept for my Virtual Space

More information

ADVANCED WHACK A MOLE VR

ADVANCED WHACK A MOLE VR ADVANCED WHACK A MOLE VR Tal Pilo, Or Gitli and Mirit Alush TABLE OF CONTENTS Introduction 2 Development Environment 3 Application overview 4-8 Development Process - 9 1 Introduction We developed a VR

More information

Oculus Rift Getting Started Guide

Oculus Rift Getting Started Guide Oculus Rift Getting Started Guide Version 1.23 2 Introduction Oculus Rift Copyrights and Trademarks 2017 Oculus VR, LLC. All Rights Reserved. OCULUS VR, OCULUS, and RIFT are trademarks of Oculus VR, LLC.

More information

SIU-CAVE. Cave Automatic Virtual Environment. Project Design. Version 1.0 (DRAFT) Prepared for. Dr. Christos Mousas JBU.

SIU-CAVE. Cave Automatic Virtual Environment. Project Design. Version 1.0 (DRAFT) Prepared for. Dr. Christos Mousas JBU. SIU-CAVE Cave Automatic Virtual Environment Project Design Version 1.0 (DRAFT) Prepared for Dr. Christos Mousas By JBU on March 2nd, 2018 SIU CAVE Project Design 1 TABLE OF CONTENTS -Introduction 3 -General

More information

Oculus Rift Getting Started Guide

Oculus Rift Getting Started Guide Oculus Rift Getting Started Guide Version 1.7.0 2 Introduction Oculus Rift Copyrights and Trademarks 2017 Oculus VR, LLC. All Rights Reserved. OCULUS VR, OCULUS, and RIFT are trademarks of Oculus VR, LLC.

More information

HMD based VR Service Framework. July Web3D Consortium Kwan-Hee Yoo Chungbuk National University

HMD based VR Service Framework. July Web3D Consortium Kwan-Hee Yoo Chungbuk National University HMD based VR Service Framework July 31 2017 Web3D Consortium Kwan-Hee Yoo Chungbuk National University khyoo@chungbuk.ac.kr What is Virtual Reality? Making an electronic world seem real and interactive

More information

TAKE CONTROL GAME DESIGN DOCUMENT

TAKE CONTROL GAME DESIGN DOCUMENT TAKE CONTROL GAME DESIGN DOCUMENT 04/25/2016 Version 4.0 Read Before Beginning: The Game Design Document is intended as a collective document which guides the development process for the overall game design

More information

A Step Forward in Virtual Reality. Department of Electrical and Computer Engineering

A Step Forward in Virtual Reality. Department of Electrical and Computer Engineering A Step Forward in Virtual Reality Team Step Ryan Daly Electrical Engineer Jared Ricci Electrical Engineer Joseph Roberts Electrical Engineer Steven So Electrical Engineer 2 Motivation Current Virtual Reality

More information

REPORT ON THE CURRENT STATE OF FOR DESIGN. XL: Experiments in Landscape and Urbanism

REPORT ON THE CURRENT STATE OF FOR DESIGN. XL: Experiments in Landscape and Urbanism REPORT ON THE CURRENT STATE OF FOR DESIGN XL: Experiments in Landscape and Urbanism This report was produced by XL: Experiments in Landscape and Urbanism, SWA Group s innovation lab. It began as an internal

More information

VIRTUAL MUSEUM BETA 1 INTRODUCTION MINIMUM REQUIREMENTS WHAT DOES BETA 1 MEAN? CASTLEFORD TIGERS HERITAGE PROJECT

VIRTUAL MUSEUM BETA 1 INTRODUCTION MINIMUM REQUIREMENTS WHAT DOES BETA 1 MEAN? CASTLEFORD TIGERS HERITAGE PROJECT CASTLEFORD TIGERS HERITAGE PROJECT VIRTUAL MUSEUM BETA 1 INTRODUCTION The Castleford Tigers Virtual Museum is an interactive 3D environment containing a celebratory showcase of material gathered throughout

More information

Students: Bar Uliel, Moran Nisan,Sapir Mordoch Supervisors: Yaron Honen,Boaz Sternfeld

Students: Bar Uliel, Moran Nisan,Sapir Mordoch Supervisors: Yaron Honen,Boaz Sternfeld Students: Bar Uliel, Moran Nisan,Sapir Mordoch Supervisors: Yaron Honen,Boaz Sternfeld Table of contents Background Development Environment and system Application Overview Challenges Background We developed

More information

immersive visualization workflow

immersive visualization workflow 5 essential benefits of a BIM to immersive visualization workflow EBOOK 1 Building Information Modeling (BIM) has transformed the way architects design buildings. Information-rich 3D models allow architects

More information

Sensible Chuckle SuperTuxKart Concrete Architecture Report

Sensible Chuckle SuperTuxKart Concrete Architecture Report Sensible Chuckle SuperTuxKart Concrete Architecture Report Sam Strike - 10152402 Ben Mitchell - 10151495 Alex Mersereau - 10152885 Will Gervais - 10056247 David Cho - 10056519 Michael Spiering Table of

More information

MANPADS VIRTUAL REALITY SIMULATOR

MANPADS VIRTUAL REALITY SIMULATOR MANPADS VIRTUAL REALITY SIMULATOR SQN LDR Faisal Rashid Pakistan Air Force Adviser: DrAmela Sadagic 2 nd Reader: Erik Johnson 1 AGENDA Problem Space Problem Statement Background Research Questions Approach

More information

Head Tracking for Google Cardboard by Simond Lee

Head Tracking for Google Cardboard by Simond Lee Head Tracking for Google Cardboard by Simond Lee (slee74@student.monash.edu) Virtual Reality Through Head-mounted Displays A head-mounted display (HMD) is a device which is worn on the head with screen

More information

Virtual Reality as Innovative Approach to the Interior Designing

Virtual Reality as Innovative Approach to the Interior Designing SSP - JOURNAL OF CIVIL ENGINEERING Vol. 12, Issue 1, 2017 DOI: 10.1515/sspjce-2017-0011 Virtual Reality as Innovative Approach to the Interior Designing Pavol Kaleja, Mária Kozlovská Technical University

More information

Virtual Reality Calendar Tour Guide

Virtual Reality Calendar Tour Guide Technical Disclosure Commons Defensive Publications Series October 02, 2017 Virtual Reality Calendar Tour Guide Walter Ianneo Follow this and additional works at: http://www.tdcommons.org/dpubs_series

More information

ReVRSR: Remote Virtual Reality for Service Robots

ReVRSR: Remote Virtual Reality for Service Robots ReVRSR: Remote Virtual Reality for Service Robots Amel Hassan, Ahmed Ehab Gado, Faizan Muhammad March 17, 2018 Abstract This project aims to bring a service robot s perspective to a human user. We believe

More information

OCULUS VR, LLC. Oculus User Guide Runtime Version Rev. 1

OCULUS VR, LLC. Oculus User Guide Runtime Version Rev. 1 OCULUS VR, LLC Oculus User Guide Runtime Version 0.4.0 Rev. 1 Date: July 23, 2014 2014 Oculus VR, LLC All rights reserved. Oculus VR, LLC Irvine, CA Except as otherwise permitted by Oculus VR, LLC, this

More information

Software Requirements Specification

Software Requirements Specification ÇANKAYA UNIVERSITY Software Requirements Specification Simulacrum: Simulated Virtual Reality for Emergency Medical Intervention in Battle Field Conditions Sedanur DOĞAN-201211020, Nesil MEŞURHAN-201211037,

More information

A Step Forward in Virtual Reality. Department of Electrical and Computer Engineering

A Step Forward in Virtual Reality. Department of Electrical and Computer Engineering A Step Forward in Virtual Reality Team Step Ryan Daly Electrical Engineer Jared Ricci Electrical Engineer Joseph Roberts Electrical Engineer Steven So Electrical Engineer 2 Motivation Current Virtual Reality

More information

Oculus Rift Introduction Guide. Version

Oculus Rift Introduction Guide. Version Oculus Rift Introduction Guide Version 0.8.0.0 2 Introduction Oculus Rift Copyrights and Trademarks 2017 Oculus VR, LLC. All Rights Reserved. OCULUS VR, OCULUS, and RIFT are trademarks of Oculus VR, LLC.

More information

SPIDERMAN VR. Adam Elgressy and Dmitry Vlasenko

SPIDERMAN VR. Adam Elgressy and Dmitry Vlasenko SPIDERMAN VR Adam Elgressy and Dmitry Vlasenko Supervisors: Boaz Sternfeld and Yaron Honen Submission Date: 09/01/2019 Contents Who We Are:... 2 Abstract:... 2 Previous Work:... 3 Tangent Systems & Development

More information

One Size Doesn't Fit All Aligning VR Environments to Workflows

One Size Doesn't Fit All Aligning VR Environments to Workflows One Size Doesn't Fit All Aligning VR Environments to Workflows PRESENTATION TITLE DATE GOES HERE By Show of Hands Who frequently uses a VR system? By Show of Hands Immersive System? Head Mounted Display?

More information

A Step Forward in Virtual Reality. Department of Electrical and Computer Engineering

A Step Forward in Virtual Reality. Department of Electrical and Computer Engineering A Step Forward in Virtual Reality Team Step Ryan Daly Electrical Engineer Jared Ricci Electrical Engineer Joseph Roberts Electrical Engineer Steven So Electrical Engineer 2 Motivation Current Virtual Reality

More information

Falsework & Formwork Visualisation Software

Falsework & Formwork Visualisation Software User Guide Falsework & Formwork Visualisation Software The launch of cements our position as leaders in the use of visualisation technology to benefit our customers and clients. Our award winning, innovative

More information

Easy Input Helper Documentation

Easy Input Helper Documentation Easy Input Helper Documentation Introduction Easy Input Helper makes supporting input for the new Apple TV a breeze. Whether you want support for the siri remote or mfi controllers, everything that is

More information

RH King Academy OCULUS RIFT Virtual Reality in the High School Setting

RH King Academy OCULUS RIFT Virtual Reality in the High School Setting RH King Academy OCULUS RIFT Virtual Reality in the High School Setting Introduction In September 2017, RH King Academy in the TDSB brought Virtual Reality (VR) in form of the Oculus Rift as a next-generation

More information

Oculus Rift Development Kit 2

Oculus Rift Development Kit 2 Oculus Rift Development Kit 2 Sam Clow TWR 2009 11/24/2014 Executive Summary This document will introduce developers to the Oculus Rift Development Kit 2. It is clear that virtual reality is the future

More information

Understanding OpenGL

Understanding OpenGL This document provides an overview of the OpenGL implementation in Boris Red. About OpenGL OpenGL is a cross-platform standard for 3D acceleration. GL stands for graphics library. Open refers to the ongoing,

More information

LOOKING AHEAD: UE4 VR Roadmap. Nick Whiting Technical Director VR / AR

LOOKING AHEAD: UE4 VR Roadmap. Nick Whiting Technical Director VR / AR LOOKING AHEAD: UE4 VR Roadmap Nick Whiting Technical Director VR / AR HEADLINE AND IMAGE LAYOUT RECENT DEVELOPMENTS RECENT DEVELOPMENTS At Epic, we drive our engine development by creating content. We

More information

VR/AR Concepts in Architecture And Available Tools

VR/AR Concepts in Architecture And Available Tools VR/AR Concepts in Architecture And Available Tools Peter Kán Interactive Media Systems Group Institute of Software Technology and Interactive Systems TU Wien Outline 1. What can you do with virtual reality

More information

Arcaid: Addressing Situation Awareness and Simulator Sickness in a Virtual Reality Pac-Man Game

Arcaid: Addressing Situation Awareness and Simulator Sickness in a Virtual Reality Pac-Man Game Arcaid: Addressing Situation Awareness and Simulator Sickness in a Virtual Reality Pac-Man Game Daniel Clarke 9dwc@queensu.ca Graham McGregor graham.mcgregor@queensu.ca Brianna Rubin 11br21@queensu.ca

More information

INCLINED PLANE RIG LABORATORY USER GUIDE VERSION 1.3

INCLINED PLANE RIG LABORATORY USER GUIDE VERSION 1.3 INCLINED PLANE RIG LABORATORY USER GUIDE VERSION 1.3 Labshare 2011 Table of Contents 1 Introduction... 3 1.1 Remote Laboratories... 3 1.2 Inclined Plane - The Rig Apparatus... 3 1.2.1 Block Masses & Inclining

More information

Omni-Directional Catadioptric Acquisition System

Omni-Directional Catadioptric Acquisition System Technical Disclosure Commons Defensive Publications Series December 18, 2017 Omni-Directional Catadioptric Acquisition System Andreas Nowatzyk Andrew I. Russell Follow this and additional works at: http://www.tdcommons.org/dpubs_series

More information

Pangolin: A look at the conceptual Architecture of Super Tux Kart. A CISC 326 Project by:

Pangolin: A look at the conceptual Architecture of Super Tux Kart. A CISC 326 Project by: Pangolin: A look at the conceptual Architecture of Super Tux Kart A CISC 326 Project by: Mohammed Gasmallah Russell Dawes Caleb Aikens Leonard Ha Vincent Hung Joseph Landy Overview Architectural Style

More information

Xplr VR by Travelweek

Xplr VR by Travelweek User Guide Xplr VR by Travelweek Would your clients enjoy experiencing vacation spots worldwide in full Virtual Reality (VR) before booking? Do you want to help test drive destinations, hotels, airlines

More information

Interactive Simulation: UCF EIN5255. VR Software. Audio Output. Page 4-1

Interactive Simulation: UCF EIN5255. VR Software. Audio Output. Page 4-1 VR Software Class 4 Dr. Nabil Rami http://www.simulationfirst.com/ein5255/ Audio Output Can be divided into two elements: Audio Generation Audio Presentation Page 4-1 Audio Generation A variety of audio

More information

University of California, Santa Barbara. CS189 Fall 17 Capstone. VR Telemedicine. Product Requirement Documentation

University of California, Santa Barbara. CS189 Fall 17 Capstone. VR Telemedicine. Product Requirement Documentation University of California, Santa Barbara CS189 Fall 17 Capstone VR Telemedicine Product Requirement Documentation Jinfa Zhu Kenneth Chan Shouzhi Wan Xiaohe He Yuanqi Li Supervised by Ole Eichhorn Helen

More information

Virtual Reality Mobile 360 Nanodegree Syllabus (nd106)

Virtual Reality Mobile 360 Nanodegree Syllabus (nd106) Virtual Reality Mobile 360 Nanodegree Syllabus (nd106) Join the Creative Revolution Before You Start Thank you for your interest in the Virtual Reality Nanodegree program! In order to succeed in this program,

More information

Momo Software Context Aware User Interface Application USER MANUAL. Burak Kerim AKKUŞ Ender BULUT Hüseyin Can DOĞAN

Momo Software Context Aware User Interface Application USER MANUAL. Burak Kerim AKKUŞ Ender BULUT Hüseyin Can DOĞAN Momo Software Context Aware User Interface Application USER MANUAL Burak Kerim AKKUŞ Ender BULUT Hüseyin Can DOĞAN 1. How to Install All the sources and the applications of our project is developed using

More information

Unpredictable movement performance of Virtual Reality headsets

Unpredictable movement performance of Virtual Reality headsets Unpredictable movement performance of Virtual Reality headsets 2 1. Introduction Virtual Reality headsets use a combination of sensors to track the orientation of the headset, in order to move the displayed

More information

An Escape Room set in the world of Assassin s Creed Origins. Content

An Escape Room set in the world of Assassin s Creed Origins. Content An Escape Room set in the world of Assassin s Creed Origins Content Version Number 2496 How to install your Escape the Lost Pyramid Experience Goto Page 3 How to install the Sphinx Operator and Loader

More information

Arcade Game Maker Product Line Requirements Model

Arcade Game Maker Product Line Requirements Model Arcade Game Maker Product Line Requirements Model ArcadeGame Team July 2003 Table of Contents Overview 2 1.1 Identification 2 1.2 Document Map 2 1.3 Concepts 3 1.4 Reusable Components 3 1.5 Readership

More information

ASM(AR) Demonstration Engagements Anti-Ship Missile Active Radar Homing

ASM(AR) Demonstration Engagements Anti-Ship Missile Active Radar Homing ASM(AR) Demonstration Engagements Anti-Ship Missile Active Radar Homing The demonstration scenarios are: 1) Demo_1: Anti-Ship missile versus target ship executing an evasive maneuver 2) Demo_2: Anti-Ship

More information

SVEn. Shared Virtual Environment. Tobias Manroth, Nils Pospischil, Philipp Schoemacker, Arnulph Fuhrmann. Cologne University of Applied Sciences

SVEn. Shared Virtual Environment. Tobias Manroth, Nils Pospischil, Philipp Schoemacker, Arnulph Fuhrmann. Cologne University of Applied Sciences SVEn Shared Virtual Environment Tobias Manroth, Nils Pospischil, Philipp Schoemacker, Arnulph Fuhrmann Cologne University of Applied Sciences 1. Introduction Scope Module in a Media Technology Master s

More information

Team Autono-Mo. Jacobia. Department of Computer Science and Engineering The University of Texas at Arlington

Team Autono-Mo. Jacobia. Department of Computer Science and Engineering The University of Texas at Arlington Department of Computer Science and Engineering The University of Texas at Arlington Team Autono-Mo Jacobia Architecture Design Specification Team Members: Bill Butts Darius Salemizadeh Lance Storey Yunesh

More information

Expanding the PEC With Virtual Experiments

Expanding the PEC With Virtual Experiments Expanding the PEC With Virtual Experiments September 18, 2017 Dave Nero Special thanks to: Jim Stango and Rich Misura 1/19 Learning Objectives 1 The Physics Exploration Center Background Motivation for

More information

Using the Rift. Rift Navigation. Take a tour of the features of the Rift. Here are the basics of getting around in Rift.

Using the Rift. Rift Navigation. Take a tour of the features of the Rift. Here are the basics of getting around in Rift. Using the Rift Take a tour of the features of the Rift. Rift Navigation Here are the basics of getting around in Rift. Whenever you put on your Rift headset, you're entering VR (virtual reality). How to

More information

HARDWARE SETUP GUIDE. 1 P age

HARDWARE SETUP GUIDE. 1 P age HARDWARE SETUP GUIDE 1 P age INTRODUCTION Welcome to Fundamental Surgery TM the home of innovative Virtual Reality surgical simulations with haptic feedback delivered on low-cost hardware. You will shortly

More information

Prepare Checkout and download some of the apps in preparation for our session today. AR Runner MetaVerse CoSpaces

Prepare Checkout and download some of the apps in preparation for our session today. AR Runner MetaVerse CoSpaces Prepare Checkout and download some of the apps in preparation for our session today AR Runner MetaVerse CoSpaces An exploration of AR/VR tools that can be used in a Health and Physical Education Augmented

More information

Capacitive Face Cushion for Smartphone-Based Virtual Reality Headsets

Capacitive Face Cushion for Smartphone-Based Virtual Reality Headsets Technical Disclosure Commons Defensive Publications Series November 22, 2017 Face Cushion for Smartphone-Based Virtual Reality Headsets Samantha Raja Alejandra Molina Samuel Matson Follow this and additional

More information

Bring Imagination to Life with Virtual Reality: Everything You Need to Know About VR for Events

Bring Imagination to Life with Virtual Reality: Everything You Need to Know About VR for Events Bring Imagination to Life with Virtual Reality: Everything You Need to Know About VR for Events 2017 Freeman. All Rights Reserved. 2 The explosive development of virtual reality (VR) technology in recent

More information

SIMULATION MODELING WITH ARTIFICIAL REALITY TECHNOLOGY (SMART): AN INTEGRATION OF VIRTUAL REALITY AND SIMULATION MODELING

SIMULATION MODELING WITH ARTIFICIAL REALITY TECHNOLOGY (SMART): AN INTEGRATION OF VIRTUAL REALITY AND SIMULATION MODELING Proceedings of the 1998 Winter Simulation Conference D.J. Medeiros, E.F. Watson, J.S. Carson and M.S. Manivannan, eds. SIMULATION MODELING WITH ARTIFICIAL REALITY TECHNOLOGY (SMART): AN INTEGRATION OF

More information

Interior Design with Augmented Reality

Interior Design with Augmented Reality Interior Design with Augmented Reality Ananda Poudel and Omar Al-Azzam Department of Computer Science and Information Technology Saint Cloud State University Saint Cloud, MN, 56301 {apoudel, oalazzam}@stcloudstate.edu

More information

Physical Presence in Virtual Worlds using PhysX

Physical Presence in Virtual Worlds using PhysX Physical Presence in Virtual Worlds using PhysX One of the biggest problems with interactive applications is how to suck the user into the experience, suspending their sense of disbelief so that they are

More information

VIRTUAL REALITY LAB Research group Softwarevisualisation in 3D and VR

VIRTUAL REALITY LAB Research group Softwarevisualisation in 3D and VR VIRTUAL REALITY LAB Research group Softwarevisualisation in 3D and VR softvis@uni-leipzig.de http://home.uni-leipzig.de/svis/vr-lab/ VR Labor Hardware Portfolio OVERVIEW HTC Vive Oculus Rift Leap Motion

More information

USER GUIDE JOINING PLAYSIGHT SMARTCOURT

USER GUIDE JOINING PLAYSIGHT SMARTCOURT USER GUIDE JOINING PLAYSIGHT ON THE KIOSK On the SmartCourt kiosk, simply click the JOIN button located in the top left corner and input your personal information (and a six character password of your

More information

University of Toronto. Companion Robot Security. ECE1778 Winter Wei Hao Chang Apper Alexander Hong Programmer

University of Toronto. Companion Robot Security. ECE1778 Winter Wei Hao Chang Apper Alexander Hong Programmer University of Toronto Companion ECE1778 Winter 2015 Creative Applications for Mobile Devices Wei Hao Chang Apper Alexander Hong Programmer April 9, 2015 Contents 1 Introduction 3 1.1 Problem......................................

More information

About Us and Our Expertise :

About Us and Our Expertise : About Us and Our Expertise : Must Play Games is a leading game and application studio based in Hyderabad, India established in 2012 with a notion to develop fun to play unique games and world class applications

More information

Department of Computer Science and Engineering The Chinese University of Hong Kong. Year Final Year Project

Department of Computer Science and Engineering The Chinese University of Hong Kong. Year Final Year Project Digital Interactive Game Interface Table Apps for ipad Supervised by: Professor Michael R. Lyu Student: Ng Ka Hung (1009615714) Chan Hing Faat (1009618344) Year 2011 2012 Final Year Project Department

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology http://www.cs.utexas.edu/~theshark/courses/cs354r/ Fall 2017 Instructor and TAs Instructor: Sarah Abraham theshark@cs.utexas.edu GDC 5.420 Office Hours: MW4:00-6:00pm

More information

FATE WEAVER. Lingbing Jiang U Final Game Pitch

FATE WEAVER. Lingbing Jiang U Final Game Pitch FATE WEAVER Lingbing Jiang U0746929 Final Game Pitch Table of Contents Introduction... 3 Target Audience... 3 Requirement... 3 Connection & Calibration... 4 Tablet and Table Detection... 4 Table World...

More information

BE A FIELD OPERATOR IN HYSYS-BASED OTS AND OCULUS RIFT VIRTUAL REALITY

BE A FIELD OPERATOR IN HYSYS-BASED OTS AND OCULUS RIFT VIRTUAL REALITY BE A FIELD OPERATOR IN HYSYS-BASED OTS AND OCULUS RIFT VIRTUAL REALITY JoseMaria Ferrer (Inprocess) IN A FIELD OPERATOR S SHOES 20 years ago I completed my M.Sc. Electrical Engineer degree and entered

More information

Waves Nx VIRTUAL REALITY AUDIO

Waves Nx VIRTUAL REALITY AUDIO Waves Nx VIRTUAL REALITY AUDIO WAVES VIRTUAL REALITY AUDIO THE FUTURE OF AUDIO REPRODUCTION AND CREATION Today s entertainment is on a mission to recreate the real world. Just as VR makes us feel like

More information

USTGlobal. VIRTUAL AND AUGMENTED REALITY Ideas for the Future - Retail Industry

USTGlobal. VIRTUAL AND AUGMENTED REALITY Ideas for the Future - Retail Industry USTGlobal VIRTUAL AND AUGMENTED REALITY Ideas for the Future - Retail Industry UST Global Inc, August 2017 Table of Contents Introduction 3 Focus on Shopping Experience 3 What we can do at UST Global 4

More information

INTRODUCTION TO GAME AI

INTRODUCTION TO GAME AI CS 387: GAME AI INTRODUCTION TO GAME AI 3/31/2016 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2016/cs387/intro.html Outline Game Engines Perception

More information

Geo-Located Content in Virtual and Augmented Reality

Geo-Located Content in Virtual and Augmented Reality Technical Disclosure Commons Defensive Publications Series October 02, 2017 Geo-Located Content in Virtual and Augmented Reality Thomas Anglaret Follow this and additional works at: http://www.tdcommons.org/dpubs_series

More information

ADVICE FOR USING THE BLUEPRINT

ADVICE FOR USING THE BLUEPRINT Overview It s important to begin any storytelling project with intention. Before you start making things, you should have a clear sense of who you re trying to reach, what you re trying to say and the

More information

Assignment 5: Virtual Reality Design

Assignment 5: Virtual Reality Design Assignment 5: Virtual Reality Design Version 1.0 Visual Imaging in the Electronic Age Assigned: Thursday, Nov. 9, 2017 Due: Friday, December 1 November 9, 2017 Abstract Virtual reality has rapidly emerged

More information

Virtual Reality Mental Health Education

Virtual Reality Mental Health Education psyvr inccorrporratted i Virtual Reality Mental Health Education Introduction page 2 Description of VR-psychosis education project page 3 Purchase/Rental Options page 5 Required hardware and software page

More information

Virtual Reality Game using Oculus Rift

Virtual Reality Game using Oculus Rift CN1 Final Report Virtual Reality Game using Oculus Rift Group Members Chatpol Akkawattanakul (5422792135) Photpinit Kalayanuwatchai (5422770669) Advisor: Dr. Cholwich Nattee Dr. Nirattaya Khamsemanan School

More information

Tobii Pro VR Integration based on HTC Vive Development Kit Description

Tobii Pro VR Integration based on HTC Vive Development Kit Description Tobii Pro VR Integration based on HTC Vive Development Kit Description 1 Introduction This document describes the features and functionality of the Tobii Pro VR Integration, a retrofitted version of the

More information

1 Topic Creating & Navigating Change Make it Happen Breaking the mould of traditional approaches of brand ownership and the challenges of immersive storytelling. Qantas Australia in 360 ICC Sydney & Tourism

More information

Determining Optimal Player Position, Distance, and Scale from a Point of Interest on a Terrain

Determining Optimal Player Position, Distance, and Scale from a Point of Interest on a Terrain Technical Disclosure Commons Defensive Publications Series October 02, 2017 Determining Optimal Player Position, Distance, and Scale from a Point of Interest on a Terrain Adam Glazier Nadav Ashkenazi Matthew

More information

Portfolio. Swaroop Kumar Pal swarooppal.wordpress.com github.com/swarooppal1088

Portfolio. Swaroop Kumar Pal swarooppal.wordpress.com github.com/swarooppal1088 Portfolio About Me: I am a Computer Science graduate student at The University of Texas at Dallas. I am currently working as Augmented Reality Engineer at Aireal, Dallas and also as a Graduate Researcher

More information

Making a Recording in the Booth

Making a Recording in the Booth Making a Recording in the Booth From UW Phonetics/Sociolinguistics Lab Wiki This page is a quick start guide to making a recording in the soundproof booth. Before continuing with the guide, check to ensure

More information

Immersive Visualization On the Cheap. Amy Trost Data Services Librarian Universities at Shady Grove/UMD Libraries December 6, 2019

Immersive Visualization On the Cheap. Amy Trost Data Services Librarian Universities at Shady Grove/UMD Libraries December 6, 2019 Immersive Visualization On the Cheap Amy Trost Data Services Librarian Universities at Shady Grove/UMD Libraries atrost1@umd.edu December 6, 2019 About Me About this Session Some of us have been lucky

More information

Marco Cavallo. Merging Worlds: A Location-based Approach to Mixed Reality. Marco Cavallo Master Thesis Presentation POLITECNICO DI MILANO

Marco Cavallo. Merging Worlds: A Location-based Approach to Mixed Reality. Marco Cavallo Master Thesis Presentation POLITECNICO DI MILANO Marco Cavallo Merging Worlds: A Location-based Approach to Mixed Reality Marco Cavallo Master Thesis Presentation POLITECNICO DI MILANO Introduction: A New Realm of Reality 2 http://www.samsung.com/sg/wearables/gear-vr/

More information

Gesture Identification Using Sensors Future of Interaction with Smart Phones Mr. Pratik Parmar 1 1 Department of Computer engineering, CTIDS

Gesture Identification Using Sensors Future of Interaction with Smart Phones Mr. Pratik Parmar 1 1 Department of Computer engineering, CTIDS Gesture Identification Using Sensors Future of Interaction with Smart Phones Mr. Pratik Parmar 1 1 Department of Computer engineering, CTIDS Abstract Over the years from entertainment to gaming market,

More information

TOUCH & FEEL VIRTUAL REALITY. DEVELOPMENT KIT - VERSION NOVEMBER 2017

TOUCH & FEEL VIRTUAL REALITY. DEVELOPMENT KIT - VERSION NOVEMBER 2017 TOUCH & FEEL VIRTUAL REALITY DEVELOPMENT KIT - VERSION 1.1 - NOVEMBER 2017 www.neurodigital.es Minimum System Specs Operating System Windows 8.1 or newer Processor AMD Phenom II or Intel Core i3 processor

More information

VR for Microsurgery. Design Document. Team: May1702 Client: Dr. Ben-Shlomo Advisor: Dr. Keren Website:

VR for Microsurgery. Design Document. Team: May1702 Client: Dr. Ben-Shlomo Advisor: Dr. Keren   Website: VR for Microsurgery Design Document Team: May1702 Client: Dr. Ben-Shlomo Advisor: Dr. Keren Email: med-vr@iastate.edu Website: Team Members/Role: Maggie Hollander Leader Eric Edwards Communication Leader

More information

Background - Too Little Control

Background - Too Little Control GameVR Demo - 3Duel Team Members: Jonathan Acevedo (acevedoj@uchicago.edu) & Tom Malitz (tmalitz@uchicago.edu) Platform: Android-GearVR Tools: Unity and Kinect Background - Too Little Control - The GearVR

More information

THE PINNACLE OF VIRTUAL REALITY CONTROLLERS

THE PINNACLE OF VIRTUAL REALITY CONTROLLERS THE PINNACLE OF VIRTUAL REALITY CONTROLLERS PRODUCT INFORMATION The Manus VR Glove is a high-end data glove that brings intuitive interaction to virtual reality. Its unique design and cutting edge technology

More information

P15083: Virtual Visualization for Anatomy Teaching, Training and Surgery Simulation Applications. Gate Review

P15083: Virtual Visualization for Anatomy Teaching, Training and Surgery Simulation Applications. Gate Review P15083: Virtual Visualization for Anatomy Teaching, Training and Surgery Simulation Applications Gate Review Agenda review of starting objectives customer requirements, engineering requirements 50% goal,

More information

Diving into VR World with Oculus. Homin Lee Software Engineer at Oculus

Diving into VR World with Oculus. Homin Lee Software Engineer at Oculus Diving into VR World with Oculus Homin Lee Software Engineer at Oculus Topics Who is Oculus Oculus Rift DK2 Positional Tracking SDK Latency Roadmap 1. Who is Oculus 1. Oculus is Palmer Luckey & John Carmack

More information

Linear Motion Servo Plants: IP01 or IP02. Linear Experiment #0: Integration with WinCon. IP01 and IP02. Student Handout

Linear Motion Servo Plants: IP01 or IP02. Linear Experiment #0: Integration with WinCon. IP01 and IP02. Student Handout Linear Motion Servo Plants: IP01 or IP02 Linear Experiment #0: Integration with WinCon IP01 and IP02 Student Handout Table of Contents 1. Objectives...1 2. Prerequisites...1 3. References...1 4. Experimental

More information

PHYSICS 220 LAB #1: ONE-DIMENSIONAL MOTION

PHYSICS 220 LAB #1: ONE-DIMENSIONAL MOTION /53 pts Name: Partners: PHYSICS 22 LAB #1: ONE-DIMENSIONAL MOTION OBJECTIVES 1. To learn about three complementary ways to describe motion in one dimension words, graphs, and vector diagrams. 2. To acquire

More information

Research on Presentation of Multimedia Interactive Electronic Sand. Table

Research on Presentation of Multimedia Interactive Electronic Sand. Table International Conference on Education Technology and Economic Management (ICETEM 2015) Research on Presentation of Multimedia Interactive Electronic Sand Table Daogui Lin Fujian Polytechnic of Information

More information

Contents. Saffire PRO 10 i/o. User Guide. Changes to Version 1. Additional Info. Hardware Monitoring Digital Output Monitoring...

Contents. Saffire PRO 10 i/o. User Guide. Changes to Version 1. Additional Info. Hardware Monitoring Digital Output Monitoring... Contents Hardware Monitoring... 2 Digital Output Monitoring... 3 Digital Inputs and Sync Source Selection... 3 Changes to Version 1 Using Multiple Units on a PC... 3 Additional Info Setting up Multiple

More information

Low-Cost Virtual Reality Environment For Engineering And Construction

Low-Cost Virtual Reality Environment For Engineering And Construction Low-Cost Virtual Reality Environment For Engineering And Construction T. Hilfert and M. König Chair of Computing in Engineering, Ruhr-Universität Bochum, Germany E-mail: thomas.hilfert@rub.de, koenig@inf.bi.rub.de

More information

Learning technology trends and implications

Learning technology trends and implications Learning technology trends and implications ISA s 2016 Annual Business Retreat By Anders Gronstedt, Ph.D., President, Gronstedt Group 1.15 pm, March 22, 2016 Disruptive learning trends Gamification Meta

More information

Easy Input For Gear VR Documentation. Table of Contents

Easy Input For Gear VR Documentation. Table of Contents Easy Input For Gear VR Documentation Table of Contents Setup Prerequisites Fresh Scene from Scratch In Editor Keyboard/Mouse Mappings Using Model from Oculus SDK Components Easy Input Helper Pointers Standard

More information

HeroX - Untethered VR Training in Sync'ed Physical Spaces

HeroX - Untethered VR Training in Sync'ed Physical Spaces Page 1 of 6 HeroX - Untethered VR Training in Sync'ed Physical Spaces Above and Beyond - Integrating Robotics In previous research work I experimented with multiple robots remotely controlled by people

More information

New Developments in VBS3 GameTech 2014

New Developments in VBS3 GameTech 2014 New Developments in VBS3 GameTech 2014 Agenda VBS3 status VBS3 v3.4 released VBS3 v3.6 in development Key new VBS3 capabilities Paged, correlated terrain Command and control Advanced wounding Helicopter

More information

A Highly Generalised Automatic Plugin Delay Compensation Solution for Virtual Studio Mixers

A Highly Generalised Automatic Plugin Delay Compensation Solution for Virtual Studio Mixers A Highly Generalised Automatic Plugin Delay Compensation Solution for Virtual Studio Mixers Tebello Thejane zyxoas@gmail.com 12 July 2006 Abstract While virtual studio music production software may have

More information

Shader "Custom/ShaderTest" { Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) = "white" { _Glossiness ("Smoothness", Ran

Shader Custom/ShaderTest { Properties { _Color (Color, Color) = (1,1,1,1) _MainTex (Albedo (RGB), 2D) = white { _Glossiness (Smoothness, Ran Building a 360 video player for VR With the release of Unity 5.6 all of this became much easier, Unity now has a very competent media player baked in with extensions that allow you to import a 360 video

More information

Getting started 1 System Requirements... 1 Software Installation... 2 Hardware Installation... 2 System Limitations and Tips on Scanning...

Getting started 1 System Requirements... 1 Software Installation... 2 Hardware Installation... 2 System Limitations and Tips on Scanning... Contents Getting started 1 System Requirements......................... 1 Software Installation......................... 2 Hardware Installation........................ 2 System Limitations and Tips on

More information

Dynamic Platform for Virtual Reality Applications

Dynamic Platform for Virtual Reality Applications Dynamic Platform for Virtual Reality Applications Jérémy Plouzeau, Jean-Rémy Chardonnet, Frédéric Mérienne To cite this version: Jérémy Plouzeau, Jean-Rémy Chardonnet, Frédéric Mérienne. Dynamic Platform

More information