denizkucukbalaban.files.wordpress.com€¦  · web viewto conclude the test table, all of the...

14
Design input and output HCIs to meet given specifications For this section I am expected to design an input and output HCI to meet given specification, our lecturer wanted us to work with the program Unity to create a project that a user can interact with using a Leap Motion controller. So the image above is a sketch of how my Unity project would work with the Leap Motion controller to achieve human computer interaction. The user will be able to interact with a sphere that the user will be able to grab, also the sphere would have physics such as gravity, speed, etc. When the sphere is grabbed, the user is able to throw the sphere to the cylinders, when the sphere hits the cylinders, the cylinders will drop.

Upload: others

Post on 10-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: denizkucukbalaban.files.wordpress.com€¦  · Web viewTo conclude the test table, all of the expected results are the actual results however a few of the expected results have small

Design input and output HCIs to meet given specifications

For this section I am expected to design an input and output HCI to meet given specification, our lecturer wanted us to work with the program Unity to create a project that a user can interact with using a Leap Motion controller.

So the image above is a sketch of how my Unity project would work with the Leap Motion controller to achieve human computer interaction. The user will be able to interact with a sphere that the user will be able to grab, also the sphere would have physics such as gravity, speed, etc. When the sphere is grabbed, the user is able to throw the sphere to the cylinders, when the sphere hits the cylinders, the cylinders will drop.

Page 2: denizkucukbalaban.files.wordpress.com€¦  · Web viewTo conclude the test table, all of the expected results are the actual results however a few of the expected results have small

Create input and output HCIs to meet given specifications

I have completed the Unity project and it works with the Leap Motion controller, the creation is based on my design in the previous task.

https://drive.google.com/open?id=1dzfUR6A1T0dKsBySL0bNzW9XFvBtRsCI

So this is a video that I recorded on my phone which I was planning to use to show my creation and how it works. It was not possible to record my screen using a program because we didn’t have the software therefore I chose to record my creation on my phone and it was a better choice as it shows how I am able to interact with the Unity project with me utilising the Leap Motion controller. The HCI that I created does exactly what I planned and stated in the design, the sphere with physics can be grabbed with your hand using the Leap Motion controller and thrown at the cylinders to knock them over. Also, if the embedded video link is unable to be viewed, I added a google drive download link where the video can be downloaded and watched.

Page 3: denizkucukbalaban.files.wordpress.com€¦  · Web viewTo conclude the test table, all of the expected results are the actual results however a few of the expected results have small

Test the HCIs createdIn this task, I am going to be testing the HCI that I have created and I am going to do this by showing my tests and results on a table. Creating a table for testing is efficient and I use it all the time because everything is labelled, clear and organised.

Test No

Purpose of Test Expected Result Actual Result Notes

1 To check if the Leap Motion

controller works with my HCI

The Leap Motion controller works with

my HCI

The Leap Motion controller works with

my HCI

Although the Leap Motion controller worked with Unity

and my HCI, sometimes it

would not accurately record my hand gestures

2 To check if the sphere was able to be picked up

by the user’s hand gestures

that are recorded Leap

Motion controller

The sphere is picked up by the user’s

hand gestures that are recorded Leap Motion controller

The sphere is picked up by the user’s

hand gestures that are recorded Leap Motion controller

None

3 To check if the sphere is able to be thrown and if the sphere has physics such as gravity, speed,

etc.

The sphere is able to be thrown and the sphere has physics

The sphere is able to be thrown and the sphere has physics

When the sphere is not grabbed

correctly and it is thrown, the sphere

is thrown at an inaccurate direction

4 To check whether the cylinders fall

when the sphere impacts the

cylinders

The cylinders fall when the sphere

impacts the cylinders

The cylinders fall when the sphere

impacts the cylinders

None

5 To check if the sphere and cylinders fall through the

quads (walls) and plane (floor)

The sphere and cylinders do not fall through the quads

and plane

The sphere and cylinders do not fall through the quads

and plane

None

6 To check if the sphere goes through the

cylinders when touched

The sphere doesn’t go through the

cylinders on impact

The sphere doesn’t go through the

cylinders on impact

None

To conclude the test table, all of the expected results are the actual results however a few of the expected results have small errors but overall everything works as expected. Also, the

Page 4: denizkucukbalaban.files.wordpress.com€¦  · Web viewTo conclude the test table, all of the expected results are the actual results however a few of the expected results have small

video from the previous task is the proof for these tests as shown in the video I had many attempts to see if there were any errors and to check if everything worked which it did.

Document the HCIs createdFor this section, I am going to break down my HCI and show how I created it through screenshots and describing those screenshots to explain what the screenshot is about to provide a better understanding.

