Assignment 5


Introduction

Working at great heights is a dangerous job done by only the most skilled. But even the most skilful people start somewhere, with this application, it allows a safe starting place for crane technicians to learn and practice safe procedures while doing their work.

Since assignment 4, revisions have been made to the interactions and models. Drilling and a has been  added to the application and climbing has been revised to work better. Using a harness was half implemented in assignment 4 but has now been fully implemented and works correctly. More 3D models have been remade and/or added to the project as well as an overall environment redesign to make the application feel more cohesive.

Technical Development

When developing the prototype there were two major interactions that were prioritised at the beginning, the climbing and the clips. Given how large most cranes are, crane technicians can be expected to have to climb them whenever they need to do work. After the crane model was created the ladder was tested using climbing scripts from the tutorials by VR with Andrew (see references below). Climbing to the top of the ladder does take a while but this is important as it helps to teach patience. It could be easy for a technician to get bored and complacent while climbing which could lead to an accident so this aspect should help them learn to keep focused while climbing.

The next aspect developed was the clips that secure the user to the crane and stop them falling. This is to give the user training on how they should keep themselves connected to the crane at all times to prevent falling. The user must be constantly aware of this and the idea is that once they have used the program to train several times it will become second nature that they check that they are secured.

The drill is the next part of the application that was developed as now we needed to give the user some task to do that would give them a reason to climb the crane. The simplest to develop was loose screws on the crane that the user would need to use a drill to fasten back into place. In the final product there would be different issues in many combinations that the user might be tasked with fixing. These would be scaled so that a “harder” setting could be used as the user became better/faster with the program.

A basic menu system also exists within the prototype but is currently not used. This will be an in-game room that the player uses to allocate the settings they want for the scenario. Thing like rain and time of day would be a factor and there are currently variables that control these value but don’t change anything at the moment.

Scripts

Climbing

Climbing is one of the main interactions that is required as the training is centered around the process required to climb a crane and perform repairs. It was one of the first things to be developed due to its importance. In order to get climbing working a tutorial was followed by VR with Andrew (see references).

Utility.cs

This is a simple script that holds a function that finds the nearest object to whatever calls it. The ClimbHand.cs script uses this to locate any nearby rungs when the user attempts to grab onto something.

ClimbHand.cs

Each hand has the ClimbHand script which controls how the user grabs onto the rungs of the ladders. When the user presses a trigger on either controller it checks to see if there is anything in range to grab onto. If there is, it makes the Climb.cs script aware of the fact that the user is currently grabbing onto something so that it can move them around based on the controller movement.

Unfortunately the OVR controllers don’t store the velocity of the hand controller by default so this script calculates by getting the position of the hand at the start of a frame and the end of a frame and determining a velocity based on that. This is passed to Climb.cs and applied as movement if the user is holding onto a rung.

Climb.cs

This script handles the actual climbing movement that the user does. Whenever the hands grab hold of something climbable they make this script aware of their velocity. When the hands let go the script is no longer aware of their velocity and movement stops. While the script knows of a hand it moves the user’s character controller based on the velocity value given by either hand. If the user holds onto nothing it causes them to fall.

Harness and Clips

Another important interaction is the use of clips to keep the user secure on the crane as they traverse it. The user needs to continuously move these clips along with them as they work and move to keep them safely secured.

Rope.cs

This script simply uses a line renderer to simulate the pope between the harness and its clips. It is purely to give a visual representation of what clip is connected to what.

Clip.cs

The clips are able to connect to objects in the scene that are considered as anchors. These can either be stationary points or metal beams that the clips slide up and down. While connected to an anchor the clip will stay as close as possible to the anchor points, sliding up around in the case of longer beams. The user picks up clips with the trigger and when they let go if it is on an anchor it will become attached to it, otherwise it falls down.

