1. Trang chủ
  2. » Công Nghệ Thông Tin

Đồ án Phần mềm thiết kế nội thất AR Sử dụng công nghệ ARcore

32 38 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 32
Dung lượng 356,62 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

GIỚI THIỆU ĐỀ TÀITên đề tài: Phần mềm thiết kế nội thất bằng AR sử dụng công nghệ ARcore Lí do chọn đề tài: Với sự phát triển công nghệ liên tục như hiện nay thì thị trường nào cũng

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

MỤC LỤC

1 Giới thiệu đề tài 4

2 Các kiến thức/công nghệ nền tảng 5

3 Xây dựng ứng dụng 7

3.1 Tổng quan khảo sát các ứng dụng liên quan 7

3.2 Phân tích, thiết kế, cài đặt phần mềm 7

3.2.1.1 Phân tích, thiết kế yêu cầu phần mềm 7

3.2.2.1 Các bên liên quan – Stakeholders 9

3.2.2.2 Các actors và mục tiêu 10

3.2.2.3 Các usecase 10

Mô tả tổng quan 10

3.2.2.3.1 Sơ đồ Use Case 12

3.2.2.3.2 Đặc tả Use Cases 13

3.2.2.4 Sơ đồ Sequence 19

3.2.2.4.1 Sơ đồ Sequence cho UC-2 – Tìm kiếm mặt phẳng 19

3.2.2.4.2 Sơ đồ Sequence cho UC-3 – Thay đổi danh mục 20

3.2.2.4.3 Sơ đồ Sequence cho UC-5 – Xóa nội thất đã đặt 21

3.2.2.4.4 Sơ đồ Sequence cho UC-6 – Chụp màn hình 22

3.2.2.5 Sơ đồ Activity 23

3.2.2.5.1 Sơ đồ Activity cho UC-2 – Tìm kiếm mặt phẳng 23

3.2.2.5.2 Sơ đồ Activity cho UC-2 – Thay đổi danh mục 24

3.2.2.5.3 Sơ đồ Activity cho UC-2 – Chọn nội thất 25

3.2.2.5.4 Sơ đồ Activity cho UC-2 – Xóa nột thất đã đặt 26

3.2.2.5.5 Sơ đồ Activity cho UC-2 – Chụp màn hình 27

3.3 Các áp dụng chính của Arcore và unity 27

Trang 3

4 Thiết kế Kiểm thử 28

5 Kết luận và hướng phát triển 29

6 Tài liệu tham khảo 30

Trang 4

1 GIỚI THIỆU ĐỀ TÀI

Tên đề tài: Phần mềm thiết kế nội thất bằng AR sử dụng công nghệ ARcore

Lí

do chọn đề tài:

Với sự phát triển công nghệ liên tục như hiện nay thì thị trường nào cũng phảiliên tục áp dụng công nghệ mới để cạnh tranh và phát triển, làm chủ thịtrường

Và công nghệ AR chính là một mỏ vàng chưa được khai thác, nếu áp dụngvào đời sống sẽ có rất nhiều công dụng mạnh mẽ, giúp cải thiện cuộc sống

xã hội, tạo nhiều cơ hội kinh doanh hơn cho các công ty biết tận dụng côngnghệ mới lạ, mạnh mẽ này

Với phần mềm thiết kế nội thất bằng AR của em sẽ giúp cho các công tydesign hoặc các cửa hàng bán hàng nội thất áp dụng công nghệ để triển khainhững sản phẩm của mình cho khách hàng ngay tại nhà\phòng của họ chỉbằng các thiết bị Mobile có tích hợp công nghệ AR trong camera

Tổng quan các vấn đề chính:

 Bài toán: Sử dụng công nghệ AR để thiết kế một phần mềm có tính

ứng dụng trong cuộc sống hoặc cho xã hội

 Giới hạn/phạm vi: Những quy trình ứng dụng, nghiệp vụ của phần

mềm được tìm hiểu từ những phần mềm trên thị trường và tự suy diễn

ra với tư cách là một người dùng sản phẩm

 Các nội dung nghiên cứu/thực hiện: Nghiên cứu các quy trình

