Posted October 14, 2022 by eve
Introduction / Overview
Many people are unable to welcome a furry friend into their homes for reasons outside their control. Take care of your own virtual cat in this interactive simulation built specifically for VR.
Design Revisions:
Technical Development
Expanding on the prototype, we’ve developed various scripts to make the cat’s behaviour more complex, such as by adding a mood system, an audio system, and modifications to existing scripts to work with these new systems.
Cat Audio Manager:
Cat Behaviour:
Cat Interactable:
Cat Mood:
DistanceJoint3D, FrictionJoint3D, RopeRoot, StoreTransform:
Food:
Pat Script
SimpleTeleportBehaviour & ToggleLightSwitchBehaviour
3D Content
Cat model, the main focal point of the application. Several animations were made for the model, including walking, idle, and running animations. Thanks to issues importing IKs into unity, these were not implemented by the deadline.
Model used as the application’s environment, containing walls, a floor, and various decorations. Most of the assets here are relatively low-resolution, which would help our application to easily build to Oculus Quest devices without a loss of performance.
Bowl model, used for feeding the cat. This model, while low resolution to fit with the background assets, is also rendered with smooth shading to give the impression the edges are softer than they are.
Catnip can model. This model, like most of the interactable item models, is in a low-poly style to fit with the environment. It’s used as a visual for the object that initiates the catnip behaviour in the cat.
Cat toy model. This model is low-poly and smooth shaded (to better give the appearance of being a plastic toy). The exterior shell and the interior bell were modelled separately to allow the bell to move freely inside the shell for realism. This is the graphic for the main cat toy that ended up being implemented.
Cat string toy model. This model is composed of a flat feather texture on the end, a handle for the user to grab, and a string connecting the feather to the rod. The string has its own armature as if for animation to facilitate rope physics. Unfortunately, this model was unused because the string physics ended up too unwieldy.
Usability Testing
Our user testing aimed to gauge how compelled users of the application were to keep interacting with the cat, as well as how easy they found the application to use. At the time in development when testing was performed, all of the main features had been implemented in terms of function, and all that was planned to be added was a degree of polish to sell the concept. Testing focused less on the finer details of said mechanics (altering the cat's mood, how levels of hunger affect the cat’s behaviour, etc) and instead focused more on the user’s general experience with the application and whether or not there were enough activities in the scene.
Testing was performed in person, for several minutes at a time. For most of the testers this was their first time using virtual reality, which was appropriate, as our target audience for the application is quite broad. Thanks to this, many hypothetical users would have similarly lacking experience with this technology, and it was important to be sure that the controls were intuitive and simple to understand for new users. During testing, participants were encouraged to:
-pat the cat
-feed the cat
-play with the cat using the various objects around the room
User Feedback Form:
https://forms.gle/q2Qf3Y9YLZMadEf39
In general, users found the navigation of the scene and the use of the general control scheme relatively easy across the board, with 80% of users rating general movement around the scene a 4/5 or above in terms of ease. Similarly, when asked how easy it was to handle the various objects placed around the room, 80% of users rated the controls 4/5 or above, with half of those rating them 5/5.
When asked whether they were engaged by the application, particularly the cat, users indicated that the cat could be more cat-like in terms of behaviour and that there could stand to be more ways to interact with it.
Addressing the Results of the Usability Testing
Taking this feedback into account, we added a new mechanic in the form of catnip. This mechanic alters the cats behaviour in a different way to the food and petting mechanics, to address the variety that our users suggested. Additionally, attempts were made to give the cat more realistic behaviour that we failed to implement by the deadline. These behaviours were going to take the form of several animations that the cat would do depending on its mood. Additionally, we had plans to make the cat follow certain objects and/or the player with its eyes.
References
Freesound.org - cat noises
Textures.com - misc textures
House Interior - https://www.models-resource.com/3ds/nintendogscats/model/30284/
Cat - https://sketchfab.com/3d-models/cat-murdered-soul-suspect-836312def1b84e588866500a2bf79f0f
https://gist.github.com/ditzel/ae6ebc115d767da9a5a1e1f70dee27e5 - Unused rope scripts
Cat toy model, string toy model, and catnip can model - Created by the team