The clip cannot get too far away from the user as it is connected by a joint. This joint is used to connect the clip to the anchors as well. When the user places the clip on an anchor and lets go the joint is given the anchor as an end point. Whenever the user grabs the clips it is considered “unclipped” and can be moved around freely.

To stop the user moving too far up the ladder without their clip the climbing script is temporarily disabled when the clip hitst the top of an anchor point. This simulates stopping the user moving. The user is still able to hold onto the ladder as the climb script is what makes them fall.

Drill

The drill is the tool that the user uses to do repairs on the crane. It is not an accurate representation of the repairing process and is meant to act as a goal for the user to move towards while they practice their safe movement practices.

Drill.cs

This script controls all of the functionality with the drill. The user is able to attach the drill to their harness and bring it up the crane with them. At any point they can use the standard OVR grabbing controls to grab and use the drill.

While the user holds the drill they can press the relevant trigger to activate and cause it to spin. If the user holds the active drill on a loose screw it will screw it in and that repair will be considered done.

It was difficult to get a good looking drill bit so a screwdriver is inside the drill and this is what spins when the user presses the trigger.

3D Content

Most of the models we used were made by members of our group, however there were some downloaded online from places like sketchfab and the unity asset store. Our application consists of one scene where both the menu and everything else is located. The player initially begins in an office area where they can select various menu options and settings. The user is then able to move outside and get into the application itself where the environment sets the scene. Buildings surround the player on a terrain. A crane stands tall in the middle where the user will scale it and learn utilise the interactions within the applications. 


Crane

The crane is a very necessary object within this application and is used to bring sense of height, scale and realism to the application. Its purpose is to facilitate the practice of safe work procedures and to give the user a sense of what the real world would feel like. This could obviously be achieved with primitive objects but would feel very lacking in the sense of realism and sense of height would also be lost. 


Building

The buildings within this application serve no real purpose other than to set the scene. It allows the player to feel a better sense of scale. It also helps bring the scene to life and allows the application to feel more realistic.


Office

The office is used for the menu settings. Although there could have been a separate scene dedicated to the menu, we found it fitting to incorporate the menu into the main application scene. This was to again build upon the sense of realism. Creating realism is crucial to making users think of the application as important rather than just a game, which in this situation is important because this is a real life situation where there are real risks if things are not taken seriously.


Drill

The drill is used for completing a task at the top of the crane. Although the drill and the drilling is not the most important aspect of the application, it is a good reminder to the user that they have a purpose within the application. It helps build upon the realism and brings the scene to life more.


Carabiner

The carabiner is used to hook onto things along the progression of the application. Its importance is again to make the level feel more life like.


Terrain and Textures

The terrain and textures use is merely to help build the sense of realism and allows the user to feel more immersed rather than them having to walk along a flat plane.


Skybox

Like the terrain and textures, the skybox is used to build realism and immersion. 


Usability Testing

Design and Plan

At this stage in development the testing needs to focus on the core interactions such as climbing or using the harness and the drill.

  1. The participants will take on the role of a trainee crane technician and be asked to complete 5 tasks with minimal guidance.
  2. Participants must attempt to pick up and attach their harness to the ladder.
  3. Attempt to climb the ladder, remembering to re-adjust the harness as they climb (unclipping from previous position and clipping into the next).
  4. Pickup the drill and attach it to their belt.
  5. Walk to the end of the crane, attaching the harness to anchor points as they go.
  6. Use the drill to screw in loose screws.

The participants will then be asked to fill out a questionnaire answering each question with the Likert scale (Strongly Disagree -> Strongly Agree). The questionnaire will include the following:

Is the harness easy to pick up and use?
Is the climbing smooth?
Is the climbing intuitive?
Is the drill easy/intuitive to use?
Did the environment feel immersive?
Do you feel that the skills being practiced are transferable to a real work environment?

Finally, the participants will be asked several open-ended questions to gauge their opinions on the experience. These questions will include but are not limited to the following:

Did you have any issues with the controls?
Do you think it was easy to figure out where to go?
Are there any changes that would make the experience better?        

Recruitment

6 participants were found from the families of group members as we don’t have access to the required testers. Future tests must account for this.

Protocol of the testing

Testing will be face-to-face and is to be conducted in an open area with no distractions for the participants. The session will last at least 2 minutes so that the participants have enough time to fully experience the application.

Prior to testing the participant is to be read the following:

The purpose of the application is to provide training for crane technicians.
You can walk using the left controller’s stick. You can grab using either trigger underneath the middle fingers. The trigger on the drill can be pulled using either trigger underneath the index fingers.
Upon loading the application there should be a crane and a carabiner on the ground attached to your harness. You are to first attach the carabiner to a pole on the right of the ladder. You are then to climb the ladder moving the carabiner up each time it reaches the end of a pole. Upon reaching the top of the crane you are to pick up the drill, which should be on the platform, and attach it to your belt. You should then walk towards the end of the crane, attaching your harness to each carabiner on the crane as you go. Once the end is reached you should look for 3 loose bolts and attempt to tighten them with the drill.  

Results of Testing

Each question uses a Likert scale with 1 (left) being strongly disagree and 5 (right) being strongly agree.

The next three questions required text responses.

Did you have any issues with the controls?

  • “The climbing with the hands were a little strange but good.”
  • “Grab could have been just one trigger.”
  • “Yes, I had trouble climbing over the ladder at the end.”
  • “Instructions were clear. I just needed more practice.”
  • “Climbing could feel strange sometimes and it was hard to climb the final ladder.”
  • “It took me awhile to get used to climbing and I fall really slow which felt strange.”

Do you think it was easy to figure out where to go?

  • “Yes.”
  • “Mostly.”
  • “Yes, the environment was very clearly structured.”
  • “Yes.”

Are there any changes that would make the experience better?

  • “Faster falling.”
  • “The same as the climb controls suggestion.”
  • “Make it easier to climb over the ladder. “
  • “It would feel more realistic if I could use my feet.”
  • “Make the climbing controls smoother.”
  • “Make it more clear how to use the harness.”

Analyses of the findings

Overall, the testers found they were able to understand the climbing system and using the drill. The feedback regarding ease of use was generally positive. Testers said that the climbing could be refined and that the top of the ladder was hard to dismount. Some also said that the fall speed when falling down the ladder or off a high height was too slow which felt strange. The feedback indicated that the program overall worked in its design goal of being a place that can train and thus transfer the skills over to a real-life equivalent scenario.

Next Steps of Development

Harness and Clips

When it comes to the harness the priority will be to get a 3D model for the harness made.The harness and clips need models that represent what they are so that the users can immediately see what they are used for. There should also be separate areas where the user attaches objects ie. a holster for the drill. The clip will need to have the carabiner clips model on both ends as this will naturally inform the user what function these clips are meant to play.

Climbing

Climbing needs a lot of changes to feel better. The way the user climbs is fine but the climbing itself seems to feel strange to users. At this point switching OVR to XR would be ideal. XR allows for detection of the controllers velocity rather than having to calculate it every frame. These calculations are probably what is causing the strange climbing.

Getting over the last ladders is also an issue so it will probably require that the ladders be adjusted at the top to make this smoother. The best thing to do is to place another ladder side onto the main ladder that allows the user to dismount sideways rather than pulling themself through the ladder.

References

https://sketchfab.com/search?q=carabiner&type=models

https://assetstore.unity.com/packages/2d/textures-materials/sky/skybox-series-fr...

https://assetstore.unity.com/packages/3d/props/industrial/workplace-tools-86242

https://assetstore.unity.com/packages/2d/textures-materials/nature/grass-and-flo...

VR with Andrew Climbing Tutorials:

Get KIT208 - Assignment 4 & 5

Leave a comment

Log in with itch.io to leave a comment.