Assignment 5 report
KIT208 – Virtual and Mixed Reality Technology
AT5
Development of Interface Application
Daniel Thomson [575576], Jonathan Charleston [623759], Mingyang Yin [619211], Jes Lewincamp [497495], Connor Brooks [595866]
Introduction / Overview
What is Pet good?
Pet Good is the ultimate VR experience for aspiring pet owners, allowing users to learn to take care of their pet without its well-being in the balance. Dive into immersive simulations that teach you how to create a comfortable environment for birds, fish, dogs, cats,and even lizards ensuring a smooth transition into professional pet ownership. PetGood: Your guide to becoming a responsible pet parent without trial and error.
Design Revision
Bird Section:
- Condensed tutorial text to allow for succinct and easy to follow instructions
- Aesthetic changes, including the placement of the environment
Dog Section:
- Control remapping to make more intuitive
- Streamline some processes so less button clicks are required
Fish Section:
- The fish becomes more real.
- Now the fish can swim!
- Wanna feed the fish? This function is now ready
Lizard Section:
- Is more informative without outside help
- Objects (and the lizard itself) are less likely to fall into the void.
In summary across the differing sections that constitute Pet Good, the design revisions were made to ensure realism, user experience, and error reduction. These revisions ensure pet good lives up to its goal of user education by applying a realistic task to an aesthetically pleasing and error free scene, pairing positive user experience with purpose.
Technical Development
Overview of the technical development
The app is a virtual reality app developed through unity and runs on Oculus headsets. In addition, in order to solve the problems raised, the app includes 3D models of birds, dogs, cats, fish and lizards, and each 3D model has corresponding interactive functions. These interactive features are implemented through Oculus built-in features and C# code. The app consists of six main functions. The following is an explanation of each function.
Key technical development aspects
Grabble function
As the name suggests, this function allows users to grab 3D models and is a function that comes with oculus. For example, users can grab apples or corn to feed birds or fish in the bird section or fish section.
Pokable function
The pokable function allows the user to interact with the 3D model after touching it to make the model more interesting. For example, the cube on the right side of the Fish tank in the Fish section allows the user to turn on the light inside of the Fish tank after touching it. In addition, through this function users can touch NPCS in the bird section and hide them.
Animation controller
Animation Controller is a controller used to manage and control animation, usually in conjunction with an Animator component, to animate a 3D model. For example, the motion of the Fish's tail in the Fish section is controlled by the Animation Controller.
Distance grab/grabbable functions
These functions determine what can and can’t be grabbed at a distance, like the grabble script, but with extra range.
Snap to Area function
The ‘snap to area’ function will make a predetermined object snap into place as soon as the object enters its trigger area, essentially making the object snap to wherever it ‘should’ be. This function is used in the Lizard training to make the tank look nicer once completed.
Win Condition function
This function's sole purpose is to tell the player that they have completed the tutorial, all it does is make congratulatory text unhide itself when it detects that all snap to area scripts have snapped their objects into position.
3D Content
Lizard Training
3D Object/Asset | Brief Description/Overview |
| Heat lamp: Used as an essential part for caring for a lizard Made by Connor in blender Black road texture Black plastic texture |
| Rock: Used as an essential part of keeping a lizard. Made by Connor in blender Dark cracked earth texture template Rock Texture |
| Log / Den: Used as a lizard Den, an essential part of keeping a lizard. Simple Hollow Log - Download Free 3D model by Thunder (@thunderpwn) [38a0015] Log object |
| Pool/Bowl Used as a water bowl in the lizard enclosure. Or as a pool. An object needed to keep a lizard happy and healthy. Made by Connor in Blender Seamless yellow wallpaper - iStock bowl texture |
| Lizard: The Model used as the lizard in the Lizard training section. |
| Pedestal: A background object used to hold the Lizard enclosure. Made by Connor in Blender |
| Lizard Enclosure: A tank to keep the lizard, and other objects essential for keeping a lizard, in. Haystack 1 PBR Material Floor material Black road texture Black plastic texture Made in unity |
| Room: The room in which the player learns how to take care of the lizard. It is very bland to make the player not care about it. Loop Pile Carpet — Architextures carpet texture Fine Wood planks texture – TexturePalace.com wood plank trim texture Seamless yellow wallpaper - iStock yellow wallpaper texture White roof texture roof texture |
Bird Training
Background Bird 1 Parrot: Decoration and to enforce upon the user that this is the bird training. https://sketchfab.com/3d-models/high-detailed-red-parrot-920cc524860e44fa874eed2462a1e247 | |
Background Bird 2 love bird: Decoration and to enforce upon the user that this is the bird training. https://sketchfab.com/3d-models/love-birds-parrot-e31e1c72cff140158b99172285b40056 | |
| Interactive Bird Cartoon Sparrow: Target of users care, moves with animation and motion. https://assetstore.unity.com/packages/3d/characters/animals/quirky-series-free-animals-pack-178235 |
| Blocks: Decoration and to teach the user how to hold objects. Made in Unity |
Apples: Used in feeding interaction https://poly.pizza/m/ZjFo9SH6T0 | |
| Audience: Used to simulate people as a bird stressor. https://assetstore.unity.com/packages/3d/characters/city-people-lite-260446 |
| Dialog box: Informs user how to play. Made in unity from base interaction explanation scenes in tutorial project. |
| Room: The place in which the task takes place. Made in unity from base interaction explanation scenes in tutorial project. |
| Cage: Holds the bird initially. https://poly.pizza/m/TAqDCvxcxd |
Fish Training
| Fish Tank |
| A fish |
| Cube for the user to touch to show the learning model and make the fish tank more clear |
Dog Training
https://poly.pizza/m/00f9MZIwA1V - Chess set | Jarlan Perez
https://poly.pizza/m/aoNcGMnNiG - Cable | Quaternius
https://poly.pizza/m/8kSHCCK66fa - Lego Moon Buggy | Ben Mitchell
https://poly.pizza/m/fBHV3AYiitX - Fireplace | Poly by Google
https://poly.pizza/m/8QtaCh2s3sm - Black Game Controller | Paul Spooner
https://poly.pizza/m/1PfSi8Y5J4u - Chocolate | Jeremy
https://poly.pizza/m/7JGnSIxgRVC - Grapes | Jarlan Perez
https://poly.pizza/m/5TDOcmDQlCV - Onions | Poly by Google
https://poly.pizza/m/1S8cp-PCpfJ - TIME HOTEL 2.15 | S. Paul Michael
https://poly.pizza/m/cAmECzmVE2_ - Watercolor Set | Don Carson
https://poly.pizza/m/2jFwyCzAAaP - Toy train | Jair Trejo
https://poly.pizza/m/vlVx279xut - Trashcan | Quaternius
https://poly.pizza/m/n88WAcjzTv - Window Small | Quaternius
https://poly.pizza/m/y4wdQpg767 - Shiba Inu | Quaternius
https://poly.pizza/bundle/Ultimate-Interior-Props-Pack-9KfkK2H0ve - Ultimate Interior Props Pack | Zsky
https://poly.pizza/bundle/Ultimate-Food-Pack-h3WC1gyRb4 - Ultimate Food Pack | Quaternius
Usability Testing
Design and Plan
As a team, a plan and procedure for testing was designed to be used across all scenes. Each scene in the project was separately tested. This allowed for flexibility in our testing as survey questions could be tweaked and tailored for that scene if needed. Furthermore, having 3 different individuals test for each software meant a larger pool of testers was used, making our testing more robust.
Methodology
- Recruit 3 individuals for testing. (refer to below for desired requirements)
- Individual plays the software
- Individual fills out survey
Recruitment
For the testing process it was important to involve a diverse pool of individuals. This includes a diversity in previous VR experience and previous animal handling experience. Individuals with differing experiences interact with the software differently. Involving differing playstyles increases the chance for errors and areas of improvement to be exposed. On top of this, it was important to recruit individuals who the software is actually catered for: people with zero or little previous animal handling experience or aspiring pet owners.
Protocol of the testing
For each scene, testing was conducted in accordance with the above described methodology. On top of this, the following protocol was followed to help ensure controlled, accurate and thorough testing results.
- Use VR Link or Screen record (to have documentation if bugs are discovered).
- Use the same build for each tester.
- Provide little to no verbal assistance to ensure that controls and objectives can be conveyed through the software alone.
Usability Testing Findings:
Bird:
Of the three users tested in this section, all successfully completed the content. This was measured by whether they successfully completed all of the tasks required to open the bird cage or not, as seen in the showcase video. Their feedback was then collated for analysis. Two of the three users gave the VR element of the experience a five out of five, with the other giving it a four out of five. This reflected the positive attitude they displayed while testing, with most users finding it novel and interesting to poke, touch and move 3D objects rather than simply watching a video on the same topic. The users selected had limited VR experience; only one of them had ever touched a VR headset prior to this experience. This led to their responses when asked, “Are the controls intuitive?” to be mixed, with a 3, a 4, and a 5 out of 5. If given more time to garner experience in a VR headset, this aspect of user feedback would have been largely mitigated. This is because the control orientation used in this experience is consistent with most games, and changing the controls to suit one person would overall accentuate this problem over rectifying it. Despite the control issues all users said it was educational, with the tasks acting as an engaging way to reinforce the desired knowledge.
In relation the difficulty of the tasks, all users found it relatively simple aligning with what was expected prior to initalising the test. This was reflected in the survey with all 3 people saying it was 3 or above in terms of ease of difficulty. In terms of specific struggles 1 user stated nothing with the other two responses relating to general VR experience and its accompanying controls. The users also found the length adequate across the board and all felt relatively more ready to take care of a pet. Overall the user testing successfully revealed that even users that have never utilised a VR headset can undergo the experience, supporting the success of this experience.
(see spread sheet results below for more info)
Fish:
In this part, three volunteers were found for testing and all of them completed the operation according to the instructions. Two of the volunteers rated the experience as a five and one as a four meaning that overall the fish content was interesting and engaging. However, when asked, "Are the controls intuitive?", most of the volunteers gave it a score of four. According to the comments, they could not easily understand each button because the buttons did not give good instructions. In addition, because the fish tank obscured part of the learning text, some volunteers thought that the fish teaching part did not provide a good learning aspect.
Although each user gave a variety of different suggestions, the question was asked how difficult it was to complete the task. Everyone thinks it's very simple which means that overall this part is very easy to control.
Dog Training
The largest area for improvement identified by testers was the controls. Some users had difficulty with the controls to the point where the headset needed to be removed to refamiliarise the position of buttons. This completely destroys the flow and streamline nature of this software. It can be seen that these poor results can mostly be accredited to the users being new to VR. Despite this, remapping of the controls were put in place to help and make them more intuitive to a first time user. The problem seemed to stem from the amount of button presses required to complete the task and memorisation of their positioning. Also, users had difficulty identifying and finding the hand trigger input.
The laser process has now been streamlined. Pressing the index trigger fires a laser and the UI is automatically displayed on release. This removes a ‘difficult’ button press entirely.
Furthermore, distinguishing between pressing A and B on the right controller appeared to be difficult for users. To help with this, controls have been remapped so that pressing either button on the right controller now adds to list and either button on the left controller deletes from list.
UI toggle is now assigned to hand trigger as it is not necessary for completion of the software but more a nice to have.
The testing results seen above suggest that the software is making the most of the VR interface and that the experience is well catered to this format. Overall users felt more ready to own a pet. Even those with large amounts of previous animal handling experience reported that they learnt something through playing the software.
Lizard Training
Note: due to a lack of people immediately around the tester, only one person tested the experience, and took the survey. If I were to run testing again, I would get a larger group of different people with varying levels of technology experience, to get a true sample of what people think.
According to all of the one person that tested the lizard training experience, it was very well catered to VR, and other forms of media wouldn’t give the training as well, or to the same extent, as actually seeing the lizard enclosure made with your own hands, despite the lack of interest in VR or it’s benefits for learning.
It should be noted that the testee has only used VR for brief periods before this, and does not fully understand how the controllers work, and for the first half of the testing period thought that the trigger was the grip button. This score for intuitive controls means that the controls were intuitive enough that they would not need changing, saying that the only controller inputs the player can give are the grip buttons, which are widely accepted as the best option for picking up objects.
The software is still at a basic level of education, it’s no secret that it needs more in terms of ways of teaching the player more about caring for lizards. But then again, caring for lizards is fairly simple, and this tutorial focuses on teaching them mainly on enclosure preparation, rather than feeding or helping with shedding.
This is because the tasks are simple, it’s very easy to set up a lizard enclosure. However the next iteration would include some harder tasks, or more intricate versions of the current tasks, such as plugging in the heat lamp or filling the water bowl.
This was because of a bug that caused the props to fall through the floor. It seemed to happen a lot more often with the den for no reason I can tell, but it seems to be working a bit better now.
This is exactly what the training was aiming for, the experience is about 5 minutes long (currently), and teaches enough on the basics of lizard keeping that it hits a sweet spot between too long or too short.
This proves that the training can work for someone who otherwise may not have felt like they could own a pet lizard, even in its basic state.
This refers to a glitch or two out of my control, as far as I know the distance grabble script was adding force to the objects when it was not supposed to, or the grab range trigger became a regular collider.
This concludes the usability testing report for the Lizard section.
Results
Reference
3D model:
J-Toastie 2022 Fish Tank Poly.pizza viewed 4 October 2023,
<https://poly.pizza/m/FLnlsLbY2s>
Quaternius 2021 Fish Poly.pizza viewed 4 October 2023,
<https://poly.pizza/m/BEcU9rjiAq>
Toggle Light Switch Behaviour Script:
https://mylo.utas.edu.au/d2l/common/dialogs/quickLink/quickLink.d2l?ou=598980&ty...
Show Text Script:
https://chat.openai.com/share/b4976a65-7014-4324-bced-159744b33a45
Food disappear
https://chat.openai.com/share/2f2dbc2e-70b5-4ac6-8f13-c9272ef1b235
Fish move
https://chat.openai.com/share/6834f1a6-0393-47d6-a734-781d7c3e0f2e
Leave a comment
Log in with itch.io to leave a comment.