nghiệp vụ và áp dụng công nghệ AR và các công nghệ liên quan khác

để triển khai được một phần mềm hoàn chỉnh

 Kết quả hướng tới: Một phần mềm và có giá trị sử dụng khi triển

khai

Trang 6

2 CÁC KIẾN THỨC/CÔNG NGHỆ NỀN TẢNG

1 ARcore Introduction

ARcore là một thư viện open source của google nhằm giúp cho cácdeveloper có thể triển khai công nghệ AR vào ứng dụng của mình màkhông phải nghiên cứu khoa học và các học thuật liên quan khác.Thư viênnày giúp các developer có thể tìm hiểu hơn về các nguyên lý thiết kế AR

và các hướng liên quan đến AR.Khi sử dụng thư viện thì bắt buộc phải xàicác framework như UE hoặc Unity, bạn có thể tùy biến thư viện để sử dụngtrên framework của mình nhưng sẽ phải tự tìm hiểu từ đầu những nguyên

lý của AR để triển khai trên engine hoặc framework của bản thân

Các tính năng hiện tại mà ARcore cung cấp cho developer:

 Anchor: Khi ARcore update môi trường xung quanh thì những object

sẽ có hiệu ứng trôi đi và anchor giúp giữ object tại chỗ trong vị trítương đối với thế giới hiện tại.Chúng ta dùng anchor để đảm bảo trảinghiệm cho người dùng và tính chân thật của phần mềm của chúngta

 Camera Config: hỗ trợ Developer chỉnh sửa camera, cung cấp cácthông tin như CPU và GPU.Lớp này giúp Developer điều chỉnh khảnăng nhận biết chiều sâu của camera, FPS của camera,…

 Config: cho Developer khả năng chỉnh lại các hiệu năng khác nhaucủa ARcore như PlaneFindingMode(phương pháp tìm kiếm mặtphẳng),UpdateMode(chỉnh sửa hành vi của Session.Update()),…

 Plane:Lớp mặt phẳng do ARcore tạo ra để Developer sử dụng địnhnghĩa mặt phẳng ngoài đời thực qua Camera

3 Unity

Trang 7

Unity là một “cross- flatform game engine” tạm hiểu là công cụ phát triểngame đa nền tảng được phát triển bởi Unity Technologies Game enginenày được sử dụng để phát trển game trên PC, consoles, thiết bị di động vàtrên websites.

Chức năng cốt lõi đa dạng bao gồm: cung cấp công cụ dựng hình (kết xuất

đồ họa) cho các hình ảnh 2D hoặc 3D, công cụ vật lý (tính toán và pháthiện va chạm), âm thanh, mã nguồn, hình ảnh động, trí tuệ nhân tạo,phân luồng, tạo dò ng dữ liệu xử lý, quản lý bộ nhớ, dựng ảnh đồ thị và kếtnối mạng Nhờ có các engine mà công việc làm game trở nên ít tốn kém

và đơn giản hơn

Hỗ trợ đa nền tảng: Một trong các thế mạnh của Unity3D chính là khảnăng hỗ trợ gần như toàn bộ các nền tảng hiện có bao gồm: PlayStation 3,Xbox 360, Wii U, iOS, Android, Windows, Blackberry 10, OS X, Linux, trìnhduyệt Web và cả Flash Nói cách khác, chỉ với một gói engine, các studio

có thể làm game cho bất kỳ hệ điều hành nào và dễ dàng convert chúngsang những hệ điều hành khác nhau Đồng thời, đây cũng là giải pháp chocác game online đa nền tảng – có thể chơi đồng thời trên nhiều hệ điềuhành, phần cứng khác nhau như Web, PC, Mobile, Tablet…

Dễ sử dụng: Unity3D được built trong một môi trường phát triển tích hợp,cung cấp một Phần mềm toàn diện cho các lập trình viên, từ soạn thảo mãnguồn, xây dựng công cụ tự động hóa đến trình sửa lỗi Do được hướngđến đồng thời cả lập trình viên không chuyên và studio chuyên nghiệp,nên Unity3D khá dễ sử dụng Hơn nữa, đây là một trong những engine phổbiến nhất trên thế giới, người dùng có thể dễ dàng tìm kiếm kinh nghiệm

