A downloadable game

Overview

Thinking about working at heights but you’re afraid you might die? Do you currently work at heights, but your boss is too tight on training and you’re afraid you might die? Well with this virtual reality experience, you can learn it! From checking your equipment to completing window cleaning, all from your very own suspended working platform!

 Further interactions were originally planned but ended up being cut due to time constraints. These features included:

  • A fall arrest system to further enhance the training, ensuring that trainees appropriately manage their safety harness.
  • Varied weather conditions.
  • Lateral constraints of the SWP, if required due to wind.
  • Other safe operating procedure (SOP) scenarios, such as safe entry and exit of the SWP. 

Technical Development

We started by continuing Nicholas’s VR assignment earlier in the semester. This application included the window cleaning functionality used as the second stage of the training experience.

We started by using a unity package called Obi Rope to add realistic ropes and physics to the SWP. Instead of using solid ropes or joints, Obi Rope uses particles to simulate the individual “links” of a rope, making them more realistic and able to act physically like a real rope. This allowed us to create a more practical experience where the SWP would be able to move around like it is meant to in real life. To set up Obi rope, first, an Obi solver object must be created. This was the object that handled the simulation of the ropes. Without this, ropes and rods from Obi Rope were static. Next, an Obi Rope object must be created. The path of the rope could be edited with the Obi Path Editor Tool. Once the path was created, additional components could be added to change the behaviour of the rope. Two main components were used in this project. The first was Obi Particle Attachment, which makes a node of the rope fixed to a transform either dynamically (can apply forces to the point) or statically (no forces). The second was Obi Rope Cursor, which allows the rope to be extended or shortened at the cursor position.

To make the SWP move up and down, ropes were created using the Obi Particle Attachment to attach the rope to the SWP system. Then the RopeLengthController script was placed on the up and down buttons, which when the button was pressed either extended or retracted the rope using the Obi Rope Cursor. For the squeegee's rope attachment, a similar process as before was done, except the squeegee's rope was given its own Obi solver so that the simulation parameters could be tuned to better fit the context. 

Next, we began the development of the start-up stage, where users would perform an equipment check, making sure all the required equipment is present, before being able to move onto the next stage. When the application is started the EquipmentManager script randomly decides what equipment will be present in the scene and then passes that information to the EquipmentCheck script. Once the user ticks off the equipment on the board and presses done the EquipmentCheck script will compare the user's entry to what was shown in the scene to see if they have passed the check or not. Pressing done also calls the EndManager script which shows the user either a success message with a button to continue to the next stage or a failure message with a button to reset the current stage and try again. All the buttons use individual scripts that all act in the same way, the scripts for the equipment buttons change their materials from red to green when active and pass that they are active to the EquipmentCheck script.

3D Content

 The application consists of 2 stages, a set-up stage and an action stage. Both are set in a model of a city, the first occurring on the ground and the second on the side of a building. The set-up stage features the SWP and 4 equipment models. While the user can interact with the objects, it's not necessary to complete the stage. The user uses the “monolith” menu to select which items are present for the equipment check, the “monolith” and its buttons were made using Unity’s 3D primitive shapes.


 

In the action stage features the same SWP and equipment models as the first stage, but here the SWP becomes the play area for the user. The squeegee and mop are the tools used to complete the window cleaning task, while the bucket and spray bottle are there to help set the scene.

 

 

Name

Purpose in scene 1

Purpose in scene 2

Image

Suspended Working Platform

Set dressing to tie the stages together

Play area, with up and down controls

 

Control box

Set dressing as part of SWP

Used to control SWP movement

 

Squeegee

Part of the equipment check task

Used to clean the windows

 

Mop

Part of the equipment check task

Set dressing

 

Bucket

Part of the equipment check task

Set dressing

 

Spray Bottle

Part of the equipment check task

Set dressing

 

Dirty Windows

NA

Cleaned with the squeegee or mop

 

City

Ground location used

Side of building used

 

Usability Testing

Design and Plan

We chose to use 9 quantitative questions to test the usability of the application. The quantitative questions provide more objective answers making the collected data easier to analyse.

During the testing process, we wanted to focus on all aspects of the application, including both the equipment inspection and the cleaning state. Both stages are important to the training process this application supports.

 All questions are to be answered from Strongly Agree to Strongly Disagree. Questions are listed below at the start of the “Report the Findings” section.

Recruitment

We recruited 4 people from our friends to participate in the testing. These testers are not ideal as they are not the target audience for the application. They also may have some biases, answering the question more agreeably (or disagreeably) given our relationships to them. They are also more likely to be younger and have more experience in virtual reality and general technology than the target audience.

Ideally, the recruits would be more diverse across age and technology experience and have real-world experience working with suspended working platforms.

Protocol of the Testing

This application was developed to support training to work with Suspended Working Platforms. Through this application, users can perform an equipment check on the ground before performing window cleaning at a height in the SWP.

Before starting make sure you have sufficient room around you to move your arms. Once you have the headset on and the application is started controls are as follows:

  • Use the left joystick to move around the play area.
  • Press and hold both the finger trigger and palm trigger (like making a fist around the controller) to grab the equipment.
  • Press and hold the palm trigger and not the finger trigger (like you are pointing), to interact with the different buttons.

To complete the equipment check you must tick off (by pressing the buttons) what equipment is there, successful completion will allow you to move on to the next stage. During the window cleaning stage, you use the squeegee to clean the windows. To do this, grab the squeegee and drag it around on the dirty windows.

Report the Findings

Pre-experiment questions:

  1. How familiar are you with virtual reality?
  2. How familiar are you with the use of a suspended working platform?