Firstly, our lecturer advised us to download the Leap Motion Core Assets and Leap Motion Interaction Engine as they will be needed and useful when creating our HCI so I began by downloading those and dragged them to the desktop next to the Unity software to keep everything together. The website that was used to download the Leap Motion Core Assets and Leap Motion Interaction Engine was from the Leap Motion Unity Developer page which is linked here: https://developer.leapmotion.com/unity/#5436356

Next, I imported the Leap Motion Core Assets by going to Assets > Import Package > Custom Package… and selecting the Leap Motion Core Assets then when I was asked to import all assets, I selected import all assets.

Page 5: denizkucukbalaban.files.wordpress.com€¦  · Web viewTo conclude the test table, all of the expected results are the actual results however a few of the expected results have small

Next, I opened the Capsule Hands (Desktop) asset in order for Unity to use the hand input from the Leap Motion controller. I done this by going to the project panel then going to this path Assets > Leap Motion > Core > Examples and in the Example Assets folder click on Capsule Hands (Desktop) and make sure that it is in the Hierarchy panel. I made sure that the Leap Motion controller is working correctly and that it was capturing my hand input accurately by I having the Leap Motion controller plugged into the computer and I went into game mode by clicking the play button at the top center of the Unity program. Our lecturer told us that you must have your hands above the Leap Motion controller as it has an infrared sensor which is used to track hand movement so that is what I did and the hands in Unity where moving in the motion that I was moving them in.

Page 6: denizkucukbalaban.files.wordpress.com€¦  · Web viewTo conclude the test table, all of the expected results are the actual results however a few of the expected results have small

I added the first object which is called a plane which is a flat surface object that is the floor of the scene and I added the plane object to the scene by right clicking hierarchy panel, hovering over 3D object and clicking Plane.

I later on discovered that you can change the texture and material of an object so I changed the colour of the plane from the default colour to dark grey by right clicking the project panel > hovering over create > clicking on material and I created a dark grey material which I

dragged onto the plane in the hierarchy panel.

Page 7: denizkucukbalaban.files.wordpress.com€¦  · Web viewTo conclude the test table, all of the expected results are the actual results however a few of the expected results have small

Next, I added a sphere to the scene by right clicking hierarchy panel, hovering over 3D object and clicking Sphere. Later on I changed the sphere colour from the default colour to green by creating another material and dragging and dropping the material onto the sphere object.

The sphere was too big when created so at first, I resized the sphere by selecting the sphere in the hierarchy panel then going to the inspector panel and changed the scale factor to 0.2 for x, y and z which makes the ball smaller but later on I decided that the sphere was still large so I changed the scale factor to 0.06 for x, y and z.

Page 8: denizkucukbalaban.files.wordpress.com€¦  · Web viewTo conclude the test table, all of the expected results are the actual results however a few of the expected results have small

Next, I selected the sphere object in the hierarchy panel and I clicked add component on the inspector panel, then I searched and added Rigidbody to give physics to the sphere. When play is pressed and in game mode, the sphere can only be pushed and cannot be grabbed just yet.

Next, I imported the Leap Motion Interactive Engine by going to the project panel, right clicking and hovering over import and clicking custom package and import the Leap Motion Interactive Engine.

Page 9: denizkucukbalaban.files.wordpress.com€¦  · Web viewTo conclude the test table, all of the expected results are the actual results however a few of the expected results have small

In the project panel, I went to Leap Motion > Core > Modules > Interaction Engine > Prefabs > Interaction Controllers and I dragged Interaction Manager onto the hierarchy panel.

For the Leap Motion hands to be functional, in the hierarchy panel Rigid Hands left and right in the HandModels folder needed to be deleted which I did and they needed to be replaced with Interaction Hands which are found in the project panel and I found them by searching for them in the search bar of the project panel, I dragged and dropped the Interaction Hands onto the capsule hand left and right.

Next, I selected Interaction Hand left and right and in the inspector panel > Manager, I dragged and dropped the Interaction Manager. Also, I selected the sphere and in the project panel I searched for Interaction Behaviour (Script) and I dragged and dropped it onto the inspector panel.

Page 10: denizkucukbalaban.files.wordpress.com€¦  · Web viewTo conclude the test table, all of the expected results are the actual results however a few of the expected results have small

From this screenshot, you can see the finalised Unity project, I added 4 opaque quads to use as walls to stop the sphere from rolling away, and also I added 9 cylinders that have red material. The cylinders also have Interaction Behaviour (Script) and Rigidbody so that the user is able to interact with them and they also have physics.