sử dụng của “tiền bối” trên các forum công nghệ

Tính kinh tế cao: Unity Technologies hiện cung cấp bản miễn phí engineUnity3D cho người dùng cá nhân và các doanh nghiệp có doanh thu dưới100.000 USD/năm Với bản Pro, người dùng phải trả 1.500 USD/năm – mộtcon số rất khiêm tốn so với những gì engine này mang lại

Trang 8

3 XÂY DỰNG ỨNG DỤNG

3.1 Tổng quan khảo sát các ứng dụng liên quan

1 Khảo sát AppStore

 Trên thị trường thì chỉ có phần mềm thiết kế bằng AR của IKEA là

sử dụng được và nó vẫn chưa phổ biến với người dùng phổ thôngkhi có quá ít người biết đến nó

 Mục tiêu của em là phần mềm này sẽ tạo cảm giác ai cũng dùngđược và dễ tiếp cận để mở rộng tiềm năng và thị trường của bánhàng online

3.1.2 Khảo sát các cửa hàng online như Shoppee, Tiki,…

 Các của hàng online đa số không có danh mục đồ nội thất hoặc

có nhưng rất ít, doanh thu từ việc bán đồ nội thất gần như khôngđáng kể

 Hiện tại người dùng vẫn dựa dẩm vào các thợ thủ công hoặc racửa hàng để chọn lựa sản phẩm cho mình chứ không đặt mua đồnội thất qua Phần mềm online

3.2 Phân tích, thiết kế, cài đặt phần mềm

3.2.1.1 Phân tích, thiết kế yêu cầu phần mềm

3.2.1.2 Yêu cầu chức năng

REQ-01 6 Phần mềm cho phép khách hàng lựa món

đồ nội thất cần thiết

REQ-02 6 Phần mềm cho phép khách hàng phát hiện

mặt phẳng cần trang trí đồ nội thất

Trang 9

REQ-03 5

Phần mềm cho phép người dùng đặt món

đồ nội thất muốn trang trí lên mặt phẳng

xuất hiện

danh sách các món đồ nội thất hiện có

REQ-05 7 Phần mềm cho phép khách hàng thay đổi

từ nội thất dưới đất sang trên tường

chỉnh vị trí của nội thất

chỉnh hướng của nội thất

REQ-08 7 Phần mềm cho phép khách hàng xóa đi nội

thất thiết kế không như mong muốn

REQ-09 6 Phần mềm cho phép khách hàng chụp lại

màn hình sau khi đã thiết kế

3.2.1.3 Yêu cầu phi chức năng

REQ-10 7 Người dùng cần có một thiết bị tương thích

với AR

Trang 10

REQ-11 8 Người dùng phải có mạng để tải phần

mềm từ appstore

3.2.1.4 Yêu cầu giao diện

REQ-12 8 Phần mềm có các nút để đổi sang món nội

thất cần thiết kế

REQ-13 8 Phần mềm có nút để xóa món nội thất

thiết kế không như mong muốn

REQ-14 7 Phần mềm phải có nút chụp lại màn hình

đã thiết kế

REQ-15 7 Màn hình phải có nút để đổi thiết kế giữa

Mặt đất và Mặt tường

2 Đặc tả yêu cầu phần mềm

3.2.2.1 Các bên liên quan – Stakeholders

Các bên liên quan (stakeholders) là những người có liên quan và ảnh hướngtới các yếu tố hình thành nên dự án Các bên liên quan đến đề tài bao gồm:

 Khách hàng

Trang 11

3.2.2.2 Các actors và mục tiêu

Khách hàng Bật phần mềm và cấp quyền camera UC-1

Khách hàng Tìm kiếm mặt phẳng để thiết kế nội thất UC-2

Khách hàng Thay đổi danh mục những món đồ nội thất

từ mặt đất sang mặt tường UC-3