Post-experiment questions:

  1. Are the equipment items easily recognisable?
  2. Is it easy to enter items on the checklist?
  3. Is it easy to continue to the next stage/reset the current stage?
  4. Does the swinging of the SWP cause you motion sickness?
  5. Is the task of cleaning the windows straightforward?
  6. Is the task of moving the SWP  up/down straightforward?
  7. Does the use of virtual reality enhance the training experience?

Testing Results:

 

SD

D

N

A

SA

Q1

0%

25%

25%

25%

25%

Q2

75%

25% 

0% 

0%

0%

 

Q1

 0%

50%

0%

 25%

25%

Q2

50%

0%

25%

0%

25%

Q3

50%

0%

0%

25%

25%

Q4

75%

0%

0%

0%

25%

Q5

25%

25%

0%

50%

0%

Q6

75%

25%

0%

0%

0%

Q7

25%

25%

25%

25%

0%

 Some notable interactions during the testing included:

  • One tester tried to load the equipment into the SWP in the setup stage of the training.
  • Grabbing objects and pressing buttons tended to be a bit finicky. In part, this was due to a bug where the right hand wasn't functioning. 
  •  One tester commented on the poor reflections on the New York City asset.
  • One tester had to bend down quite a bit to press a button at the start.

Analysis of the Findings

Pre-experiment questions:

Q1 indicates that there was a mix of levels of VR experience within the group of testing participants. In older demographics, this result could be much more skewed towards "disagree".

Q2 shows that the testing participants were not familiar with suspended working platforms. This was expected due to the demographic of individuals recruited.

Post-experiment questions:

Q1 suggest that the objects are somewhat recognisable, however, it is dependent on the individual.

Q2 indicated the "monolith" had mixed reception to its ease of use. This could be a variety of factors, such as familiarity with VR, trouble with the height of the buttons or the buttons only working when holding the grip trigger.

Q3 showed similar results to Q2. This is likely because they both were using the "monolith" menu system.

Q4 showed that most of the participants did not feel motion sick due to the SWPusing new rope physics. There was one participant who reported that they did feel motion sick, however, that individual abused a physics glitch to achieve unrealistic motions of the SWP (phoon style).

Q5 indicated a mixed response to the ease of cleaning the windows using the squeegee. This could be due to the lack of instructions in the scene at the time of testing.

Q6 showed that the participants found it difficult to move the SWP up and down. Likely this was due to a bug where the right hand didn't function, in combination with a lack of instructions in the scene and the buttons only working when holding the grip trigger.

Q7 showed a mixed response to the effectiveness of VR in the training experience. The main complaints from the participants, however, weren't related to the use of VR but the relatively barebones and feature-poor nature of the application at this point in development.

Addressing the Results of the Usability Testing

Based on the feedback a few key issues were noticed that would be relatively simple to fix or change in the development timeframe. The changes and fixes implemented based on the testing feedback included:

  • Fixing a bug where the right hand did not work to pick up objects or press buttons. The bug arose during development when trying to create a dynamically moveable attachment point for equipment.
  • Reducing the size of the "monolith" menu and raising it higher off the ground to improve the ergonomics of the interaction.
  • Removing a physics bug that allowed the user to fly in the second scene using the squeegee.
  • Added some instructions to the second scene where the user is on the SWP cleaning windows.

Based on the feedback from user testing, future improvements of the program would include:

  • Complete redesign of the menu/UI to be more user-friendly (e.g. easier-to-press buttons, raycast menu system);
  • better reflections to the environment and when cleaning the windows to improve immersion;
  • allow the user to manually load the SWP with equipment;
  • moving from the ground to the SWP as an interaction instead of changing scene;
  • adding functionality to the other equipment, and;
  • explicitly defining an end goal  (e.g cleaning all the windows).


References

Assets

Obi Rope: https://assetstore.unity.com/packages/tools/physics/obi-rope-55579

3D Models

Rail Mounted Window Cleaning Platform Gondola - 3D Warehouse (sketchup.com)

Real New York City Vol. 1 | 3D Urban | Unity Asset Store

Paint in 3D - Free Download - Unity Asset Free

https://www.cgtrader.com/free-3d-models/industrial/tool/mop

https://www.cgtrader.com/free-3d-models/household/other/cc0-bucket-3

https://www.turbosquid.com/3d-models/spray-bottle-3d-1508629

Audio

Small Motorized Ship Anchor Winch Starts Runs and Stops

Wind Outside | Sound Ambient | Royalty-free Music - Pixabay

Open Window New York City Soundscape at Night (Midtown Manhattan City Sounds) 4k

Programming/Unity

Unity - Scripting API: Transform.position (unity3d.com)

Unity - Manual: Input for Oculus (unity3d.com)

Set bool in inspector and execute Method ? - Unity Forum

C# Convert Bool to Int - Dot Net Perls

c# - Play and wait for audio to finish playing - Stack Overflow

Paint in 3D - Documentation - 3.0.0

Looking for OVRGraber/OVRGrabbable advanced tutorial - Meta Community Forums

http://obi.virtualmethodstudio.com/forum/archive/index.php?thread-6.html

http://obi.virtualmethodstudio.com/manual/6.3/

http://obi.virtualmethodstudio.com/manual/6.3/ropesetup.html

http://obi.virtualmethodstudio.com/manual/6.3/ropecursor.html

http://obi.virtualmethodstudio.com/manual/6.3/convergence.html

ChatGPT was used for debugging the RopeLengthController script. Turns out some variables weren't properly initialised.

Leave a comment

Log in with itch.io to leave a comment.