Assignment 5
Overview
Imagine you want to purchase a new motorcycle, you visit the dealer, but they don’t have the model in stock for you to be able to view, how do you get a good feeling for the motorcycle and decide if you want to purchase?
This application aims to solve this situation, by using augmented reality to show motorcycle models to the customer and allow them to customise the model to their liking.
Improvements From Assignment 4
The following has been improved from Assignment 4
- Yellow polygons disappear once bike has been placed
- Customisation options will now appear when selecting relevant areas on the bike, example shown below
- Added exhaust customisation, model, and colour
- Improved tyre and handlebars, added model customisation
Technical Development
The technical development started off by continuing from the last assignment. At that point only basic functionality had been implemented. This included being able to place the bike using ARCore. From there many things had to be added and improved.
Firstly, the menu and interactive system had to be added to and enhanced. This was done by customising the main menu to have only two buttons, hide UI and reset. If the user clicked reset, ARCore resets. If the hide UI button is clicked, all UI disappears except for a small button that allows the user to show the UI again. Then each of the individual parts needed their own menu, each part was the same with a dropdown for the type of part and its associated colour. For the colour menu, only one dropdown that contains the colours of the bike was included.
We then made a script that detected the taps the user performed on the phone so that a user could tap on a part of the bike and open its associated UI. It was also important to put the colliders on the bike so that it can relay the data to the script.
We then made the ability to change the parts of the bike, this functionality let a user change the handlebars, tyres, or exhaust by tapping on the exact part on the bike itself. It also allowed the user to change the colour of each individual part of the bike as well as the whole body of the bike.
Lastly, we implemented extra functionality to the reset button and changed what happens when the user taps the screen and places the bike in the scene. When the bike is placed in scene, the app now gets rid of the placement markers that ARCore produces as well as not letting the bike be moved by the user until they press the reset button.
ModifyBike1.cs
-This script is responsible for the user being able to modify the bike in real-time. This includes things such as changing the handlebars, tyres, and exhaust. It also allows the user to change the bike’s colour.
ScreenTapDetection.cs
-This script is responsible for detecting where the user taps on the screen and enabling the associated menu for the part that they have tapped on and wish to open.
PlaceOnPlane.cs
-This script comes with ARCore and we have modified it to work better with our application. The initial job for this script was to place a model on any of the surfaces that ARCore detects. We modified this so that once the bike has been placed in the scene the user cannot change its position unless the reset button is pressed. This script also gets rid of the visual aids that ARCore provides to show the detected surfaces, in our case little yellow dots and yellow planes.
3D Content
After assessing each model in detail and deciding what customisations would be available for each motorbike, we discovered that the alteration of each model would be more complex than we initially thought. After spending a few days altering each model in blender, we found a more efficient way to modify each of the models to include the new customisations. This method involved using code to toggle the visibility of each modifiable part of the motorbike, showing only the features selected by the user.
In order to produce a clean and functional application we implemented one motorbike that could undergo multiple customisations. This decision was made based on the timeframe that we had to create this application and our limited experience within blender.
Due to our group having minimal experience using blender, there was a lot of learning and trial and error involved when altering the 3D models. If this program was to be implemented on a real-life showroom floor, a graphic designer would be hired to aid in the alterations of each model. By hiring a graphic designer, it would be possible to add a larger range of bikes and customisations to this application. This would aid in embracing the initial idea for this application by providing a clear and realistic model that the customer can visualise and customise to suit their needs.
Due to the limited time we had to implement this application, it was not possible to produce a fully functional program that covered a large range of bikes and customisations. As a result of this, we decided to use one bike that showcased a few customisations, revealing the potential that this program has for real world applications.
The second issue that we encountered during the 3D design of this assignment arose from our limited experience using blender. We initially wanted to create some of our own customisations to add to each motorbike, however, due to the limited time and our minimal experience with blender, we were unable to make this happen. As a result of this, we decided that the best approach for our modifications was to isolate the handlebars, wheels, and exhausts from each of the four models and implement those as possible customisations.
Since the developmental stages of this application, there have been some minor adjustments to the possible customisations. Initially we had the idea of altering the seats on each of the motorbikes, however, after inspecting the models closely we decided to remove this customisation from the program. We arrived at this decision by comparing the complexity of the task with our skills in blender and the time remaining to complete the program. Similarly, we had the idea of altering the mirrors on each model too, however, due to time constraints we were unable to complete this feature. This was an additional idea that was decided upon later in the development of the program.
Three of the four models that were chosen for this application had the ability to customise the mirrors, wheels, handlebars, exhausts, and colours of the bikes. These customisations are an important part of this program as it grants the user the ability to personalise a motorbike to suit their needs. Without the ability to change the model, the user would be examining a plain motorbike that doesn’t live up to their expectations. The ability to view these models in an augmented and customisable environment allows the user to personalise their motorbike, increasing customer satisfaction and therefore boosting sales.
There are three possible exhaust modifications available in this program. These range from a single exhaust to two different types of dual exhausts. These models were obtained from the Night Rod, Fancy Orange Motorcycle, and the Yamaha. This broad range of designs allows the user to tailor their bike to suit their needs and requirements.
There are four possible handlebar designs for this application, each with varying features. These features range from small and smooth grips to large and patterned designs. These handlebar designs were obtained from the Night Rod, Fancy Orange Motorcycle, Yamaha and Spy-Hypersport. The varying design choices for the handlebars aids in ensuring that the user finds the correct grip type to suit their needs.
There are four possible tyre designs within this application, all of which have varying shapes and designs. These designs range from road tyres to dirt bike tyres. The customisations were obtained from the Night Rod, Fancy Orange Motorcycle, Yamaha and Spy-Hypersport.
The final modification that can be made to each model in this application is the ability to change the colour of the bike. This is one of the most important customisations in this program given the diverse range of colour combinations that are available.
The Night Rod, Fancy Orange Motorcycle, Yamaha and Spy-Hypersport all have the ability to have their colour changed, mirrors and hand grips adjusted, and their exhausts and tyres replaced. Due to the limited time that we had for this project we were unable to add the Night Rod, Fancy Orange Motorcycle and Yamaha models into the application. If we had more time and experience, the final version of this application would have included these three models as customisable motorbikes.
Usability Testing
The primary goal of usability testing is noted to be “help developers produce more products” (Lewis, 2006), utilising qualitative or quantitative testing methods. For our testing, we focused on a quantitative approach, using four questions to elicit feedback from testing users.
Design and Plan
We chose quantitative over qualitative testing as a quantitative approach is faster, more objective, more scientific and data obtained from this method is easier to analyse and make informed decisions from than qualitative testing (Madrigal, D. and McClain, B. 2012).
For the testing process, we wanted to test the features of placing a bike in the environment, changing its colour and the modification of at least one part of the bike. These were chosen to ensure that there was sufficient development time to code all required testing features.
Features of customising the entire bike, and the process for sending a customised bike to checkout were left out of testing, due to a combination of required development time and this application ultimately being a prototype of the concept.
For our application, we aimed to test against four categories, with testers asked to rank each question from Strongly Agree to Strongly Disagree. The questions are listed at the start of the report the findings section.
Recruitment
For our recruitment process we chose five people from friends and family to participate in our usability testing. There are some biases to consider from recruiting people in our immediate social circle. Such as, the answers they provide may be biased towards scoring our application highly in an attempt to appease. It is also worth noting that the people chosen for the usability test likely have a STEM background and are used to switching between multiple programs and learning new ones. This implies they have decent knowledge and background of how an intuitive UI for an application should be presented.
Ideally in a real-world scenario, we would recruit more than five people to obtain more reliable data. We would also aim to test with potential customers and sales consultants in a dealer showroom, or some approximation of this. This would elicit more accurate feedback from potential users of the system.
Protocol of the Testing (the method we used for testing)
Instructions for testers:
The purpose of this application is to be used in a motorbike dealer shop, where a mobile device can be used to see a model of a bike and customise its available options. This application allows you to place a model of a motorbike on your screen and interact with it. You will have the ability to perform the following actions in the app:
• Place a bike model on your screen
• Change the colour of the bike
• Modify various options on each bike
o Change wheels
o Change exhaust
o Change handlebars
Before you start, ensure you have an open space to place the motorbike in. Open the app and start moving your device around. You will see yellow shapes appear on the screen; these detect an area to place the bike in. Once you have an area showing, press anywhere on the screen, the yellow shapes will disappear, and the bike will be shown.
To customise the bike’s options press on or near the item to be customised, for example, to change the exhaust, press anywhere on or near the back of the bike, just under the seat. To customise the colour of the whole bike, press anywhere in the middle of the bike.
Reporting the Findings
Questions:
• It is easy to find an area to place the bike on
• It is easy to change the parts on the bike
• It is straightforward to change the colour of the bike
• The interface is intuitive and user-friendly
Analysis of the Findings
Testing was conducted with two sets of users, one set using a Pixel 2 device and one not. Significant differences were observed between the two sets of testers in questions 1 and 2, however these can be accounted for due to the non-Pixel device testing not having access to a depth sensor. Other than that, general observations were that the application was generally intuitive and useable, and customisations were reasonably easy to use.
Addressing the Results of the Usability Testing
There were some regular complaints and improvements of the app that were mentioned by the testers. Some testers found they needed quite a bit of instruction on how to use the app. Future versions could incorporate some instructions prior to use either in physical form or a short tutorial in the app.
The default exhaust option did not show an exhaust, and this made finding where to customise the part a bit difficult. This could be enhanced by adding a default option that fits all motorcycles and a button or dropdown with the other UI elements that allows you to change the part.
When testers were attempting to change parts of the model, they would sometimes accidentally select the wrong item, possibly due to selection hit boxes being too large or the buttons being too small. This is a difficult issue to fix as there is trade-off between how big the UI should be to operate easily and how much of the bike is visible, as this is the point of the AR application, so a “Hide UI” button was implemented.
Due to time constraints, no changes were made to the app due to user feedback except for hiding the UI. If time had allowed, the following changes would have been made:
• More options for bikes, parts, colours, and lighting scenarios
• Adding sounds for the different exhaust options
• Implementing the feature to send a user customised motorcycle to a counter to be sold
• The addition of a short tutorial as to how the app functions
References
Lewis, J. (2006). Usability Testing. [online] Available at: http://sistemas-humano-computacionais.wdfiles.com/local--files/capitulo:modelage... [Accessed 24 Oct. 2022].
Madrigal, D. and McClain, B. (2012) Strengths and weaknesses of quantitative and Qualitative Research, UXmatters. Available at: https://www.uxmatters.com/mt/archives/2012/09/strengths-and-weaknesses-of-quanti... [Accessed: October 26, 2022].
References used in building application
Amvall (2022) SPY-HYPERSPORT, Sketchfab. Available at: https://sketchfab.com/3d-models/spy hypersport-158b48d550144451a59731720f63650a (Accessed: October 6, 2022).
assetstore.unity.com. (n.d.). Log Viewer | Integration | Unity Asset Store. [online] Available at: https://assetstore.unity.com/packages/tools/integration/log-viewer-12047 [Accessed 28 Oct. 2022].
drydoctoregg (2020) 125cc Naked Motorcycle, Sketchfab. Available at: https://sketchfab.com/3d-models/125cc-naked-motorcycle-c8c2a4c00c464c99969b1fc75... (Accessed: October 6, 2022).
docs.unity3d.com. (n.d.). Trackable managers | AR Foundation | 4.0.12. [online] Available at: https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@4.0/manual/trackable... [Accessed 28 Oct. 2022].
e-restrepo1114 (2021) night rod, Sketchfab. Available at: https://sketchfab.com/3d-models/night-rod-e61fc30b0e2d4920bc2ba45127448204 (Accessed: October 6, 2022).
Stack Overflow. (n.d.). c# - tap detection on a gameobject in unity. [online] Available at: https://stackoverflow.com/questions/38565746/tap-detection-on-a-gameobject-in-un... [Accessed 28 Oct. 2022].
Silas6 (2016) Motorcycle, Sketchfab. Available at: https://sketchfab.com/3d-models/motorcycle-693e83d86e1e4e5b95e4314dbdd95d40 (Accessed: October 6, 2022).
Unity Forum. (n.d.). AR Foundation - Pausing & Resuming tracking? [online] Available at: https://forum.unity.com/threads/ar-foundation-pausing-resuming-tracking.563272/ [Accessed 28 Oct. 2022].
MyLO, Posted by Lindsay (n.d.). Available at: https://mylo.utas.edu.au/d2l/common/dialogs/quickLink/quickLink.d2l?ou=526208&type=content&rcode=UTAS-2904749&launchFramed=1&framedName=Tutorials [Accessed 19 Oct. 2022].
Files
Get KIT208 Assignment 4 & 5
KIT208 Assignment 4 & 5
Status | Released |
Authors | ljpacker, JustinS-H, TheSlavBoi, sam4343 |
More posts
- Assignment 4Oct 09, 2022
Leave a comment
Log in with itch.io to leave a comment.