Khách hàng Chọn nội thất để thiết kế trong không gian

Khách hàng Thiết kế không ưng ý và muốn xóa vật đã

đặt trên mặt phẳng không gian thực UC-5

Khách hàng Thiết kế ưng ý và lưu lại thiết kế bằng cách

3.2.2.3 Các usecase

Mô tả tổng quan

 UC-1: Cấp quyền camera – bắt đầu sử dụng phần mềm

 UC-2: Tìm kiếm mặt phẳng để thiết kế nội thất – để bắt đầu thiết kế nộithất

 UC-3: Thay đổi danh mục những món đồ nội thất từ mặt đất sang mặttường – để khách hàng có thể chọn địa hình thiết kế

Trang 12

 UC-4: Chọn nội thất để thiết kế trong không gian thực – để khách hàng

Trang 13

3.2.2.3.1 Sơ đồ Use Case

3.2.2.3.2 Đặc tả Use Cases

Use case “Cấp quyền camera”

Tên Use Case UC-1: Cấp quyền camera

Trang 14

Tóm tắt Chức năng cấp quyền camera

Dòng sự kiện

chính

1 Phần mềm hiển thị popup đòi quyền camera

2 Người dùng chấp nhận cho quyền camera

3 Phần mềm kiểm tra và chạy chương trình

(Dòng sự kiện khác: Không cho quyền camera)

4 Phần mềm không hoạt động

Dòng sự kiện

khác

1 Không cho quyền camera

Phần mềm hiển thị lỗi và đòi lại quyền

Trang 15

Use case “Tìm kiếm mặt phẳng”

Tên Use Case UC-2: Tìm kiếm mặt phẳng

2 Phần mềm hiện UI đã phát hiện được mặt phẳng

3 Phần mềm cho phép người dùng đặt đồ lên mặtphẳng đã phát hiện

(Dòng sự kiện khác: Không kiếm được mặt phẳng)

4 Phần mềm không cho phép người dùng đặt đồ vật

Dòng sự kiện

khác

1.: Không kiếm được mặt phẳng

Phần mềm không cho phép người dùng đặt đồ vật

Trang 16

Use case “Thay đổi danh mục nội thất”

Tên Use Case UC-3: Thay đổi danh mục nội thất

Tóm tắt Khách hàng có thể thay đổi danh mục nội thất

Dòng sự kiện chính 1 Người dùng chọn giữa hai danh mục tường và

hiện use case

Người dùng có thể thay đổi danh mục nội thất

Trang 17

Use case “Chọn nội thất”

Tên Use Case UC-4: Chọn nội thất

Tóm tắt Khách hàng có thể chọn nội thất để thiết kế

Dòng sự kiện chính 1 Khách hàng chọn nội thất để thiết kế trên UI

2 Người dùng có thể đặt nội thất mình đã chọn

(Dòng sự kiện khác: Phần mềm không thể truy cập

cơ sở dữ liệu.)

Dòng sự kiện khác 1 Phần mềm không thể truy cập cơ sở dữ liệu: Lỗi

trong lúc chọn => Yêu cầu người dùng nên liên hệvới nhóm phát triển

hiện use case

Người dùng thiết kế với đồ vật đã chọn

Trang 18

Điểm mở rộng Không có

Use case “Xóa nội thất đã thiết kế”

Tên Use Case UC-5: Xóa nội thất đã thiết kế

Tóm tắt Người dùng có thể xóa nội thất đã thiết kế

Dòng sự kiện chính 1 Người dùng bấm vào UI xóa nội thất đã thiết kế

2 Phần mềm xóa nội thất đã thiết kế gần đây nhất

Trang 19

Trạng thái Phần

mềm sau khi thực

hiện use case

Người dùng xóa vật đặt sai hoặc không đúng mongmuốn trên màn hình

Điểm mở rộng Không có

Trang 20

Use case “Chụp màn hình sau khi thiết kế”

Tên Use Case UC-6: Chụp màn hình sau khi thiết kế

Tóm tắt Khách hàng có thể chụp màn hình sau khi thiết kế