Explain how the effectiveness of HCIs may be measuredThe effectiveness of my HCI can be measured through observing many users and seeing how they would setup the Leap Motion controller and the Unity project and seeing if they would be able to figure out how to use the HCI and the main aim of the HCI. Measuring the effectiveness of a HCI is important as this will help further developing the HCI by finding improvements through other people trying the HCI. The effectiveness of a HCI could be measured by seeing how the user reacts to the HCI, can they adapt and understand the HCI or is it confusing and not simple? If the users can adapt and understand the HCI this must mean they are able to use it and the speed and time for the user to perform an input can

Page 11: denizkucukbalaban.files.wordpress.com€¦  · Web viewTo conclude the test table, all of the expected results are the actual results however a few of the expected results have small

measure the effectiveness. If the user takes a long time to understand and interact with the HCI, this must mean that the HCI is not effective but on the other hand if the user takes a short amount of time to understand and interact with the HCI, this must mean that the HCI is effective. My HCI doesn’t include an instruction manual or somewhere where the user can look for help to guide them with setting up the equipment to use the HCI and how to use the HCI, this could leave the user stuck and confused therefore I could add a menu with menu options such as start HCI, restart HCI, how to use HCI and a more help option or I can include an instruction manual to help the user get setup and give them knowledge about my HCI and how to use it. Furthermore, to measure the effectiveness of an HCI, it is important to ask the users about their experience, if they are satisfied and feedback that could be used to further develop the HCI to make it better. Moreover, the effectiveness of a HCI could be measured through looking at what it takes to run the HCI such as equipment and staffing costs and seeing how the costs could be kept low without interfering with the experience of the HCI.

Evaluate the HCIs developedThis assignment was very difficult for me because I have never used Unity to develop anything so it was my first time developing something in Unity and it was challenging because I didn’t have the knowledge of how to use the software however by doing this assignment I have gained knowledge about Unity and how to use it. Also, I have used similar programs in the past for personal use such as Blender and Cinema4d which are modelling and animation applications that helped me understand Unity because terminology such as material and texture wasn’t new to me. Our lecturer clearly explained and guided us on what we needed to do in this assignment and at times I was confused what to I needed to do for certain tasks but the lecturer was supportive and explained to me in detail. Also, we were taken on a trip to the Barbican exhibition which consisted of artificial

intelligence, robotics and HCI and we were taken because it would help us with our assignment and give us inspiration on what we could create for our HCI. The exhibition was interesting and a great experience, I learned new things and something that really intrigued me was the electromagnetic cryptography cipher machine called Bombe which was used to decrypt encrypted messaged in the second world war. Firstly, I

began this assignment by creating the HCI although we were supposed to design a HCI first, we were short on time therefore creating the HCI was the main and time consuming part of this assignment therefore I done it first then I designed what I created. Our lecturer said to us that we could be creative and we can create something simple or explore and create something more complex and I decided to create something simple because of time constraint and that I am not experienced with Unity. To design the HCI, I decided to create a sketch by using pencil and paper and I drew what I created. I decided to create a sketch because drawing is a weakness of mine therefore I decided to challenge myself and it turned

Page 12: denizkucukbalaban.files.wordpress.com€¦  · Web viewTo conclude the test table, all of the expected results are the actual results however a few of the expected results have small

out to be successful because it illustrated my Unity project visually and clearly. In an earlier assignment in this unit we were asked to research about the fundamental principles of HCI design however, I didn’t look back at my research when creating my HCI which I could do in the future to make my HCI user friendly and appealing. Currently, my HCI is a sphere being thrown at cylinders with basic material and colour, what I could do in the future is develop my HCI into a bowling simulation by creating bowling alley and adding bowling pin textures onto the cylinders and adding a bowling ball texture onto the sphere which will make the HCI familiar to users and it will make the HCI more complex as I will be using textures instead of simple colours which will change perception for users for the better. Although the HCI that I created is not appealing and simple, it works as intended, the user can grab and throw the sphere and when the sphere hits the cylinders the cylinders are knocked. Furthermore, I can improve my HCI by getting other people to test it and give me feedback and this is important because the users are the people using the HCI therefore in their experience they may have found something difficult or too complicated which can be reported to improve.

BibliographySites.google.com (Not Dated) How to measure the effectiveness of HCIs Bartlomiej

Available at: https://sites.google.com/site/unit23bartlomiej/m3 (Accessed 5 June 2019)

Sites.google.com (Not Dated) How to measure effectiveness of HCIs Available at: https://sites.google.com/site/damianunit23/home/m3 (Accessed 5 June 2019)

Cryptomuseum.com (Not Dated) Bombe Available at: https://www.cryptomuseum.com/crypto/bombe/ (Accessed 5 June 2019)

(The reason why there are not many references is because this wasn’t an assignment that required much research and it was more of a practical assignment).