ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO ĐỀ TÀI ĐỒ ÁN 1
Tên đề tài: Ứng dụng tương tác 3D kết hợp
Thực tế tăng cường (AR) vào công tác giáo dục.
Giảng viên hướng dẫn: ThS. Đỗ Thị Thanh Tuyền
Sinh viên thực hiện:
MSSV
Võ Thành Trung
18520180
Nguyễn Thành Trung
18520179
Thành phố Hồ Chí Minh, ngày 20 tháng 6 năm 2021
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO ĐỒ ÁN
ỨNG DỤNG TƯƠNG TÁC 3D KẾT HỢP
THỰC TẾ TĂNG CƯỜNG (AR) VÀO CÔNG
TÁC GIÁO DỤC
ĐỒ ÁN 1 - LỚP SE121.L21
Giảng viên hướng dẫn: ThS. Đỗ Thị Thanh Tuyền
Nhóm sinh viên thực hiện báo cáo:
1. Võ Thành Trung
18520180
2. Nguyễn Thành Trung
18520179
TP. Hồ Chí Minh, 20 tháng 06 năm 2021
Trang 1
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
MỤC LỤC
MỤC LỤC
2
LỜI CẢM ƠN
7
DANH MỤC CÁC TỪ VIẾT TẮT
8
CHƯƠNG I: TỔNG QUAN ĐỀ TÀI
9
1.1.
Đặt vấn đề:
9
1.2.
Mô tả đề tài:
9
1.3.
Mục tiêu và phạm vi đề tài:
10
1.3.1. Mục tiêu đề tài:
10
1.3.2. Phạm vi đề tài:
10
CHƯƠNG II - NGHIÊN CỨU CÁC CƠNG NGHỆ LIÊN QUAN
2.1.
Cơng nghệ Augmented Reality (AR):
11
11
2.1.1. Giới thiệu:
11
2.1.2. Cách thức hoạt động của hệ thống Augmented Reality:
11
2.1.3. Các ứng dụng của Augmented Reality:
14
2.2.
Vuforia Engine SDK:
16
2.2.1. Giới thiệu:
16
2.2.2. Các tính năng chính:
16
2.2.3. Lịch sử phiên bản:
18
2.2.4. Lý do nhóm lựa chọn sử dụng Vuforia:
18
Trang 2
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
2.3.
Ứng dụng AR vào phần mềm giáo dục
Unity Engine:
19
2.3.1. Giới thiệu:
19
2.3.2. Các thành phần chính trong project của Unity:
20
2.3.3. Lý do nhóm lựa chọn sử dụng Unity:
21
2.4.
Blender:
21
2.4.1. Giới thiệu:
21
2.4.2. Các tính năng chính:
22
2.4.3. Lý do nhóm lựa chọn sử dụng Blender:
23
CHƯƠNG III - PHÂN TÍCH YÊU CẦU
3.1.
UseCase:
24
24
3.1.1. Sơ đồ UseCase:
24
3.1.2. Bảng danh sách các UseCase
24
3.1.3. Đặc tả UseCase:
25
3.2.
Sequence (Sơ đồ tuần tự):
31
3.2.1. Hoạt động hiện con vật lên thẻ:
31
3.2.2. Hoạt động hiện danh sách thẻ con vật:
32
3.2.3. Hoạt động xem con vật trên mặt phẳng:
32
3.2.4. Hoạt động nghe âm thanh con vật:
33
3.2.5. Hoạt động xem thông tin con vật:
33
3.3. Class Diagram (Sơ đồ lớp)
34
3.3.1. Hoạt động chuyển màn hình:
Trang 3
34
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
3.3.2. Hoạt động quét thẻ con vật:
34
3.3.3. Hoạt động xem danh sách con vật:
34
3.3.4: Hoạt động xem thông tin con vật:
35
CHƯƠNG IV - THIẾT KẾ GIAO DIỆN
36
4.1.
Sơ đồ liên kết các màn hình:
36
4.2.
Danh sách các màn hình:
36
4.3.
Mơ tả các màn hình:
37
4.3.1. Màn hình chính:
37
4.3.2. Màn hình quét thẻ con vật:
38
4.3.3. Màn hình danh sách con vật:
39
4.3.4. Màn hình thơng tin con vật:
40
4.3.5. Màn hình phụ thông tin con vật:
41
CHƯƠNG V - THIẾT KẾ HỆ THỐNG
42
5.1 Hệ thống Image Targets:
42
5.2 Các bước cài đặt hệ thống:
42
CHƯƠNG VI - XÂY DỰNG ỨNG DỤNG
44
6.1 Xây dựng mô hình 3D:
44
6.2. Hoạt ảnh cho con vật (Animation):
47
6.3. Đưa con vật vào Unity:
49
6.4. Sử dụng Vuforia và Unity để đưa con vật lên trên tấm thẻ:
52
6.5. Cài đặt các chức năng khác:
55
Trang 4
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
6.5.1. Chức năng xem danh sách các thẻ con vật:
57
6.5.2. Chức năng xem thông tin con vật:
58
CHƯƠNG VII - CÀI ĐẶT VÀ THỬ NGHIỆM
59
7.1.
Nền tảng hỗ trợ:
59
7.2.
Các bước cài đặt:
59
7.3.
Quy trình thử nghiệm trên các thiết bị:
59
7.3.1. Về yêu cầu phần mềm:
59
7.3.2. Về yêu cầu phần cứng:
59
7.3.3. Đánh giá:
59
7.4.
Chi tiết kết quả thử nghiệm:
60
7.4.1. Iphone 7 plus:
60
7.4.2. Samsung Galaxy A20s:
60
7.4.3. HP Pavilion 1008tu:
60
7.4.4. Macbook Pro 2015:
61
CHƯƠNG VIII - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
62
8.1. Đánh giá tiến độ thực hiện đề tài (bảng tóm tắt quá trình các giai đoạn thực hiện
cột thời gian và hoạt động)
62
8.2. Các kết quả đạt được
62
8.2.1. Ưu điểm:
62
8.2.2. Nhược điểm:
63
8.3. Hướng phát triển:
64
Trang 5
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
TÀI LIỆU THAM KHẢO
66
BẢNG PHÂN CÔNG CÔNG VIỆC
67
Trang 6
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
LỜI CẢM ƠN
Nhóm chúng em trân trọng gửi lời cảm ơn đến cô Đỗ Thị Thanh Tuyền đã tạo điều kiện
cho chúng em có cơ hội được thực hiện đồ án.
Với những kiến thức lý thuyết đã được hướng dẫn tìm hiểu, nhóm đã vận dụng được
rất nhiều trong việc hoàn thành đề tài.
Trong vịng 15 tuần, nhờ sự chỉ dẫn nhiệt tình của cô, chúng em đã tiếp thu được những
kiến thức quan trọng cùng những góp ý chân thành để có thể làm được một chương trình
hồn chỉnh.
Cũng xin cảm ơn thầy cô và người dùng bè trong khoa Công nghệ phần mềm đã nhiệt
tình hỗ trợ, tạo điều kiện cho nhóm em làm bài báo cáo này.
Mặc dù đã cố gắng hoàn thành báo cáo với tất cả nỗ lực song báo cáo của nhóm chúng
em chắc chắn khơng tránh khỏi những thiếu sót, chúng em rất mong nhận được sự thơng cảm
và góp ý chân thành từ các thầy cơ. Nhóm em xin chân thành cảm ơn ạ.
Thành phố Hồ Chí Minh, ngày 20 tháng 06 năm 2021
Lớp SE121.L21
Nhóm gồm Võ Thành Trung, Nguyễn Thành Trung
Trang 7
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
DANH MỤC CÁC TỪ VIẾT TẮT
[1] VR: Virtual Reality.
[2] AR: Augmented reality.
[3] UC: Use case
Trang 8
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
CHƯƠNG I: TỔNG QUAN ĐỀ TÀI
1.1.
Đặt vấn đề:
Giáo dục là một sứ mệnh thiết yếu, là yếu tố ảnh hưởng lớn đến sự phát triển về kiến
thức và phẩm chất của con người. Để thực hiện giáo dục hiệu quả, chúng ta không đơn thuần
chỉ sử dụng lời nói, chữ viết để truyền tải, mà cần có sự hỗ trợ của các cơng cụ, phương tiện,
điển hình như các hình ảnh, vật mẫu, dụng cụ thí nghiệm, …Chúng góp phần làm kiến thức
trở nên sinh động và trực quan hơn, đồng thời tạo ra sự thích thú, thơi thúc người học tiếp
tục tiếp nhận tri thức nhanh và dễ dàng. Tuy nhiên, vì nhiều lý do khác nhau, khơng phải nơi
nào cũng có thể tiếp cận các công cụ trên.
Ngày nay, con người đã có thể tạo lập các mơi trường ảo với độ chân thực gần sát với
thực tế, điển hình chính là các Engine 3D và công nghệ thực tế ảo (VR). Khơng dừng lại ở
đó, con người tiếp tục tìm cách kết nối môi trường thực tế với các yếu tố nhân tạo 3D, mà
một trong các sản phẩm đó chính là “công nghệ thực tế tăng cường” (Augmented Reality AR). Thực tế tăng cường đem đến cho người sử dụng những trải nghiệm đặc biệt ngay cả
khi họ đang nhìn và cảm nhận trong thế giới thực.
Trong khi giáo dục cần tiếp cận những công cụ, phương tiện nâng cao chất lượng dạy
và học, thì “cơng nghệ thực tế tăng cường - AR” có thể biểu diễn những vật thể, chất liệu ảo.
Nhận ra rằng cơng nghệ AR có thể bù đắp những công cụ, phương tiện phục vụ giáo dục mà
đơn vị giáo dục không thể tiếp cận được, nhóm đã đặt câu hỏi về khả năng áp dụng cơng
nghệ AR trong cơng tác giáo dục. Đó chính là vấn đề mà nhóm sẽ triển khai và làm rõ trong
đồ án này.
1.2.
Mô tả đề tài:
Đề tài bao gồm tài liệu nghiên cứu công nghệ thực tế tăng cường (AR) và nền tảng,
ứng dụng hỗ trợ phát triển sản phẩm ứng dụng công nghệ trên. Đề tài cũng bao gồm bản thiết
kế ứng dụng AR phục vụ công tác giáo dục, bao gồm ý tưởng và các sơ đồ thiết kế.
Trang 9
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
1.3.
Ứng dụng AR vào phần mềm giáo dục
Mục tiêu và phạm vi đề tài:
1.3.1.
Mục tiêu đề tài:
Mục tiêu đề tài là nghiên cứu về công nghệ thực tế tăng cường (Augmented Reality),
xem xét và lựa chọn các nền tảng, ứng dụng hỗ trợ phát triển sản phẩm áp dụng công nghệ
thực tế tăng cường. Bên cạnh đó, nhóm cũng tìm hiểu về khả năng ứng dụng sản phẩm AR
trong công tác dạy và học. Những tiền đề trên là cơ sở để nhóm có thể phác thảo nên một
ứng dụng giáo dục sử dụng công nghệ kể trên.
1.3.2.
Phạm vi đề tài:
Phạm vi đề tài tập trung vào các nội dung về định nghĩa, ứng dụng của thực tế tăng
cường, các nền tảng, framework, ứng dụng hỗ trợ phát triển sản phẩm AR. Ý tưởng, các sơ
đồ thiết kế và phát triển ứng dụng giáo dục áp dụng công nghệ AR.
Trang 10
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
CHƯƠNG II - NGHIÊN CỨU CÁC CƠNG NGHỆ
LIÊN QUAN
2.1.
Cơng nghệ Augmented Reality (AR):
2.1.1.
Giới thiệu:
Thực tại tăng cường (AR) là công nghệ cho phép người dùng có thể nhìn nhận thế
giới thực được tăng cường nhờ có sự góp mặt của những thành phần ảo như hình ảnh, âm
thanh,...
Hệ thống AR cung cấp cho người dùng một thực tại kết hợp: những hình ảnh được
nhìn thấy trực tiếp qua đôi mắt ở thế giới thực cộng với những thông tin ảo được tạo ra bởi
máy tính, hiển thị thơng qua những thiết bị hỗ trợ (camera, màn hình, kính thực tế ảo, … ).
Hình 2.1.1.1. Sử dụng AR trong phiên dịch ngôn ngữ
2.1.2.
Cách thức hoạt động của hệ thống Augmented Reality:
Chụp ảnh: Hệ thống AR cần phải xác định được hình ảnh cần được áp dụng hiệu ứng
tăng cường, và người dùng cần thông qua những thiết bị cụ thể mới có thể sử dụng. Tuy
Trang 11
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
nhiên những thiết bị này khơng khó để tìm thấy trong cuộc sống hiện tại của chúng ta. Nổi
bật nhất chính là những chiếc điện thoại thông minh (Smartphone) với những chức năng cơ
bản như quay phim, chụp ảnh. Bên cạnh đó cịn có những thiết bị cao cấp, chuyên dụng hơn,
tăng cường trải nghiệm người dùng hơn. Đó là những chiếc kính được thiết kế đặc biệt dành
riêng cho công nghệ AR. Trong các sản phẩm kính kể trên, nổi bật nhất là Google Glass.
Bên cạnh đó sắp tới dịng sản phẩm kính AR sẽ có thêm sự xuất hiện của Apple Glass.
Hình 2.1.3.1. Hình ảnh dự kiến của Apple Glass, kẻ sốn ngôi Google Glass.
Nhận dạng ảnh: Các ảnh sau khi được thiết bị ghi lại thì sẽ được áp dụng các thuật
tốn nhận dạng ảnh. Có 2 loại kỹ thuật nhận dạng ảnh:
○ Marker-based: hệ thống nhận diện và đánh dấu trên hình ảnh dựa trên những
đối tượng cụ thể ở thế giới thực. Mỗi đối tượng chỉ có thể được nhận dạng bởi 1 con
dấu (marker). Khi hệ thống hoạt động, nếu phát hiện thấy đối tượng đó ở thế giới thực,
kết quả trả về sẽ là đối tượng ảo, với vị trí sẽ là vị trí của marker đó. Ví dụ cụ thể là
việc hiển thị ngơi nhà như hình dưới.
Trang 12
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
Hình 2.1.3.2. Hình ảnh minh họa cho Marker-based.
○ Markerless: kỹ thuật này không yêu cầu hệ thống phải tìm được hình ảnh
tương ứng với đối tượng ở thế giới thực. Chỉ cần hệ thống phát hiện được một mặt
phẳng phù hợp. Đối tượng sẽ tự động được đặt ở chính giữa mặt phẳng và căn chỉnh
theo độ nghiêng của mặt phẳng hiện tại. Ví dụ ở việc đặt một chiếc ghế ảo lên màn hình
ở dưới đây.
Hình 2.1.3.3. Hình ảnh minh họa cho Markerless
Xử lý ảnh: Sau khi nhận dạng ảnh, hệ thống sẽ thực hiện bước tiếp theo là xử lý ảnh,
từ đó xử lý đối tượng ảo ba chiều theo thời gian thực, dựa trên các yếu tố trong và ngoài thiết
Trang 13
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
bị, ứng với mỗi điểm đánh dấu trong thế giới thực.
Hiển thị đối tượng ảo ra thế giới thật: Việc thể hiện ở đây chính là ghi đè đối tượng
ảo đó lên thế giới thật thông qua những thiết bị chuyên dụng để chụp ảnh đã được liệt kê ở
trên, tùy theo phương pháp phân loại hệ thống đang sử dụng, sẽ có các cách hiển thị khác
nhau.
2.1.3.
Các ứng dụng của Augmented Reality:
Với sự phát triển của công nghệ hiện tại, các ứng dụng AR được tạo ra hàng ngày, hàng
giờ, và khả năng ứng dụng rất cao vì hầu như ai trong chúng ta đều sở hữu 1 thiết bị có khả
năng sử dụng AR, chính là Smartphone. Vì lý do đó, hầu như mọi ngành nghề đều có thể
được AR hỗ trợ, nâng cao hiệu quả cũng như chất lượng công việc. Có thể liệt kê vài ngành
nghề quan trọng sau:
• Y tế: các bác sĩ sẽ có thể nhìn thấy một hình ảnh 3D của kết quả MRI trong khi
nói chuyện với bệnh nhân hoặc phân tích các biến động của nó.
Hình 2.1.4.1. Ứng dụng thực tế tăng cường (AR) trong y tế.
• Du lịch, bản đồ: AR có thể bổ sung thêm thông tin về tất cả các địa điểm muốn
ghé thăm, bản đồ kết hợp với hướng dẫn AR có thể mang lại cho người dùng
trải nghiệm tuyệt vời trong việc khám phá khu vực nào đó.
Trang 14
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
Hình 2.1.4.2. AR với bản đồ.
• Giáo dục: Giáo viên sử dụng cơng nghệ AR để giải thích một số sự kiện lịch
sử, khoa học, sinh học. Việc biến bất kỳ vật nhàm chán trở thành sinh động, thú
vị hơn khi nhìn thấy chúng hoạt động.
Hình 2.1.4.2. AR với giáo dục.
Trang 15
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
2.2.
Ứng dụng AR vào phần mềm giáo dục
Vuforia Engine SDK:
2.2.1.
Giới thiệu:
Hình 2.2.1.1. Biểu tượng của Vuforia Engine
Vuforia là một bộ công cụ phát triển phần mềm (Software Development Kit) sử dụng
trên nền tảng Android, iOS, và UWP. Vuforia lần đầu được phát triển bới Qualcomm
Company với tính năng đầu tiên là nhận diện văn bản (text recognition). Vào năm 2015,
công cụ Vuforia được PTC Inc mua lại và tiếp tục phát triển. PTC Inc tập trung định hình
Vuforia là một bộ công cụ cho phát triển phục vụ công nghiệp. Tuy nhiên trong phát triển
ứng dụng di động, Vuforia vẫn được sử dụng rộng rãi.
Vuforia SDK được viết bằng ngôn ngữ C++ và truy cập qua các nền tảng bằng API.
Việc sử dụng API của Vuforia ở các nền tảng là khác nhau: Java đối với Android, C++ đối
với iOS và UWP.
Hiện nay Vuforia đang là một trong các công cụ phát triển AR được áp dụng rộng rãi.
Các nền tảng có thể sử dụng Vuforia đã mở rộng (điện thoại, tablet, mắt kính, …). Đồng thời
Vuforia đã có API dành cho Unity (C#).
2.2.2.
Các tính năng chính:
Trang 16
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
Hình 2.2.2.1. Giao diện trang web chính của Vuforia tại
Theo như mơ tả trên trang web của Vuforia, sản phẩm sở hữu 3 tính năng trọng tâm:
•
Tracking Image (Nhận diện hình ảnh): Vuforia Engine có khả năng nhận
diện và áp dụng hiệu ứng AR lên hình ảnh với các hình dạng khác nhau (dạng phẳng,
dạng ống, dạng khối).
•
Tracking Object (Nhận diện vật thể): Vuforia sử dụng Vuforia Object
Scanner để nhận diện các vật thể có hình dạng giống như thiết kế 3D đã được lưu
trong cơ sở dữ liệu. Các vật thể được nhận diện là các vật thể rắn và có thể có bề mặt
phức tạp, ví dụ như: thiết bị cơng nghiệp, phương tiện giao thông, đồ chơi và thiết bị
gia dụng.
•
Tracking Environment (Nhận diện mơi trường): Khi người dùng qt hình
ảnh mơi trường xung quanh sử dụng Vuforia Area Target Creator hoặc các máy quét
3D khác, Vuforia có thể nhận diện và thêm vào các hiệu ứng AR. Công nghệ này có
thể sử dụng trong nhiều khơng gian và nhiều mục đích khác nhau, nhằm cải thiện
đáng kể trải nghiệm của người sử dụng.
Bên cạnh đó, Vuforia cịn hỗ trợ một số tính năng khác như:
•
Vuforia Fusion: Cơng cụ này hỗ trợ phát triển AR trên đa nền tảng. Fusion có
thể tương tích với các thiết bị cơ bản (ARKit/ ARCore) và kết nối chúng với các tính
năng của Vuforia. Thơng qua đó các developer chỉ cần thơng qua Vuforia APU để
xây dựng ứng dụng AR.
Trang 17
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
Hình 2.2.2.2. Vuforia có thể liên kết tốt với các công cụ AR khác nhờ Vuforia Fusion
•
Device Tracking: Positional Device Tracker hỗ trợ theo dõi một đối tượng
“mục tiêu” của Vuforia ngay cả khi đối tượng đó đã rời khỏi vùng camera. Tuy nhiên
một số tính năng phải cần hoạt động trên một thiết bị hỗ trợ Device Tracking.
•
Cloud Recognition Service: Là một dịch vụ hỗ trợ việc nhận diện hình ảnh
liên tục và cập nhật hình ảnh mới lên database nhanh chóng.
2.2.3.
Lịch sử phiên bản:
Tính đến thời điểm hiện tại, phiên bản mới nhất của Vuforia là v9.8.8 được cập nhật
vào tháng 5 năm 2021.
2.2.4.
Lý do nhóm lựa chọn sử dụng Vuforia:
Bên cạnh Vuforia, nhóm đã tham khảo thêm 2 cơng cụ tạo Augmented Reality khác là
KudanAR SDK và echoAR Engine. Tuy nhiên Vuforia Engine cho nhóm khả năng tạo các
cặp đối tượng mục tiêu - đối tượng thay thế một cách đơn giản và ít vướng mắc. Khi sử dụng
với Unity Engine, nhóm có thể tạo lập được hiệu ứng AR trong thời gian rất nhanh, tiết kiệm
được rất nhiều chi phí.
Trang 18
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
2.3.
Ứng dụng AR vào phần mềm giáo dục
Unity Engine:
2.3.1.
Giới thiệu:
Hình 2.3.1.1 Logo của Unity
Unity Engine là một game engine được dùng để phát triển video game cho các thiết bị
điện tử như máy tính, console và cả điện thoại.
Unity hỗ trợ cả đồ họa 2D và 3D, và các chứng năng được viết chủ yếu bằng ngôn ngữ
C#. Tuy nhiên phát triển game khơng cần tới code vẫn có thể thực hiện được bằng các tools
có sẵn hoặc tải về từ thư viện tools của Unity.
Unity là một trong những game engine được yêu thích nhất bởi cộng đồng phát triển
ứng dụng, đặc biệt là game. Có thể liệt kê các lý do Unity được sự tín nhiệm như vậy là do
khả năng hỗ trợ mạnh mẽ, công đồng thân thiện, lớn mạnh, bên cạnh đó rất dễ tiếp cận và
hồn tồn miễn phí (đối với mơi trường khơng chun hoặc giáo dục).
Hình 2.3.1.2 Một game được phát triển bằng Unity
Trang 19
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
2.3.2.
Ứng dụng AR vào phần mềm giáo dục
Các thành phần chính trong project của Unity:
Dựa trên các tài liệu tham khảo và thực thế sử dụng, có thể thấy Unity có những thành
phần cơ bản như sau:
•
Assets: là những tài nguyên được sử dụng trong việc phát triển game trong
Unity. Các Assets này có thể là hình ảnh 2D, 3D Models, âm thanh, hiệu ứng, ... được
tạo nên từ lập trình viên, hoặc có thể được tải về trên các thư viện Assets của Unity
(miễn phí hoặc trả phí).
•
GameObject: là đối tượng sử dụng Assets trong Unity như nhân vật, cây cỏ,
công cụ, đạo cụ, camera, hiệu ứng … Điểm chung giữa các GameObject là đều chứa
thuộc tính Transform, dùng để thay đổi vị trí, hướng và kích thước của chúng.
•
Components: là các thuộc tính thêm vào GameObject như Animation, âm
thanh, 3D Models, hiệu ứng,… Nếu Assets là phần xác thịt thì Components chính là
phần hồn của GameObject, việc thêm các Components sẽ giúp GameObject có thể di
chuyển, tương tác,...
•
Scenes: là một cảnh game, khơng gian game nơi lập trình viên sắp xếp, tinh
chỉnh các GameObjects, hay giao diện người dùng UI/UX, ví dụ: Menu, Lobby,...
•
Scripts: là một Component trong Unity. Đây là thành phần thiết yếu dùng để
tương tác với các hành động của người chơi, hoặc tương tác với hệ thống. Scripts
được viết chủ yếu bằng ngơn ngữ C#.
•
Prefabs: là một GameObject hoàn chỉnh sau khi thêm các thuộc tính và được
lưu trữ lại để tái sử dụng. Các GameObject được dùng lại từ Prefab giống nhau hoàn
toàn. Để tạo ra một prefab, chỉ cần kéo một GameObject từ cửa sổ Hierarchy vào cửa
sổ Project.
•
Camera: dùng để thể hiện khung hình, góc nhìn mà người chơi có thể nhìn
thấy được trong game. Trong một game có thể thiết lập nhiều camera để chia nhỏ màn
hình người chơi. Ứng dụng trong việc tạo các hiệu ứng, hoặc tùy chỉnh như nhìn từ
góc nhìn thứ ba, bản đồ thu nhỏ, …
•
Light: là một phần quan trọng trong Scene, giúp xác định độ sáng, màu sắc
của màn chơi. Có thể dùng nhiều Light và nhiều dạng để tinh chỉnh cho phù hợp hơn
Trang 20
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
với thiết kế.
Hình 2.3.2.1 Giao diện Unity Engine
2.3.3.
Lý do nhóm lựa chọn sử dụng Unity:
Unity là một game engine được phát triển bởi Unity Technologies như một hệ sinh
thái (Engine) đa nền tảng để phát triển game cũng như các ứng dụng AR. Bên cạnh đó việc
sử dụng đối với quy mơ học tập là hồn tồn miễn phí. Ngồi ra cộng đồng lớn mạnh có thể
hỗ trợ rất nhiều cho nhóm mỗi khi gặp khó khăn.
2.4.
Blender:
2.4.1.
Giới thiệu:
Hình 2.4.1.1 Logo của Blender.
Blender là một bộ phần mềm tạo mơ hình 3D mã nguồn mở miễn phí hỗ trợ khá nhiều
mọi khía cạnh của phát triển 3D. Với sự hỗ trợ vững chắc về chức năng tạo mơ hình, cịn có
kết cấu mạnh mẽ, hoạt ảnh, ánh sáng và một loạt các công cụ khác để tạo 3D hoàn chỉnh. Về
cơ bản, phần mềm Blender được phát triển từ Blender Foundation, một tổ chức phi lợi nhuận
được thành lập vào năm 2002. Vào năm 2007, Viện Blender spin-off được thành lập và hiện
Trang 21
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
là tổ chức sở hữu nền tảng này.
Hình 2.4.1.2. Phác họa mơ hình 3D con hổ bằng Blender
2.4.2.
Các tính năng chính:
Dựa trên các tài liệu tham khảo từ trang web của Blender có thể thấy các tính năng
chính của Blender được liệt kê như sau:
•
Mơ hình hóa và điêu khắc:
Mơ hình hố (Modeling) giống như việc cắt và ghép các khối đa giác, tương tự việc
chơi xếp hình, hay lắp ghép LEGO. Điêu khắc (Sculpting) tương tự với việc các nghệ nhân
đất sét nặn ra các tác phẩm của mình, điêu khắc cho độ thẩm mĩ và chân thực hơn so với mơ
hình hóa, thường được dùng để vẽ người, con thú,... những vật cần độ mềm mại và tả thực,
cịn mơ hình hóa ứng dụng nhiều hơn trong việc vẽ các đồ vật tĩnh, góc cạnh hơn.
•
Kết cấu & Mở gói UV:
Phần mềm Blender cung cấp một công cụ mạnh mẽ để tạo ra các vật liệu và kết cấu.
Cơng cụ mở gói UV cho phép người dùng làm phẳng bề mặt của mơ hình 3D để có thể vẽ
theo kết cấu. Sau đó, có thể điều chỉnh tất cả các loại như độ mờ, độ khuếch tán, phản xạ ánh
sáng hoặc ánh sáng nền để chỉ có được hiệu ứng người dùng đang tìm kiếm.
•
Rigging và Animation:
Trang 22
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
Blender hỗ trợ người dùng trong việc thiết kế các chuyển động cho các model của
mình, sử dụng KeyFrame thơng qua Bones, thay đổi vị trí và hướng của một bone sẽ làm
thay đổi mơ hình đang được thiết kế, việc này sẽ được ghi nhận lại ở mỗi KeyFrame, kết hợp
những điều này, sẽ tạo ra một bộ Animation hồn chỉnh cho mơ hình của người dùng.
•
Các tính năng khác:
Ngồi các cơng cụ chính, có rất nhiều điều để khám phá trong Blender:
o
Grease Pencil là một công cụ hấp dẫn và phổ biến cho phép người dùng
vẽ trong không gian 3D bằng bút vẽ 2D.
o
Các mô phỏng vật lý như lực hấp dẫn, vải và tóc được tích hợp sẵn trong
Blender. Bên cạnh đó cịn có các VFX như lửa, khói,..
o
Cơng cụ kết xuất mạnh mẽ của Blender cho phép người dùng render
ảnh và video, hoặc export object ra các công cụ khác như Unity.
Hình 2.4.2.1. Giao diện của Blender
2.4.3.
Lý do nhóm lựa chọn sử dụng Blender:
Đây là phần mềm nhóm chọn để thiết kế các Model 3D và Animation của các con vật
cho ứng dụng. Bên cạnh Blender cịn có các phần mềm khác như 3DS MAX, MAYA,.... Tuy
nhiên, phần mềm này hồn tồn miễn phí, tài liệu hướng dẫn rất chi tiết, cộng đồng lớn mạnh,
và rất dễ sử dụng, không phức tạp như các phần mềm còn lại.
Trang 23
Báo cáo Đề tài Đồ án 1 - lớp SE121.L21
Ứng dụng AR vào phần mềm giáo dục
CHƯƠNG III - PHÂN TÍCH U CẦU
3.1.
UseCase:
3.1.1.
Sơ đồ UseCase:
Hình 3.1.1.1.1. Sơ đồ UseCase
3.1.2.
Bảng danh sách các UseCase
STT
Tên
Ký hiệu
Mô tả
1
Hiện con vật lên UC01
Người dùng dùng camera của thiết bị, quét lên
trên thẻ
thẻ vật lý, hình ảnh con vật và chuyển động
hiển thị lên trên ứng dụng
Trang 24