Dòng sự kiện chính 1 Khách hàng bấm nút chụp màn hình

2 Phần mềm sẽ chụp màn hình và lưu vào máy củakhách hàng

3.Khách hàng có thể xem màn hình đã chụp ởtrong folder của máy mình

Điểm mở rộng Không có

Trang 21

3.2.2.4 Sơ đồ Sequence

Các sơ đồ sequence cho một số Use Case quan trọng

3.2.2.4.1 Sơ đồ Sequence cho UC-2 – Tìm kiếm mặt phẳng

Trang 22

3.2.2.4.2 Sơ đồ Sequence cho UC-3 – Thay đổi danh mục

Trang 23

3.2.2.4.3 Sơ đồ Sequence cho UC-5 – Xóa nội thất đã đặt

Trang 24

3.2.2.4.4 Sơ đồ Sequence cho UC-6 – Chụp màn hình

Trang 25

3.2.2.5 Sơ đồ Activity

3.2.2.5.1 Sơ đồ Activity cho UC-2 – Tìm kiếm mặt phẳng

Trang 26

3.2.2.5.2 Sơ đồ Activity cho UC-2 – Thay đổi danh mục

Trang 27

3.2.2.5.3 Sơ đồ Activity cho UC-2 – Chọn nội thất

Trang 28

3.2.2.5.4 Sơ đồ Activity cho UC-2 – Xóa nột thất đã đặt

Trang 29

3.2.2.5.5 Sơ đồ Activity cho UC-2 – Chụp màn hình

3.3 Các áp dụng chính của Arcore và unity

Trang 30

3.3.1.2 Unity

 Đồ án sử dụng Unity để xây dựng một phần mềm android sửdụng đươc công nghệ AR trên điện thoại của người dùng

 Các công nghệ của unity như Canvas để thiết kế UI, Camera

control, các hệ thống scripting của unity, hệ thống quản lý

object tồn tại trong scene và các công nghệ khác của unitynhằm phục vụ việc phát triển phần mềm

 Windows 10, chrome web

 Ram 16gb, chip I7-7700HQ

2 Test Mobile:

 Samsung S10e có hỗ trợ AR

 Camera trước không có lỗi

 Phần mềm 4.2 Kết quả thử nghiệm

 Phần mềm chạy đầy đủ các chức năng

 Thử nghiệm theo usecase hoàn toàn không có lỗi

4.3 Kết quả sản phẩm:

 Sản phẩm tương đối đầy đủ chức năng, có thể làm phân phối nếutiến hành thêm vài quy trình thẩm định và sửa chức năng

 UI/UX nhìn đẹp mắt, thời thượng

 Phần mềm chạy mượt trên máy

Trang 31

5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1 Kết quả đạt được

 Học tập được cách sử dụng ARcore

 Học tập được các nguyên lý thiết kế một phần mềm AR

 Học tập được các công nghệ Unity để phát triển một phần mềmandroid

 Phần mềm có giá trị sử dụng kể cả cho người mới

5.1.1.1 Hạn chế

 Không có đủ thời gian để phát triển thêm

 Không có đồng đội để bàn bạc, có ý kiến khách quan hơn

 Không có tài liệu phổ thông như các nghiệp vụ khác

 Không deploy lên Appstore vì không đủ khả năng và chi phí

 Phần mềm còn tương đối sơ sài chưa thể gọi là hoàn chỉnh5.1.1.2 Hướng phát triển

 Phát triển các chức năng phụ giúp cải thiện trải nghiệm củangười dung

Trang 32

 Hoàn thiện các chức năng chính để đảm bảo chất lượng sảnphẩm

 Thêm thắt các model nội thất để đa dạng hóa sản phẩm

6 TÀI LIỆU THAM KHẢO

6.1 Arcore:

 https://www.developers.google.com/ar/

https://developers.google.com/ar/develop/unity/quickstart-android6.2 Unity:

 https://unity.com/

 https://docs.unity3d.com/Manual/index.html

 https://assetstore.unity.com/

Ngày đăng: 18/12/2021, 22:11

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w