KIT208_Assignment 2 Report
Introduction
This app is based on reaction time training used by professional athletes in sports such as Formula 1, sometimes referred to as ‘Flash Reflex Training’. Where users try to press flashing lights as quickly as possible, with the aim of increasing response time, both cognitively and physically. (Ref: https://au.motorsport.com/f1/news/flashing-light-tech-f1-drivers-preparation/7499876/)
Description of the application
The application is built using virtual reality, where the user is required to use standard VR hand controllers to press correctly lit buttons accurately and in this shortest time possible.
The application is a game designed to improve cognitive fitness. When the game is started, at a defined interval, two buttons are illuminated, one with a red light, one with a green one. The user’s goal is to hit the correct (green) button in as short a time as possible, where they receive more points the faster, they hit the button. If the user hits the red button instead, they will lose points.
Interaction Design
Interactions in this application are needed to measure the core purpose of the app. As the aim of the application is to measure and/or improve cognitive fitness, the primary interaction helps to enable this purpose.
The primary interaction is the user pressing each of the lit buttons as fast as possible. This is achieved through the use of virtual reality hand controllers, where the ‘pointing’ action on hand controllers is what registers a virtual button press.
(For testing’s sake, this has been changed to just any collision with the object, due to lack of access to a VR headset).
Primary logic is governed by a game behaviour script, which determines which of the available buttons to light up, one correct and one incorrect press. A separate script for button press detection controls what happens once the button has been lit up, detecting if a press has occurred, or a timer elapsed, both scenarios resulting in the button no longer being lit.
Technical Development
The designed app has been built to use virtual reality, interfacing specifically with the Oculus headset and touch controls. The interaction built into this system is interacting with the array of buttons that will show up to the user on running the app.
The buttons exist in 3 states, a standard unlit button, a green lit button, indicating the button the user should press, and a red lit button, indicating an incorrect button press.
The original idea had been to implement a scoring system, whereby the user would be awarded points for hitting the correct button, with more points being awarded the faster they hit the button, and points being removed if they hit the incorrect button. However this has not been implemented.
Description of 3D Models
Buttons – Prefab cylinder
This model is the core purpose and interaction of this application. It represents the buttons that light up and that the user is supposed to press as quickly as possible. It has three states, a standard ‘unlit’ state (Figure 1), an incorrect button state (Figure 2) and a correct button state (Figure 3).
Figure 1 Unlit Button
Figure 2 Correct Lit Button
Figure 3 Incorrect Lit Button
References
Assets:
- https://assetstore.unity.com/packages/2d/textures-materials/sky/skybox-series-free-103633
- https://assetstore.unity.com/packages/templates/tutorials/creator-kit-fps-149310
- Some logic from scripts was borrowed from to create GameBehaviour script
- https://assetstore.unity.com/packages/essentials/starter-assets-first-person-cha...
Other References:
- https://vionixstudio.com/2022/02/21/how-to-create-a-glow-effect-in-unity/
- https://stackoverflow.com/questions/30056471/how-to-make-the-script-wait-sleep-in-a-simple-way-in-unity
- https://support.unity.com/hc/en-us/articles/206369473-NullReferenceException#:~:text=This%20error%20is%20caused%20when,an%20instance%20of%20an%20object.&text=To%20fix%20this%20example%20we,object%20it%20is%20attached%20to.
- https://docs.unity3d.com/Manual/InstantiatingPrefabs.html https://answers.unity.com/questions/665518/how-can-i-instantiate-object-and-give-it-a-name.html
Leave a comment
Log in with itch.io to leave a comment.