CAMPING GUIDE FOR BEGINNER WITH AUGMENTED REALITY (AR) · Matlamat projek ini adalah untuk...
Transcript of CAMPING GUIDE FOR BEGINNER WITH AUGMENTED REALITY (AR) · Matlamat projek ini adalah untuk...
CAMPING GUIDE FOR BEGINNER
WITH AUGMENTED REALITY (AR)
WAN NURUL ‘ATIKAH BINTI WAN KHAIRULAZWA
BACHELOR OF INFORMATION TECHNOLOGY
(INFORMATICS MEDIA) WITH HONOURS
FACULTY OF INFORMATICS AND COMPUTING
UNIVERSITI SULTAN ZAINAL ABIDIN
2019
i
DECLARATION
I hereby declare that this report is based on my original work except for quotations and
citations, which have been duly acknowledged. I also declare that it has not been previously or
concurrently submitted for any other degree at University Sultan Zainal Abidin or other
institutions.
___________________________________________________
Name : WAN NURUL’ATIKAH BINTI WAN KHAIRULAZWA
Date : ……………………
`
ii
CONFIRMATION
This is to confirm that:
The research conducted, and the writing of this report was under my supervision
___________________________________________________
Name : DATIN DR. AZIM ZALIHA BINTI ABD AZIZ
Date : ……………………
`
iii
DEDICATION
Alhamdulillah.
Firstly, I am grateful to Allah SWT for giving me an opportunities and strength to
complete this proposal. I want to thanks to my parent, Mr. Wan Khairulazwa bin Wan Hamzah
and Mrs. Junaini binti Jusoh for supporting me financially and spiritually throughout the
process of writing this thesis and complete my final year project also my life in general.
Besides, I would like to express grateful to my supervisor, Datin Dr. Azim Zaliha binti
Abd Aziz for the continuous support in my research project, for her patience, motivation and
her knowledge. I also feel grateful because she is an expert in the field of information
technology and has a high level of achievement in her previous studies. and I hope that I can
keep learning something new from my supervisor. Lastly, I want to thanks to all my fellow
friends that helped me throughout this research and to who helped me indirectly or directly in
this research.
Thank You.
`
iv
ABSTRACT
The Camping Guide for Beginner with Augmented Reality (AR) is specifically
designed and developed for school students and youth. The aim of this project is to enhance
the learning method from traditional to a technology-based method. For instance, seeking basic
knowledge and guidelines about camping preparation by reading articles or books could be
boring and stressful. Without any proper imaginary, a student could lose their attention.
Therefore, Augmented Reality (AR) technique is chosen as the learning method. Technically,
AR offers an interactive learning environment with the addition of 3-D objects and sound.
Students are required to interact with the application by scanning objects or choose some
options. By engaging the student’s attention, the learning process will be more interesting and
effective.
`
v
ABSTRAK
Panduan Berkemah untuk Pemula dengan Realiti Semula (AR) dirancang dan
dibangunkan khusus untuk pelajar sekolah dan remaja. Matlamat projek ini adalah untuk
meningkatkan kaedah pembelajaran dari kaedah tradisional kepada teknologi. Contohnya,
mencari pengetahuan asas dan garis panduan tentang persiapan perkhemahan dengan
membaca artikel atau buku boleh membosankan dan tertekan. Tanpa sebarang imaginasi yang
betul, pelajar boleh kehilangan perhatian mereka. Oleh itu, teknik Reality Semula (AR) dipilih
sebagai kaedah pembelajaran. Secara teknikal, AR menawarkan persekitaran pembelajaran
interaktif dengan penambahan objek 3-D dan bunyi. Pelajar dikehendaki berinteraksi dengan
aplikasi dengan mengimbas objek atau memilih beberapa pilihan. Dengan menarik perhatian
pelajar, proses pembelajaran akan menjadi lebih menarik dan afektif
`
vi
CONTENT
DECLARATION i
CONFIRMATION ii
DEDICATION iii
ABSTRACT iv
ABSTRAK v
CONTENT vi
LIST OF TABLES viii
LIST OF FIGURES ix
LIST OF APPENDICES x
CHAPTER 1 1
CHAPTER 2 10
CHAPTER 3 19
`
vii
CHAPTER 4 41
4.1 Introduction…………………………………………………………..41
4.2 Interface Design………………………………………………….…...42
4.3 AR Marker……………………………………………………………47
4.4 3D Model…………………………………………………………..…50
4.5 Testing………………………………………………………..………51
4.6 Test Case………………………………………………………..……51
4.7 Results………………………………………………………..………54
4.8 Summary……………………………………………………..………54
CHAPTER 5 55
REFERENCES 58
`
viii
LIST OF TABLES
Table 4. 1 Interface and Button in Main Menu Page 42
Table 4. 2 Interface and Button in How to Explore Page 44
Table 4. 3 Interface and Button in About Us View 46
Table 4. 4 Marker detail for pamphlet image 48
Table 4. 5 Open Application Test Case 52
Table 4. 6 Home Page Test Case 52
Table 4. 7 Let's Explore via AR Camera Test Case 53
Table 4. 8 About Us Test Case 53
`
ix
LIST OF FIGURES
Figure 2. 1 Marker-based AR 11
Figure 2. 2 Marker-less AR 12
Figure 2. 3 Projection-based AR 13
Figure 2. 4 Superimposition-based AR 14
Figure 2. 5 Mountain Hardware AR 15
Figure 2. 6 Camping Checklist 16
Figure 2. 7 Camping Guide 17
Figure 3. 1 ADDIE Model 20
Figure 3. 2 Analysis Phase 22
Figure 3. 3 Flowchart of Pamphlet Pictures AR 24
Figure 3. 4 Landing Page 25
Figure 3. 5 Main page 26
Figure 3. 6 About us page 27
Figure 3. 7 AR interface camera 28
Figure 3. 8 Create Marker 29
Figure 3. 9 Modelling 3D 30
Figure 3. 10 Create marker use Vuforia 31
Figure 3. 11 Building AR with Unity 32
Figure 3. 12 Framework Design 35
Figure 3. 13 Hardware for development requirement 36
Figure 3. 14 Software for development project 37
Figure 4. 1 View of Tent 3D Model in Autodesk 3D Maya software 50
`
x
LIST OF APPENDICES
APPENDIX TITLE PAGE
A Coding Audio 3D Models Popup 59
B Coding Button Using Event Trigger System 65
C Poster Final Year Project 70
1
CHAPTER 1
PROJECT INTRODUCTION
1.1 Introduction
Nowadays, not many people care about outdoor activities. Especially for school
students and youth. During the school lesson in the curriculum, activities bring great benefits
to students. One of the curriculum activities is camping. In camping activities, students will be
taught self-reliance such as cooking, cleaning dishes, search for firewood, and more. In
addition, discipline also can be formed through camping activities. The spirit of cooperation
can be formed during the camp activities where they will work together to do something in the
group. All members will be trained to practice the same weight principles and be lightweight.
In addition, understanding is also formed in the students. Responsibility is also taught in the
students. During camp, students will make sure that the area used is cleaned after use. Of
`
2
course, there are many benefits to be gained through camping activities. Curriculum learning
in schools is increasingly active. However, they are less exposed to safety and some guidelines
that should be applied before and after camp activities. Nowadays, they are only involved in
the activity but do not do so with their environment that could endanger their safety due to their
own carelessness. As we grow older, camping activities are rare. Of course, recreational
activities such as camping are no longer a priority in one's life. As individuals change as they
grow older, it means that their responsibilities and commitments will increase. When we reflect
on our school life background regardless of primary, secondary or higher education, we are
often exposed and invited to participate in camping activities. Especially for those who can join
the uniformed team because camping is one of their top priorities. However, there are many
videos on tips and safety for beginners from professionals when camping. Most users do not
practice what they learn and understand. This is because the source of the references they find
is unattractive and much more factual than theory.
`
3
1.2 Project Background
Augmented Reality (AR) is a type of interactive, reality-based display environment
that takes the capabilities of computer-generated display, sound, text, and effects to enhance
the user’s real-world experience. AR combines real and computer-based scenes and images to
deliver a unified but enhanced view of the world. AR has many different implementation
models and applications, but it is a primary objective is to provide a rich audio-visual
experience. AR works by employing computerized simulation and techniques such as image
and speech recognition, animation, head-mounted, and hand-held devices and powered display
environments to add a virtual display on top of real images and surroundings.
The pamphlet containing illustrative objects with texts to help develop school students
and youth mind to recognize and understand the object and message delivered. This pamphlet
is suitable for a school student or youth as a reference for understanding the camping guideline
as a beginner. It is suitable for beginners who want to start camping and easy to bring anywhere.
For this application, the author will develop the application using the AR technology
in a pamphlet. This pamphlet contains a tent, animal, and a few objects as a model included.
`
4
1.3 Problem Statement
There are a few problem statements for Camping Guideline for Beginner with
Augmented Reality (AR):
1. School students even youth nowadays are too much open with technology, so they
may not have interested too much in outdoor activities like camping. Besides, they
will feel like it is a boring activity, they only troublesome and burdensome. The
younger generation is less interested in outdoor activities such as recreation, sports,
or camping.
2. There are many video reference applications and resources that provide a variety
of information on camping guidelines. However, most users do not practice what
they learn and understand. This is because the source of the references they find is
unattractive and much more factual than theory. Also, they only go camping during
the seasons. This shows that many users do not understand the camping guidelines
to keep an eye.
3. There are many applications for beginners regarding understand the guidelines for
camping in theory but there are no applications that animate the guideline more
interestingly using AR. Users nowadays prefer animated sources because they are more
engaging and easy to understand.
`
5
1.4 Objectives
There are a few purposes in developing the Augmented Reality (AR) for Camping
Guideline for Beginner which is:
1. To study the technology AR can use in pamphlet.
2. To design and develop a pamphlet and mobile application that enable users to learn
with AR technology and the 3D model.
3. To evaluate function AR of pamphlet markers and mobile applications that will be
created can be used smoothly by the user on the android platform and provide
benefits to the user.
`
6
1.5 Scopes
The scopes for this project are identified to make the application development process
easier. The scope is divided into two, which are application scope and user scope admin.
1.5.1 User
• The admin can make maintenance on the application and update a new version.
Besides, the admin can be able to view the responses to the feedback which
comes from the users.
• The school students and youth are the main users of this application.
1.5.2 Application
• AR technology integrated into a mobile application for smartphones.
• Featuring a 3D model for character and object.
`
7
1.6 Limitation of Work
Some several limitations and constraints occurred throughout the development of this
pamphlet marker. These problems and limitations in conducting this study are:
a. The users need a smartphone to start playing the AR.
b. Only Android users can use this application.
c. This application needs a special marker as a marker based to make it work.
`
8
1.7 Expected Result
The expected result following the development of the proposed project as follows:
a. The user can choose any picture of object to pop up as 3D animation.
b. AR with a good interface in this application.
c. User can press button sound for pop up a word.
`
9
1.8 Activities, Milestones (Gant Chart)
This table 1.1 shown the project schedule is to show the flow of development and
activities in developing the application. The table below shows the activities for FYP 1.
Table 1. 1 Milestones
`
10
CHAPTER 2
LITERATURE REVIEW
1.
Introduction
This chapter will explain about literature review that related to the mobile application
Camping Guideline for Beginner with Augmented Reality (AR) that will be develop.
Explanation in this chapter is about the existing application such as mobile application, browser
and others that related to the Camping Guideline for Beginner with Augmented Reality (AR)
and the technology of AR. This literature is made for identifying the weakness or lacking to
related literature review sources.
`
11
Augmented Reality (AR) Platform
AR platform is adding digital elements to a live view often by using the camera on
a smartphone. AR is one of the biggest technology trends right now, and it is only going to get
bigger as AR ready smartphones and other devices become more accessible around the world.
AR let us see the real-life environment right in front of us with a digital augmentation overlaid
on it. AR applications typically connect digital animation to a special ‘marker’, or with the help
of GPS in phones pinpoint the location. Augmentation is happening in real time and within the
context of the environment, for example, overlaying scores to a live feed sport events.
Examples of AR experiences include Snapchat lenses and the game Pokemon Go. Example
AR platform is:
Marker-based AR
Some also call it to image recognition, as it requires a special visual object
and a camera to scan it. It may be anything, from a printed QR code to special signs.
As shown in figure 2.1, the AR device also calculates the position and orientation of
a marker to position the content, in some cases. Thus, a marker initiates digital
animations for users to view, and so images in a magazine may turn into 3D models.
Figure 2. 1 Marker-based AR
`
12
Marker-less AR
Marker-less based AR or location-based or position-based AR, that
utilizes a GPS, a compass, a gyroscope, and an accelerometer to provide data based
on user’s location. This data then determines what AR content you find or get in a
certain area. As shown in figure 2.2, with the availability of smartphones, this type
of AR typically produces maps and directions also nearby businesses information,
applications include events and information, business advertisements pop-
ups, navigation support.
Figure 2. 2 Marker-less AR
`
13
Projection-based AR
As figure 2.3 shown the projecting synthetic light to physical surfaces, and
in some cases allows to interact with it. These are the holograms we have all seen in
sci-fi movies like Star Wars. It detects user interaction with a projection by its
alterations.
Figure 2. 3 Projection-based AR
`
14
Superimposition-based AR
Replaces the original view with an augmented, fully or partially. As seen
in figure 2.4, the object recognition plays a key role, without it the whole concept is
simply impossible. We have all seen the example of superimposed AR in IKEA
Catalogue application, that allows users to place virtual items of their furniture
catalogue in their rooms.
Figure 2. 4 Superimposition-based AR
`
15
Related Products
2.3.1 Mountain Hardware AR
The Mountain Hardware AR was developed by Mountain Hardware Inc.
in May 2019. As shown in figure 2.5, the application uses iOS devices only and
does use internet connection to access. This application does use AR technology
with marker less based and have multimedia element. This application also helps
user shopping through online. However, this application does not provide sound or
audio based and not user friendly. The user must have full internet connection to
access this application.
Figure 2. 5 Mountain Hardware AR
`
16
2.3.2 Camping Checklist
The Camping Checklist was developed by MM Productions in
September 2019. As seen in figure 2.6, this mobile application is used for android
devices only and need full internet connection to access. This application is good
for user to upload their own personal checklist and the user must sign in as a
member first. However, this application does not have multimedia element.
Figure 2. 6 Camping Checklist
`
17
2.3.3 Camping Guide
The Camping Guide was developed by Beginner Dance Tips in October
2019. As shown in figure 2.7, this mobile application uses android devices only
and does use full internet connection to access. This application does have
multimedia element. It also provides many tips about camping through video.
However, this application need full internet connection for user to access and
received data.
Figure 2. 7 Camping Guide
`
18
Summary
In this whole chapter, this chapter discusses a product for Camping Guideline for
Beginner with Augmented Reality (AR) to develop an AR mobile application. This chapter
also discussed the technique used in the new system and mobile application also the technique
that used in the previous research articles. The comparison with the previous research is done
so that the right choice will be selected.
`
19
CHAPTER 3
METHODOLOGY
Introduction
This chapter is an explanation about the methodology that will be used to develop the
application Camping Guideline for Beginner with Augmented Reality (AR) feature. In
addition, there also have the explanation of some software that will be used to build this project.
In this chapter, the author should systematically solve all the problems arise in the system
analysis to make sure this project complete and working well. It is an important step of
development since it will guide researcher through software development. After the application
has been completely developed. It should be tested for make sure all the objective of the project
achieved.
`
20
Methodology Model
The model that the author will used in this system is ADDIE model. The ADDIE
model is important to understand if a developer want to develop a successful project. The
ADDIE model has five phase and it is acronyms to analysis, design, development,
implementation, and evaluation. The ADDIE model is an extremely effective tool in training
development that addresses instruction. Therefore, the ADDIE model might be helpful in
planning a course of action that would lead to the successful implementation of a project. When
dealing with projects that involve instruction or steps, the approach fits nicely. In order to
ensure effective learning outcomes from AR education development, careful planning is
required before the development process begins. ADDIE Instructional Design Model is used
in this mobile AR application development methodology. The ADDIE model for instructional
system design (ISD) is a basic model that can be applied to any kind of learning solution. The
ADDIE model has five steps processes which is analysis, design, development,
implementation, and evaluation as shown in figure 3.1.
ANALYSIS DESIGN DEVELOPMENT
IIMPLEMENTATION EVALUATION
Figure 3. 1 ADDIE Model
`
21
3.2.1 Analysis Phase
As shown in figure 3.4, the analysis phase is the early stage for all other
phases of instructional design. During this phase, it must define the problem, identify
the source of the problem and determine possible solutions that related to the
development of the Camping Guideline for Beginner with AR. The phase may include
specific research techniques such as needs analysis, job analysis, and task analysis.
The outputs of this phase often include the instructional goals, and a list of tasks to be
instructed. These outputs will be the inputs for the design phase.
`
22
Analysis
Problem Statement
1. Not Interaction
2. Not have multimedia element
3. Not user friendly
Objectives
1. To study the technology AR can use in pamphlet.
2.To design and develop a pamphlet and mobile application that enable users to learn with AR technology and the 3D model.
3. To evaluate function AR of pamphlet markers and mobile applications that will be created can be used smoothly by the user on the android platform and provide benefits to the user.
Target1. Admin
2. User: Youth
Content
This project included :
1. Pamphlet
- contain images pictures
- using marker-based for AR
2. Pamphlet using aumented reality technology
Strategy1. Use 3D Model
2. AR technology
Requirement
1. Hardware
- Laptop
2. Software
- Unity 3D, Vuforia,Maya 3D
Figure 3. 2 Analysis Phase
`
23
3.2.2 Design Phase
In design phase, conceptual model, flowchart and storyboard were
developed. The design phase involves the development of the conceptual model for
the mobile AR application which is involves the learning theory, the medium and AR
technology to be used in the application; the teaching and learning approach to be
implemented and the components involve in this mobile AR application.
Flowchart
Flowchart is a diagram that shows the progress flow of system.
As shown in figure 3.3, the application starts by providing users to click
instruction button, AR camera scan button, about us button and exit button
from homepage. The information button will show the user step by step
how to explore the pamphlet using AR camera. Next, the AR camera scan
button is the most important for this application. This button will
automatically turn on the camera on user’s mobile phone. The scan button
will give the opportunities to users to choose any image object. The user
needs to scan an image that created on the page using mobile phone camera.
In a few second, a 3D model will pop out automatically at the mobile phone
screen. The users can touch that 3D model at the screen to make it move.
Then the home button will bring users directly to the homepage which is
making the optional to the users either to click or scan or exit button. The
technology used is AR that combined the reality and virtual environment
together to make a learning process become more interesting.
`
24
Figure 3. 3 Flowchart of Pamphlet Pictures AR
Start
Start
Exit
Exit
End
End
Yes
Yes
Yes
Yes
Homepage
Homepage
Instruction
Instruction
AR camera
scan
AR camera
scan
Pamphlet
Picture/Marker AR
Pamphlet
Picture/Marker AR Information
Information
About us
About us
Yes
Yes
Yes
Yes
No
No
No
No
No
No
No
No
3D model object
popup
3D model object
popup
Yes
Yes
Instruction
Instruction
`
25
Storyboard
Storyboarding is also a part of multimedia design process. The
storyboard shows the look and feel of the application that will be developed.
Some of the storyboard can be seen in picture below;
i. Landing Page
Figure 3.4 shown the landing page of the first page that user
will see when they open the application. User need to wait for the
loading bar to fill up before it goes to the home page automatically.
Figure 3. 4 Landing Page
`
26
ii. Home Page
Figure 3.5 shown the home page of the main page of this
application. There are three buttons on this page. Which is, How
to Explore button, Let’s Play button, About Us button and Exit
button. User can navigate all the button assign on this page.
Figure 3. 5 Main page
`
27
iii. About Us Page
Figure 3.6 shows the about us page. This page has a brief
about the developer and the supervisor of this project development.
Figure 3. 6 About us page
`
28
iv. Augmented Reality Camera Page
Figure 3.7 shows camera page. This camera page is the main
activity of this application. Where it has most of the engagement
happen between user and the AR function.
Figure 3. 7 AR interface camera
`
29
3.2.3 Development Phase
The develop phase builds on both the analysis phase and design phases. The
purpose of this phase is to generate the lesson plans and lesson materials. This phase
will develop the instruction, all media that will be used in the instruction, and any
supporting documentation. This may include hardware and software.
i. Create Marker
This is the first step before start builds 3D animation models. Create
markers using Adobe Photoshop CS64. On the picture, there are pictures of
the object. So, the users are willing to scan images or markers on the picture
and the 3D animation models automatically pop out on the phone screen.
Figure 3. 8 Create Marker
`
30
ii. Modelling 3D
Figure 3.9 shows the developer making the process of modelling 3D
animation models using Autodesk Maya software. The image of the table
shows a reference to create 3D animation. Next process in animating 3D
characters which are texturing. Texturing is the next phase involved while
creating 3D animation. It includes creating a texture from the base, editing
an existing texture for reuse. Shading intensity is to be decided during the
texturing phase and textures are developed like maps and then assigned to
a particular scene or model. After finish modelling the models, the
developer needs to find the right texture to wrap the models.
Figure 3. 9 Modelling 3D
`
31
iii. Create Marker use Vuforia
Figure 3.10 shows that Vuforia can recognize and track targets
by analysing the contrast - based features of the target that are visible to the
camera. The developer can improve the performance of a target by
improving the visibility of these features through adjustments to the target's
design, its rendering and scale, and how it's printed. The star rating of a
target ranges between 1 and 5 stars; although targets with a low rating (1 or
2 stars) can usually detect and track well. For best results, the developer
should aim for targets with 4 or 5 stars.
Figure 3. 10 Create marker use Vuforia
`
32
iv. Building Environment AR with Unity
Figure 3.11 shows the unity 3D software. The developer needs to set
up the Unity 3D before start using it. This is the platform where to begin
building AR experiences. Next, a developer needs to create a project and
create the scenes which are Navigation, Camera & Light, 3D Object,
Physics, Material, and Scripts.
Figure 3. 11 Building AR with Unity
`
33
3.2.4 Implementation Phase
The Implementation phase refers to the actual delivery of the instruction,
whether it's classroom-based, lab-based, or computer-based. The purpose of this phase
is the effective and efficient delivery of instruction. This phase must promote the
students 'understanding of the material, support the students' mastery of objectives,
and ensure the students' transfer of knowledge from the instructional setting to the job.
a. Test Run Project
The developer test runs the project herself. This is to ensure that
the project can be used and is running accordingly.
b. User Test Run
Developer gives to the user to test the project and give the feedback
before presenting the final product. Criticisms and constructive feedback
is taken to be implemented later on.
3.2.5 Evaluation Phase
This phase measures the effectiveness and efficiency of the instruction.
Evaluation should actually occur throughout the entire instructional design process-
within phases, between phases, and after implementation. Evaluation phases may be
formative or summative.
`
34
3.2.5.1 Debug
a. Identify Errors
After done the test run, errors that were found by the users
should be identified. Example, glitches, and mistakes should be
brought to light for developer to improve the project while also
implementing the feedback by the alpha and beta testers.
b. Find solutions
If once errors have been identified, solutions the error must be
done to solve.
3.2.5.2 Final product
a. Presentation
The system is ready to be presented and launched for a large
audience to use.
`
35
Figure 3. 12 Framework Design
Framework Design
Figure 3.12 above shows the framework design of Camping Guide for Beginner with
AR. User can choose any button in this application. The users need to scan any object on
pamphlet for display 3D object. The 3D Unity used to create the Virtual Reality application
and overall project and modelling 3D objects. The Vuforia use to create augmented reality. The
Vuforia detects and tracks the features that are naturally found in the image itself by comparing
these natural features against a known target resource database. Once the Image Target is
detected, Vuforia Engine will track the image as long as it is at least partially in the camera’s
field of view. For the best results, you should aim for targets with 4 or 5 starts.
`
36
Hardware and Software Requirements
This section will show that the all hardware and software that involve in the
development process. All of these elements are important in the process of development of the
system. List of hardware and software that the author used are shown as below:
3.4.1 Hardware Requirement
Hardware is another thing that important to have to make the application
work. Without hardware, the software cannot be use. As seen in figure 3.13, the
hardware that use is a high spec laptop because it need more power when it comes to
work with 3D and animation. Next one is, android phone, it is using to test the
application whether it work fine on the device or not.
i. Laptop (Lenovo Ideapad 330)
• Processor: AMD Ryzen3 2200U with Radeon Vega Mobile Gfx 2.50 GHz.
• Operating System: Windows 10 Home Single Language – 64-bit.
• Memory: 8GB RAM.
Figure 3. 13 Hardware for development requirement
`
37
ii. Printer Brother DCP-J100
• To print out documentation.
iii. Android Mobile Phone (Oppo A3s)
• Used to run and testing the application.
3.4.2 Software Requirement
As shown in figure 3.14, the software used during the Camping Guide for
Beginner with AR application development is Unity 3D – Game Engine; this will be
the main software that should gather and combine the element that will have on the
application Autodesk Maya 3D; this software is used to make a 3D model of anything
such as object mode. Microsoft Visual Code; this software is used for code the
function in the application such as to make the button functioning when the user
presses the button. Vuforia; this is the platform that allows the Camping Guide for
Beginner with AR application to have the feature of AR on the devices.
Figure 3. 14 Software for development project
`
38
i. Unity 3D
• Unity 3D is a powerful cross-platform 3D engine and a user-friendly
development environment. The Unity application is a complete 3D
environment, suitable to create application for mobile, desktop, the web
and consoles. The Vuforia Unity Extension provides:
a. Vuforia Prefabs and Script Components for authoring Vuforia
applications in Unity.
b. Vuforia API Libraries that expose the Vuforia APIs in C#.
c. Support for all Vuforia features and Trackable types.
d. High-level access to device hardware, such as the device camera.
ii. Autodesk Maya 3D
• A platform for creating 3D animation contents start from modelling,
texturing, rigging, animation and rendering to the final output.
iii. Vuforia
• Vuforia uses computer vision to recognize and track planar images
(Image Targets) and simple 3D objects, such as boxes, in real-time.
You also get to grips with some additional features, including: virtual
buttons, background effects, occlusion management, which lets
Vuforia find even partially hidden objects. It implements the following
functionalities: recognition of the different types of visual objects (a
box, cylinder, plane), text and environments recognition, VuMark (a
combination of picture and QR-code).
`
39
• Also, using Vuforia Object Scanner, you can scan and create object
targets. The recognition process can be implemented using the database
(local or cloud storage). Unity plugin is simple to integrate and very
powerful. World-famous applications like BMW Individual 7,
MANGO MNG and Nikola Tesla are Vuforia-based.
• Vuforia, another well-known SDK (software development kit) you can
use for AR application development. This SDK allows you to create a
standalone AR application. It also utilizes image recognition
technology to identify tracker (AR-Marker) from the actual view being
seen through device camera. Once recognized, the AR application
places the virtual object at the same position and orientation of the AR-
Marker.
iv. Adobe Photoshop
• Used to create sketches of background, pamphlet and characters for
application.
v. Adobe InDesign
• Used to create and design layout for pamphlet.
`
40
Summary
Methodology is very important in a system development. It helps the author to make
sure that the system develops correctly from phases to phases. In this system, Iterative and
Incremental Model had been chosen as a guide to build a system. It also helps to ensure all the
objectives of this project to be achieved. Besides, this chapter also explained the hardware and
software requirements for this application.
`
41
CHAPTER 4
IMPLEMENTATION AND TESTING
4.1 Introduction
In this chapter, will be discussing the implementation of the methodology discussed
in the previous chapter and testing to obtain the result of each implementation. Implementation
is executed to ensure this application is developed according to the main objectives of the
project. Testing will be executed so that the developer will recognize the defects as soon as
possible and repair it immediately.
`
42
4.2 Interface Design
User interface (UI) design is the process of making interfaces in software or
computerized devices with a focus on looks or style (Dix, 2012). This will make the application
more interactive and attractive to user.
4.2.1 Main Menu View
Table 4. 1 Interface and Button in Main Menu Page
Interface Main Menu Button in Interface Main Menu
Interface Main Menu
How to Explore button
Let’s Explore button
About Us button
Exit button
`
43
Table 4.1 above shows the whole interface for the home page. There are
several choices buttons such as a button for let’s start, how to explore button, about
us button, and exit button. The interface used an element of tree, tent, nature view to
decorate a home page. The explanation is on Let’s Explore button which is to guide
users on how to use the application smoothly. In Table 4.1 has a Let’s Explore button
for the user to make confirmation to exit from the application. There have some
instructions and technique fingers to use and the application works well.
The main button in this application is a Let’s Explore button and How to
Explore button. The Let’s Explore button is functioned to go to the next scene which
is the user able to scan the flyer provided to show the 3D object and make interaction
on it as Table 4.1 shown above. How to Explore button contains an instruction for
user to follow.
`
44
4.2.2 How to Explore View
Table 4. 2 Interface and Button in How to Explore Page
Interface How to Explore Button in Interface How to Explore
Interface How to Explore 1
Next button
Interface How to Explore 2
Next button
`
45
Interface How to Explore 3
Next button
Interface How to Explore 4
Main Page button
`
46
4.2.3 About Us View
Table 4. 3 Interface and Button in About Us View
Interface About Us Button in Interface About Us
Interface About Us
Main Page button
`
47
4.3 AR Marker
Image recognition is an imperative component of augmented reality (AR) systems. By
use of identifying visual markers already embedded within the system, physical world objects
are detected for superimposition of virtual elements. In order for an AR application to estimate
the orientation and position of a camera with respect to the real-world frame, most applications
employ a tracking technique known as marker based augmented reality.
Once you begin using the marker-based augmented reality system with a digital
device, the image of the physical world captured by your camera is converted into a grayscale
image to expedite the image processing algorithm. The algorithm then uses the image of the
camera as well as the decoded marker ID to augment the virtual object onto the physical world
model. By focusing the camera of whichever digital devices, you are using to deploy the AR
application on the specified markers, the application is able to retrieve the information stored
to display the three-dimensional virtual object accurately.
`
48
Table 4. 4 Marker detail for pamphlet image
Flashcard Image Marker Feature Marker Detail
Type: Single
Image Status: Active
Target ID:
33bc1d5c0db942e0912a19b61acd6e5b
Augmentable: 4
Type: Single
Image Status: Active
Target ID:
6b50b4d6f01b4396a27c536c4ca8ebab
Augmentable: 4
Type: Single
Image Status: Active
Target ID:
5f4d209c714c412d8a2ea2e9bb10df1a
Augmentable: 5
`
49
Type: Single
Image Status: Active
Target ID:
674a528cf11e458db938bc18bb156e26
Augmentable: 5
Type: Single
Image Status: Active
Target ID:
e1f094d399264d9eaf80b884d7cde85c
Augmentable: 4
Type: Single
Image Status: Active
Target ID:
87dd3b6f545a4162bfcdc5636cd357a8
Augmentable: 3
`
50
4.4 3D Model
3D modelling is the creation of a computer-generated representation of an object or
character in 3D space. A 3D modeler has to build models before they can be animated or VFX
can be applied. Depending on the end goal, they may be working from scratch, concept art,
other 3D designs or even optimizing scan data to create models. A modeler will also work on
the topology of the model, or the way vertices and edges are arranged, to ensure the model is
ready for the next steps in the pipeline. Successful modelers will have creative ways of getting
the job done in the time allotted while ensuring the accuracy of the final product.
Figure 4. 1 View of Tent 3D Model in Autodesk 3D Maya software
`
51
4.5 Testing
Testing is needed to test application full function. These is three type of testing in the
application. Those are unit testing, integrate testing and system testing. Unit testing is carried
out to verify the functionality of specific section code and integration testing works to exposed
defects in the interface and interaction between modules. End-to-end testing or system tests a
complete integrated system to verify that it meets its requirements.
4.6 Test Case
Test case is a set of condition or variables under where the tester will determine if the
requirement upon an application is partially or fully satisfied. Test case also can be defined as
a sequence of steps to test the correct behaviour of functionality or feature of an application.
There is a list of steps, test, procedure and expected outcomes would be stated in the testcase.
`
52
Table 4. 5 Open Application Test Case
Step Test Procedure Expected Output Result
1 Open the application.
The logo of the Camping Guide for
Beginner with AR will appear as a
landing page before the home page.
Success
Home page interface with four buttons
which are How to Explore, Let’s
Explore, About Us and Exit button
will appear on the screen.
Success
Background sound will be play. Success
Table 4. 6 Home Page Test Case
Step Test Procedure Expected Output Result
1
Click How to Explore
button
Open and view the tutorial interface
and information.
Success
2
Click Let’s Explore
button
Open and view the AR Camera
interface.
Success
3
Click About Us
button
Open and view the information of
developer and supervisor interface.
Success
4 Click Exit button
Open and exit from the application
and smartphone home will be appear.
Success
`
53
Table 4. 7 Let's Explore via AR Camera Test Case
Step Test Procedure Expected Output Result
1
User enter the AR
camera interface
A camera view will open Success
2
User scans the
pamphlet (Camping
Guide for Beginner
with AR marker)
The 3D model of 3D objects will
automatically appear automatically
and the user can listen the audio
information of each 3D model object.
Success
3
User touch the home
button
Go and view the homepage interface. Success
Table 4. 8 About Us Test Case
Step Test Procedure Expected Output Result
1
Click About Us
button
Open and view the about us interface
of supervisor and developer
information.
Success
2
Click homepage
button
Go and view the homepage interface. Success
`
54
4.7 Results
The expected result after releasing of the application Camping Guide for Beginner
with AR is user should be able to get the interactive way for beginner to learn some tips during
camping. The user also can reduce their imagination for furniture from a piece of paper. The
benefit of Camping Guide for Beginner with AR application is does not use an internet
connection but can imagine physically the model 3D appearance. The developer also expected
that the system could function well and fulfil the user requirement standard especially for
campers.
4.8 Summary
In a nut shell for this chapter, the AR developer shows the interface those developed
for the Camping Guide for Beginner application using AR. The AR developer also put a few
audio information after the 3D model popup on the pamphlet. Next, testing phase did by the
AR developer by testing the application. This phase also important because to optimize the
application for the high level a few error scans be identifying, and the AR developer fixed to
improve functionality of the application. The AR developer does test to the student and youth
of sees the process of camping guide for beginner with AR. If there have any feedback, AR
developer will be improved it immediately. Finally, the test case necessary to guide the tester
to test the application. The application will repeatedly to be tested to minimize deficiency.
`
55
CHAPTER 5
CONCLUSION
5.1 Introduction
In this chapter, the contribution of Camping Guide for Beginner with Augmented
Reality, problem, and limitation during project development as well as the future work in order
to improve the application itself will be discussed.
`
56
5.2 Project Contribution
Camping Guide for Beginner with Augmented Reality (AR) developed based on
ADDIE method mainly aims to give the user to experience the new way to explore the library
and also to provide the user with the information of the library in this application. Meanwhile,
the other aim is to give the user exposure and education about AR technology. Furthermore, it
is very convenient to use because the user only just needs to be download on the Google Play
Store and can use them without any internet connection.
5.3 Problem and Limitation
The major problem and limitation during the project development are to find the way
to optimize the application and stabilize the 3D model to ensure it can be shown without any
failures. Besides that, the limitation is this application only available on the Android platform
only.
`
57
5.4 Future Work
Although the application operates in properly and follow the milestone respectively, there
exist some changes can be taken for better performance. The constraint as described before this can
be corrected and improve the quality for the future. Camping Guide for Beginner still has a lot of
to be improved. There is some suggestion that can be made in order to upgrade the application
to be more efficient in the future. The suggestion is adding an interactive design map. Then,
improve the information of 3D model on marker card for better sight. I hope this application
will be very useful for the user to keep their interest in exploring the nature.
5.5 Summary
Camping Guide for Beginner with AR will help user to explore in interactive way.
This application with AR features developed for user to learn about the simple guide and step
of camping. The framework and user interface design that included in this report can also act
as a guideline for the user to use this application and also for research in their work.
`
58
REFERENCES
1. Feiner, S., Macintyre, B., & Seligmann, D. (1993). Knowledge-based augmented
reality. Communications of the ACM, 36(7), 53-62.
2. Azuma, R., Baillot, Y., Behringer, R., Feiner, S., Julier, S., & MacIntyre, B. (2001).
Recent advances in augmented reality. IEEE computer graphics and
applications, 21(6), 34-47.
3. Billinghurst, M. (2002). Augmented reality in education. New horizons for
learning, 12(5), 1-5.
4. Van Krevelen, D. W. F., & Poelman, R. (2010). A survey of augmented reality
technologies, applications and limitations. International journal of virtual reality, 9(2),
1-20.
5. Brooker, E., & Joppe, M. (2013). Trends in camping and outdoor hospitality—An
international review. Journal of Outdoor Recreation and Tourism, 3, 1-6.
`
59
APPENDIX A: CODING AUDIO 3D MODELS POPUP
using UnityEngine;
using UnityEngine.UI;
using Vuforia;
using System.Collections;
using System.Collections.Generic;
/// <summary>
/// A custom handler that implements the ITrackableEventHandler interface.
///
/// Changes made to this file could be overwritten when upgrading the Vuforia version.
/// When implementing custom event handler behavior, consider inheriting from this
class instead.
/// </summary>
public class DefaultTrackableEventHandler : MonoBehaviour, ITrackableEventHandler
{
public AudioSource aSource;
public AudioClip aClip;
#region PROTECTED_MEMBER_VARIABLES
protected TrackableBehaviour mTrackableBehaviour;
protected TrackableBehaviour.Status m_PreviousStatus;
protected TrackableBehaviour.Status m_NewStatus;
#endregion // PROTECTED_MEMBER_VARIABLES
#region UNITY_MONOBEHAVIOUR_METHODS
protected virtual void Start()
{
mTrackableBehaviour = GetComponent<TrackableBehaviour>();
if (mTrackableBehaviour)
mTrackableBehaviour.RegisterTrackableEventHandler(this);
`
60
{
//Register / add the AudioSource as object
aSource = (AudioSource)gameObject.AddComponent<AudioSource>();
}
}
protected virtual void OnDestroy()
{
if (mTrackableBehaviour)
mTrackableBehaviour.UnregisterTrackableEventHandler(this);
}
#endregion // UNITY_MONOBEHAVIOUR_METHODS
#region PUBLIC_METHODS
/// <summary>
/// Implementation of the ITrackableEventHandler function called when the
/// tracking state changes.
/// </summary>
public void OnTrackableStateChanged(
TrackableBehaviour.Status previousStatus,
TrackableBehaviour.Status newStatus)
{
m_PreviousStatus = previousStatus;
m_NewStatus = newStatus;
if (newStatus == TrackableBehaviour.Status.DETECTED ||
newStatus == TrackableBehaviour.Status.TRACKED ||
newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
{
Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
OnTrackingFound();
`
61
if (mTrackableBehaviour.TrackableName == "house")
{
aSource.PlayOneShot(aClip);
}
if (mTrackableBehaviour.TrackableName == "tiger")
{
aSource.PlayOneShot(aClip);
}
if (mTrackableBehaviour.TrackableName == "snake")
{
aSource.PlayOneShot(aClip);
}
if (mTrackableBehaviour.TrackableName == "bear")
{
aSource.PlayOneShot(aClip);
}
if (mTrackableBehaviour.TrackableName == "tent")
{
aSource.PlayOneShot(aClip);
}
}
else if (previousStatus == TrackableBehaviour.Status.TRACKED &&
newStatus == TrackableBehaviour.Status.NO_POSE)
{
Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " lost");
OnTrackingLost();
if (mTrackableBehaviour.TrackableName == "house")
{
`
62
aSource.Stop();
}
if (mTrackableBehaviour.TrackableName == "tiger")
{
aSource.Stop();
}
if (mTrackableBehaviour.TrackableName == "snake")
{
aSource.Stop();
}
if (mTrackableBehaviour.TrackableName == "bear")
{
aSource.Stop();
}
if (mTrackableBehaviour.TrackableName == "tent")
{
aSource.Stop();
}
}
else
{
// For combo of previousStatus=UNKNOWN +
newStatus=UNKNOWN|NOT_FOUND
// Vuforia is starting, but tracking has not been lost or found yet
// Call OnTrackingLost() to hide the augmentations
OnTrackingLost();
}
}
`
63
#endregion // PUBLIC_METHODS
#region PROTECTED_METHODS
protected virtual void OnTrackingFound()
{
var rendererComponents = GetComponentsInChildren<Renderer>(true);
var colliderComponents = GetComponentsInChildren<Collider>(true);
var canvasComponents = GetComponentsInChildren<Canvas>(true);
// Enable rendering:
foreach (var component in rendererComponents)
component.enabled = true;
// Enable colliders:
foreach (var component in colliderComponents)
component.enabled = true;
// Enable canvas':
foreach (var component in canvasComponents)
component.enabled = true;
}
protected virtual void OnTrackingLost()
{
var rendererComponents = GetComponentsInChildren<Renderer>(true);
var colliderComponents = GetComponentsInChildren<Collider>(true);
var canvasComponents = GetComponentsInChildren<Canvas>(true);
// Disable rendering:
foreach (var component in rendererComponents)
component.enabled = false;
`
64
// Disable colliders:
foreach (var component in colliderComponents)
component.enabled = false;
// Disable canvas':
foreach (var component in canvasComponents)
component.enabled = false;
}
#endregion // PROTECTED_METHODS
}
`
65
APPENDIX B: CODING BUTTON USING EVENT TRIGGER SYSTEM
using UnityEngine;
using UnityEngine.UI;
using Vuforia;
using System.Collections;
using System.Collections.Generic;
/// <summary>
/// A custom handler that implements the ITrackableEventHandler interface.
///
/// Changes made to this file could be overwritten when upgrading the Vuforia version.
/// When implementing custom event handler behavior, consider inheriting from this
class instead.
/// </summary>
public class DefaultTrackableEventHandler : MonoBehaviour, ITrackableEventHandler
{
public AudioSource aSource;
public AudioClip aClip;
#region PROTECTED_MEMBER_VARIABLES
protected TrackableBehaviour mTrackableBehaviour;
protected TrackableBehaviour.Status m_PreviousStatus;
protected TrackableBehaviour.Status m_NewStatus;
#endregion // PROTECTED_MEMBER_VARIABLES
#region UNITY_MONOBEHAVIOUR_METHODS
protected virtual void Start()
{
`
66
mTrackableBehaviour = GetComponent<TrackableBehaviour>();
if (mTrackableBehaviour)
mTrackableBehaviour.RegisterTrackableEventHandler(this);
}
protected virtual void OnDestroy()
{
if (mTrackableBehaviour)
mTrackableBehaviour.UnregisterTrackableEventHandler(this);
}
#endregion // UNITY_MONOBEHAVIOUR_METHODS
#region PUBLIC_METHODS
/// <summary>
/// Implementation of the ITrackableEventHandler function called when the
/// tracking state changes.
/// </summary>
public void OnTrackableStateChanged(
TrackableBehaviour.Status previousStatus,
TrackableBehaviour.Status newStatus)
{
m_PreviousStatus = previousStatus;
m_NewStatus = newStatus;
if (newStatus == TrackableBehaviour.Status.DETECTED ||
newStatus == TrackableBehaviour.Status.TRACKED ||
newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
{
`
67
Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
OnTrackingFound();
if (mTrackableBehaviour.TrackableName == "CardA")
{
aSource.PlayOneShot(aClip);
}
if (mTrackableBehaviour.TrackableName == "CardF")
{
aSource.PlayOneShot(aClip);
}
}
else if (previousStatus == TrackableBehaviour.Status.TRACKED &&
newStatus == TrackableBehaviour.Status.NO_POSE)
{
Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " lost");
OnTrackingLost();
if (mTrackableBehaviour.TrackableName == "CardA")
{
aSource.Stop();
}
if (mTrackableBehaviour.TrackableName == "CardF")
{
aSource.Stop();
}
}
else
{
// For combo of previousStatus=UNKNOWN +
newStatus=UNKNOWN|NOT_FOUND
// Vuforia is starting, but tracking has not been lost or found yet
`
68
// Call OnTrackingLost() to hide the augmentations
OnTrackingLost();
}
}
#endregion // PUBLIC_METHODS
#region PROTECTED_METHODS
protected virtual void OnTrackingFound()
{
var rendererComponents = GetComponentsInChildren<Renderer>(true);
var colliderComponents = GetComponentsInChildren<Collider>(true);
var canvasComponents = GetComponentsInChildren<Canvas>(true);
// Enable rendering:
foreach (var component in rendererComponents)
component.enabled = true;
// Enable colliders:
foreach (var component in colliderComponents)
component.enabled = true;
// Enable canvas':
foreach (var component in canvasComponents)
component.enabled = true;
}
protected virtual void OnTrackingLost()
{
`
69
var rendererComponents = GetComponentsInChildren<Renderer>(true);
var colliderComponents = GetComponentsInChildren<Collider>(true);
var canvasComponents = GetComponentsInChildren<Canvas>(true);
// Disable rendering:
foreach (var component in rendererComponents)
component.enabled = false;
// Disable colliders:
foreach (var component in colliderComponents)
component.enabled = false;
// Disable canvas':
foreach (var component in canvasComponents)
component.enabled = false;
}
#endregion // PROTECTED_METHODS
}
`
70
APPENDIX C: POSTER FINAL YEAR PROJECT