1. Trang chủ
  2. » Cao đẳng - Đại học

KHÓA LUẬN tốt NGHIỆP ỨNG DỤNG CÔNG NGHỆ THỰC tế TĂNG CƯỜNG TRONG xây DỰNG hệ THỐNG KINH DOANH đồ nội THẤT

89 166 1

Đ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 89
Dung lượng 2,99 MB

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

Nội dung

Công nghệ này đang được sử dụng rộng rãi trong nhiều lĩnh vực như giải trí, thương mại, giáo dục,… Với điểm mạnh là tăng cường tính trải nghiệm thực tế người dùng, công nghệ thực tế tăng

Trang 1

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

KHOA CÔNG NGHỆ PHẦN MỀM

HUỲNH QUỐC TRUNG

LÊ QUỐC PHƯƠNG

KHÓA LUẬN TỐT NGHIỆP

ỨNG DỤNG CÔNG NGHỆ THỰC TẾ TĂNG CƯỜNG TRONG XÂY DỰNG HỆ THỐNG KINH DOANH ĐỒ NỘI

THẤT

APPLYING VIRTUAL REALITY TECHNOLOGY IN BUILDING

A FURNITURE BUSINESS SYSTEM

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

Trang 2

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

HUỲNH QUỐC TRUNG - 17520184

LÊ QUỐC PHƯƠNG - 17520134

KHÓA LUẬN TỐT NGHIỆP

ỨNG DỤNG CÔNG NGHỆ THỰC TẾ TĂNG CƯỜNG TRONG XÂY DỰNG HỆ THỐNG KINH DOANH ĐỒ NỘI

THẤT

APPLYING VIRTUAL REALITY TECHNOLOGY IN BUILDING

A FURNITURE BUSINESS SYSTEM

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN ThS HUỲNH HỒ THỊ MỘNG TRINH

Trang 3

THÔNG TIN HỘI ĐỒNG CHẤM KHÓA LUẬN TỐT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……… ngày ……… của Hiệu trưởng Trường Đại học Công nghệ Thông tin

1 ……… – Chủ tịch

2 ……… – Thư ký

3 ……… – Ủy viên

4 ……… – Ủy viên

Trang 4

LỜI CẢM ƠN

Để có thể hoàn thành khóa luận một cách hoàn chỉnh, nhóm em đã nhận được rất nhiều sự hướng dẫn nhiệt tình của quý Thầy Cô Vì vậy, nhóm xin phép được gửi những lời cảm ơn chân thành nhất

Đầu tiên, nhóm em xin chân thành cảm ơn và bày tỏ lòng biết ơn sâu

sắc nhất đến ThS Huỳnh Hồ Thị Mộng Trinh, cô đã tận tình chỉ bảo,

hướng dẫn, truyền đạt những kinh nghiệm, kiến thức chuyên môn và các tài liệu liên quan để nhóm có thể hoàn thanh khóa luận tốt nhất Nhóm xin gởi đến cô những lời tri ân nhất đối với những điều mà cô đã dành cho nhóm

Nhóm cũng xin chân thành cảm ơn toàn thể quý thầy cô trong khoa Công Nghệ Phần Mềm và toàn thể quý thầy cô của Trường Đại Học Công Nghệ Thông Tin TP.HCM Quý thầy cô đã luôn tận tình truyền đạt những kiến thức, kinh nghiệm quý báu cũng như tạo mọi điều kiện thuận lợi nhất cho nhóm trong suốt quá trình học tập tại trường và đặc biệt hơn

là trong suốt quá trình thực hiện khóa luận này

Sau cùng, nhóm xin kính chúc toàn thể quý thầy cô trong khoa

Công Nghệ Phần Mềm, ThS Huỳnh Hồ Thị Mộng Trinh luôn dồi dào

sức khỏe, sự nhiệt huyết và thành công trong cuộc sống cũng như trong

sứ mệnh truyền đạt kiến thức cho các thế hệ trẻ mai sau

TP Hồ Chí Minh, ngày 30 tháng 06 năm 2021

Sinh viên 1 Sinh viên 2

Huỳnh Quốc Trung Lê Quốc Phương

Trang 5

MỤC LỤC

TÓM TẮT KHÓA LUẬN 1

MỞ ĐẦU 2

Chương 1 TỔNG QUAN 4

1.1 Đặt vấn đề 4

1.2 Các ứng dụng tương tự 4

1.2.1 Houzz 5

1.2.2 Room Planner 6

1.2.3 Ứng dụng HomeStyler 7

1.2.4 Vấn đề của các phần mềm hiện tại 8

1.2.5 Hướng giải quyết vấn đề 8

1.2.6 Tóm lược 9

1.3 Mục tiêu 9

1.4 Phạm vi ứng dụng 10

Chương 2 TỔNG QUAN CÔNG NGHỆ 12

2.1 Công nghệ thực tế ảo tăng cường - Augmented Reality 12

2.1.1 Phần cứng 12

2.1.2 Ứng dụng của thực tế ảo tăng cường 12

2.2 ARCore 13

2.3 Unity 15

2.4 ReactJS và Redux 16

2.4.1 ReactJS 16

2.4.2 Redux 17

2.5 Firebase 19

Trang 6

2.5.1 Giới thiệu tổng quan 19

2.5.2 Ưu điểm của Firebase 20

2.5.3 Nhược điểm của Firebase 21

Chương 3 PHÂN TÍCH THIẾT KẾ ỨNG DỤNG 22

3.1 Phân tích 22

3.1.1 Danh sách yêu cầu của hệ thống 22

3.1.2 Đặc tả Use case 23

3.2 Thiết kế 31

3.2.1 Thiết kế lớp 31

3.2.2 Thiết kế giao diện 36

3.2.3 Thiết kế kiến trúc hệ thống 51

Chương 4 XÂY DỰNG ỨNG DỤNG 55

4.1 Thu thập và xử lý dữ liệu 55

4.1.1 Thu thập dữ liệu 55

4.1.2 Xử lý dữ liệu 56

4.2 Xây dựng ứng dụng 60

4.2.1 Ứng dụng Android 60

4.2.2 Ứng dụng Website 67

4.3 Triển khai 73

4.3.1 Ứng dụng ARFurnitureStore 73

4.3.2 Website ARFurnitureStore 73

4.3.3 Cơ sở dữ liệu Firebase 73

Chương 5 KẾT LUẬN 74

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

Trang 7

5.2 Thuận lợi, khó khăn và hướng phát triển 75

5.2.1 Thuận lợi 75

5.2.2 Khó khăn thách thức 75

5.2.3 Hướng phát triển 76

TÀI LIỆU THAM KHẢO 77

Trang 8

DANH MỤC HÌNH ẢNH

Hình 1-1 Houzz - Ứng dụng trang trí nội thất 5

Hình 1-2 Ứng dụng RoomPlanner 6

Hình 1-3 Ứng dụng Homestyler 7

Hình 2-1 Ứng dụng công nghệ thực tế ảo tăng cường vào giáo dục 13

Hình 2-2 Ứng dụng ARCore vào sản phẩm 14

Hình 2-3 ARCore đo đạc, phát hiện mặt phẳng trong thế giới thực 15

Hình 2-4 Logo Unity 15

Hình 2-5 Logo ReactJS 16

Hình 2-6 Sự khác nhau giữa không sử dụng và sử dụng Redux 18

Hình 2-7 Logo của Firebase 19

Hình 2-8 Các nhóm sản phẩm của Firebase 20

Hình 3-1 Sơ đồ Use case 23

Hình 3-2 Sơ đồ thiết kế lớp 31

Hình 3-3 Sơ đồ các màn hình trên ứng dụng android 36

Hình 3-4 Sơ đồ màn hình ứng dụng website 37

Hình 3-5 Màn hình đăng nhập, đăng ký 38

Hình 3-6 Màn hình quét không gian 39

Hình 3-7 Màn hình bố trí nội thất 40

Hình 3-8 Màn hình danh mục sản phẩm 41

Hình 3-9 Màn hình chi tiết sản phẩm 42

Hình 3-10 Màn hình giỏ hàng 44

Hình 3-11 Màn hình danh sách sản phẩm yêu thích 45

Hình 3-12 Màn hình theo dõi đơn hàng 46

Hình 3-13 Màn hình quản lý danh sách danh mục 47

Hình 3-14 Màn hình thêm mới danh mục 48

Hình 3-15 Màn hình quản lý sản phẩm 49

Hình 3-16 Màn hình thêm mới sản phẩm 50

Hình 3-17 Kiến trúc tổng thế 51

Trang 9

Hình 3-18 Kiến trúc ReactJS client 52

Hình 3-19 Kiến trúc ReactJS client 53

Hình 3-20 Kiến trúc tầng Firebase 54

Hình 4-1 Định dạng phổ biến nhất của mô hình 3D 55

Hình 4-2 Các mô hình 3D đi kèm theo file apk 56

Hình 4-3 Phương pháp sử dụng Addressable để cung cấp mô hình 3D 57

Hình 4-4 Tích hợp model-viewer vào ứng dụng website xem sản phẩm 59

Hình 4-5 Các khóa học AR trên Udemy 60

Hình 4-6 Cấu hình cho phiên làm việc của AR Core 61

Hình 4-7 Ứng dụng đặt các mô hình đơn giản 62

Hình 4-8 Thiết kế màn hình ứng dụng AR Furniture Store trên Figma 63

Hình 4-9 Màn hình trang trí nội thất 65

Hình 4-10 Xử lý va chạm 65

Hình 4-11 Mô phỏng trang trí nội thất 66

Hình 4-12 Xử lý đổ bóng chân thực 67

Hình 4-13 Màn hình đăng nhập 68

Hình 4-14 Màn hình danh mục sản phẩm 69

Hình 4-15 Màn hình chi tiết sản phẩm 70

Hình 4-16 Màn hình giỏ hàng 71

Hình 4-17 Màn hình đặt mua hàng 72

Hình 4-18 Màn hình quản lý 72

Trang 10

DANH MỤC BẢNG

Bảng 1-1 Bảng so sánh chức năng giữa các ứng dụng trang trí nội thất 9

Bảng 3-1 Danh sách yêu cầu của hệ thống 22

Bảng 3-2 Danh sách Use case 23

Bảng 3-3 Đặc tả chức năng đăng nhập 24

Bảng 3-4 Đặc tả chức năng khởi tạo không gian 25

Bảng 3-5 Đặc tả chức năng bố trí nội thất 26

Bảng 3-6 Đặc tả chức năng xóa sản phẩm trong không gian 27

Bảng 3-7 Đặc tả chức năng xem danh mục, thông tin sản phẩm 28

Bảng 3-8 Đặc tả chức năng đặt mua sản phẩm 29

Bảng 3-9 Đặc tả chức năng quản lý danh mục sản phẩm 29

Bảng 3-10 Danh sách lớp 31

Bảng 3-11 Danh sách thuộc tính lớp USER 32

Bảng 3-12 Danh sách thuộc tính lớp PRODUCT 32

Bảng 3-13 Danh sách thuộc tính lớp CATEGORY 33

Bảng 3-14 Danh sách thuộc tính lớp CART 33

Bảng 3-15 Danh sách thuộc tính lớp BRANCH 34

Bảng 3-16 Danh sách thuộc tính lớp TRANSFER 34

Bảng 3-17 Danh sách thuộc tính lớp ORDER 34

Bảng 3-18 Danh sách thuộc tính lớp RATING 35

Bảng 3-19 Danh sách màn hình 37

Bảng 3-20 Bảng thành phần giao diện màn hình đăng nhập 39

Bảng 3-21 Bảng thành phần giao diện quét không gian 40

Bảng 3-22 Bảng thành phần giao diện bố trí nội thất 41

Bảng 3-23 Bảng thành phần màn hình danh mục sản phẩm 42

Bảng 3-24 Bảng thành phần màn hình chi tiết sản phẩm 43

Bảng 3-25 Bảng thành phần màn hình giỏ hàng 44

Bảng 3-26 Bảng thành phần màn hình sản phẩm yêu thích 45

Bảng 3-27 Bảng thành phần màn hình theo dõi đơn hàng 46

Trang 11

Bảng 3-28 Bảng thành phần màn hình quản lý danh sách danh mục 47

Bảng 3-29 Bảng thành phần màn hình thêm mới danh mục 49

Bảng 3-30 Bảng thành phần màn hình quản lý sản phẩm 50

Bảng 3-31 Bảng thành phần màn hình thêm mới sản phẩm 51

Bảng 3-32 Bảng mô tả kiến trúc ReactJS client 52

Bảng 3-33 Bảng mô tả kiến trúc Unity 53

Bảng 3-34 Bảng mô tả kiến trúc tầng Firebase 54

Trang 12

DANH MỤC TỪ VIẾT TẮT

AR Thực tế ảo tăng cường Augmented reality

Trang 13

TÓM TẮT KHÓA LUẬN

Với sự phát triển không ngừng trong thời đại 4.0, nhu cầu về công nghệ của con người ngày càng được nâng cao hơn Xu hướng công nghệ hiện nay là tạo ra các môi trường ảo để tăng cường tính trải nghiệm trực quan trong thế giới thực Công nghệ này đang được sử dụng rộng rãi trong nhiều lĩnh vực như giải trí, thương mại, giáo dục,… Với điểm mạnh là tăng cường tính trải nghiệm thực tế người dùng, công nghệ thực tế tăng cường này có thể áp dụng vào lĩnh vực trang trí nội thất Ở các cửa hàng nội thất, việc trang trí nội thất

có sẵn sẽ tốn nhiều diện tích, không gian Bên cạnh đó, khách hàng không có được cái nhìn cụ thể về sản phẩm sẽ được trang trí như thế nào trong không gian của mình Do đó, việc áp dụng công nghệ thực tế tăng cường để tái tạo lại môi trường, giúp khách hàng có cái nhìn trực quan về sản phẩm cũng như giải quyết được các vấn đề của cửa hàng nội thất

Sau khi hoàn thành đề tài khóa luận, em thu được kết quả:

- Kiến thức về triển khai phần mềm

- Kiến thức về công nghệ thực tế tăng cường

- Kiến thức về ứng dụng thương mại điện tử

Trang 14

MỞ ĐẦU

Ngày nay, công nghệ đang phát triển bùng nổ, chúng ta ngày càng thích ứng với những công nghệ mới, những kỹ thuật mới Đặc biệt các lĩnh vực liên quan tới môi trường ảo đang được các doanh nghiệp trong nước và nước ngoài quan tâm phát triển Với điểm mạnh giúp tăng tính trải nghiệm thực tế cho người dùng, công nghệ thực tế tăng cường đã mang lại nhiều ý tưởng cho các doanh nghiệp liên quan đến lĩnh vực thiết kế nói chung và các cửa hàng nội thất nói riêng Đối với các doanh nghiệp nội thất, việc trưng bày các sản phẩm của

họ tốn rất nhiều chi phí về mặt bằng cũng như nhân lực Ngoài ra, khách hàng cũng không thể có cái nhìn trực quan về sản phẩm trong không gian của họ nên

sẽ có trường hợp mua sản phẩm nhưng lại không ưng ý về sau

Với công nghệ thực tế tăng cường, khách hàng cũng như doanh nghiệp có thể giải quyết được các vấn đề của cả hai bên Những đồ nội thất sẽ được mô phỏng bằng môi trường ảo trong thế giới thực một cách chi tiết và chân thật, qua

đó giúp cho khách hàng có cái nhìn trực quan về sản phẩm họ sắp mua, cũng như doanh nghiệp giảm chi phí trưng bày sản phẩm và nhân lực

Công nghệ thực tế tăng cường là công nghệ mới, chưa phổ biến tại nước

ta và chưa đượclàm quen tìm hiểu Vì thế việc tạo ra một hệ thống thực tế tăng cường cũng đặt ra nhiều thách thức và khó khăn Người dùng muốn sử dụng được hệ thống cần phải sử dụng các thiết bị hỗ trợ thực tế tăng cường Trên thị trường hiện nay, các thiết bị công nghệ hỗ trợ thực tế tăng cường ngày càng nhiều, mở ra những tiềm năng mới cho công nghệ này

Nội dung thực hiện:

- Xây dựng ứng dụng hệ thống kinh doanh đồ dùng nội thất

- Xây dụng ứng dụng di động các chức năng thực tế tăng cường, hỗ trợ khách hàng trang trí các đồ dùng nội thất vào trong không gian thực tế của khách hàng

- Xây dựng các chức năng cơ bản của thương mại điện tử

Trang 15

- Xây dựng website quản lý cửa hàng cho doanh nghiệp nội thất

Bố cục báo cáo gồm có 5 chương chính:

- Chương 1: Tổng quan

- Chương 2: Tổng quang về công nghệ

- Chương 3: Phân tích thiết kế ứng dụng

- Chương 4: Xây dựng ứng dụng

- Chương 5: Tổng kết

Trang 16

Chương 1 TỔNG QUAN

1.1 Đặt vấn đề

Hiện nay, nhu cầu trang trí nội thất ngày càng tăng cao, nhưng thực tế khách hàng hầu như không có cái nhìn trực quan về tính hợp lý khi trang trí các sản phẩm vào trong không gian của mình Do đó, khách hàng có thể có những sự lựa chọn sai

và tốn thời gian để trang trí đồ dùng Nhận thấy được vấn đề đó, nhóm em đã đưa ra

ý tưởng thực hiện ứng dụng hệ thống kinh doanh đồ dùng nội thất sử dụng công nghệ thực tế ảo tăng cường Theo đó, ứng dụng sẽ là một ứng dụng trang trí nội thất vào trong không gian của người dùng

Ứng dụng sẽ được áp dụng công nghệ thực tế ảo tăng cường để tăng tính trải nghiệm cho người dùng, nhằm mô phỏng lại toàn bộ không gian thực tế của người dùng sau khi trang trí đồ dùng nội thất Những đồ nội thất, không gian và ánh sáng cũng sẽ được tối ưu để mang lại cho người dùng cái nhìn tốt nhất về sản phẩn nội thất Từ đó, người dùng sẽ nhận thấy được tính hợp lý của các đồ dùng nội thất và

sẽ giảm tránh việc lựa chọn sai sản phẩm, tốn thời gian mua hàng

Sau khi trang trí cho không gian, nếu người dùng thích thú với các đồ dùng nội thất, người dùng có thể đặt mua hoặc liên hệ với cửa hàng nội thất qua các chức năng thương mại điện tử Đây được xem là cầu nối giữa người mua hàng, cửa hàng kinh doanh đồ nội thất Bên cạnh đó, đối với các cửa hàng bán đồ nội thất, sản phẩm sẽ giúp giảm bớt chi phí về nhân lực quản lý, không gian mặt bằng,…

1.2 Các ứng dụng tương tự

Hiện nay, trên thị trường trong nước và ngoài nước có nhiều ứng dụng cung cấp chức năng trang trí và đặt mua sản phẩm nội thất Giúp tăng tính trải nghiệm cho người dùng trong việc sắp xếp bố trí đồ dùng cũng như đặt mua dễ dàng Người dùng có thể tương tác trực tiếp trên ứng dụng để có thể có cái nhìn tổng quan về sản phẩm nội thất khi được bố trí vào không gian của mình Các ứng dụng đều có các

Trang 17

chức năng tương đối đủ để đem lại cho khách hàng những trải nghiệm tốt nhất Mà trong đó ta có thể kể đến như: Houzz, IKEA Place, Room Planner, Homestyler…

1.2.1 Houzz

Houzz là một trong những ứng dụng phổ biến trong thiết kế nội thất Với Houzz, người dùng có thể xem các sản phẩm nội thất để làm ý tưởng cho không gian của mình Ngoài ra người dùng còn có thể mua sắm các đồ dùng và thử nó vào không gian thông qua công nghệ thực tế tăng cường Bên cạnh đó người dùng

có thể tìm đọc các thông tin, mẹo trong việc sắp xếp không gian và nhận tư vấn, nhận xét từ những thiết kế của mình

Hình 1-1 Houzz - Ứng dụng trang trí nội thất Người dùng duyệt ảnh theo phòng, phong cách và vị trí, đồng thời đánh dấu các ảnh trong bộ sưu tập cá nhân mà trang web Người dùng có thể nhấp vào hình ảnh để tìm hiểu thêm về nhà thiết kế, đặt câu hỏi và tìm hiểu về các sản phẩm được gắn thẻ trong ảnh

Trang 18

Ngoài các chức năng xem sản phẩm trong môi trường thực tế ảo, Houzz còn

có các chức năng cơ bản của thương mại điện tử như đặt mua hàng, đánh giá sản phẩm, …

1.2.2 Room Planner

Ứng dụng Room Planner là công cụ thiết kế nhà và nội thất trực tuyến cho phép người thiết kế không gian xung quanh, trang trí đồ nội thất và biểu diễn công trình trong môi trường 3D

Hình 1-2 Ứng dụng RoomPlanner Room Planner có 2 chức năng chính là biểu diễn thiết kế trong không gian dưới góc nhìn 2D và 3D, cho phép người dùng di chuyển trong không gian 3D Với thiết kế sàn ở góc nhìn 3D thì ảnh được lưu sẽ là ảnh 360 Những tiến trình thiết kế cũng sẽ được lưu lại Ảnh hướng nhìn 2D sẽ là ảnh được chụp từ trên xuống Ứng dụng sẽ cho phép người dùng di chuyển trong không gian 3D

Trang 19

Khi có ảnh 360 được chụp, ứng dụng sẽ cho phép người dùng xem ảnh với kiểu nhìn 360

Tuy nhiên, hiện tại với tài khoản miễn phí, người dùng chỉ có thể thực hiện một vài chức năng cơ bản Để sử dụng toàn bộ chức năng, người dùng phải tốn phí để được nâng cấp tài khoản

1.2.3 Ứng dụng HomeStyler

Ứng dụng Homestyler là ứng dụng giúp cho người dùng thiết kế và trang trí căn phòng của mình Với Homestyle, người dùng có thể chụp ảnh không gian để tạo một phòng ảo Sau đó người dùng có thể bố trí các đồ nội thất vào không gian

đã tạo

Hình 1-3 Ứng dụng Homestyler Ngoài ra Homestyler còn hỗ trợ chức năng sử dụng công nghệ thực tế ảo tăng cường, giúp cho người dùng có thể xem sản phẩm tổng quan nhất có thể Các chức năng chính của Homestyler như:

- Đặt mô hình 3D chất lượng cao của các sản phẩm nội thất thực trong phòng của bạn

- Xóa các vật thể hiện có để thử các ý tưởng mới

Trang 20

- Hình dung các kết hợp sản phẩm khác nhau

- Xem cách mô hình thực tế của thảm, tranh, gương và thực tế hơn trong không gian của bạn

1.2.4 Vấn đề của các phần mềm hiện tại

Công nghệ thực tế ảo tăng cường yêu cầu thiết bị phù hợp, hỗ trợ tính năng này Do đó có thể phần mềm sẽ không thích ứng trên một số thiết bị không hỗ trợ tính năng này Tuy nhiên công nghệ này đang phát triển, và hầu hết các thiết bị mới đã dần dần có hỗ trợ tính năng này

Để đáp ứng được tính chân thật nhất về các sản phẩm nội thất, yêu cầu phần mềm phải xử lý tốt các phần như ánh sáng, môi trường và không gian Từ những hiệu ứng này sẽ mang lại cho người dùng trải nghiệm thực tế hơn về sản phẩm Việc cải thiện chất lượng đồ họa trong môi trường thực tế ảo tăng cường sẽ tác động đến những mô hình nội thất

Sau khi trang trí xong không gian của mình, việc đặt mua các sản phẩm là nhu cầu tiếp theo của khách hàng Việc hỗ trợ các tính năng về thương mại điện

tử sẽ đáp ứng được nhu cầu của khách hàng cũng như đem lại lợi ích cho doanh nghiệp kinh doanh nội thất

1.2.5 Hướng giải quyết vấn đề

Xây dựng ứng dụng có chức năng thực tế ảo tăng cường hỗ trợ việc trang trí không gian của người dùng, nhằm giúp mô phỏng cho người dùng có cái nhìn trực quan hơn về các đồ nội thất mà doanh nghiệp đang kinh doanh

Phát triển tính năng thương mại điện tử kết hợp với công nghệ thực tế ảo tăng cường nhằm đáp ứng được nhu cầu của khách hàng cũng như doanh nghiệp Thiết kế môi trường ảo tốt nhất, cải thiện phần mềm nhằm giúp cho người dùng có những trải nghiệm về không gian cũng như đồ họa thực tế nhất có thể Xây dựng phần mềm quản lý dành cho doanh nghiệp, nhằm giúp doanh nghiệp có thể quản lý được thông tin của các cửa hàng cũng như khách hàng

Trang 21

1.2.6 Tóm lược

Sau khi sử dụng các ứng dụng tương tự trên thị trường hiện nay, ta có thể đưa ra bảng so sánh tổng quan các chức năng hiện có của các ứng dụng như sau: Bảng 1-1 Bảng so sánh chức năng giữa các ứng dụng trang trí nội thất

Houzz RoomPlanner Homestyler ARFurnitureStore

ảo tăng cường và các chức năng thương mại điện tử Do đó, việc ứng dụng công nghệ thực tế ảo vào hệ thống kinh doanh nội thất sẽ mang lại cho người dùng trải nghiệm tốt nhất Bên cạnh đó, việc kết hợp này giúp giải quyết được các vấn đề cho khách hàng cũng như doanh nghiệp

1.3 Mục tiêu

Từ bảng so sánh các chức năng ở trên nhóm em đưa ra đề xuất xây dựng hệ thống kinh doanh đồ dùng nội thất với các chức năng như:

Trang 22

- Xem đồ dùng nội thất dưới dạng 3D

- Tích hợp công nghệ thực tế ảo tăng cường vào việc trang trí đồ dùng nội thất

Hệ thống được cung cấp thông tin đồ nội thất, trang trí nội thất như bàn, ghế, sofa, giường hay các chậu cây nhỏ, Hệ thống sử dụng bộ cơ sở dữ liệu được cửa hàng cung cấp Cụ thể là thông tin về những đồ nội thất mà cửa hàng đang kinh doanh gồm: mô hình ba chiều, kích thước, vật liệu Dữ liệu về mô hình ba chiều sẽ được thêm trực tiếp vào website quản trị, và dữ liệu này sẽ được đồng bộ với trên cả ứng dụng website và ứng dụng di động

Các chức năng chính và thao tác của phần mềm đều được thực hiện trong môi trường thực tế ảo tăng cường Người dùng sẽ có cái nhìn trực quan hơn trong việc

bố trí các đồ dùng nội thất vào không gian mà không cần phải sừ dụng đồ dùng thật Các chức năng thương mại cho phép khách hàng dễ dàng đặt mua các sản phẩm trực tiếp trên ứng dụng mà không cần phải trực tiếp vào của hàng Với sự phát triển mạnh mẽ của ngành thương mại điện tử, sự kết hợp này sẽ mang lại nhiều

Trang 23

tiềm năng cũng như sự phát triển cho các doanh nghiệp kinh doanh đồ dùng nội thất

Trang 24

Chương 2 TỔNG QUAN CÔNG NGHỆ

2.1 Công nghệ thực tế ảo tăng cường - Augmented Reality

Thực tế ảo tăng cường (Augment Reality) là góc nhìn trực tiếp hay gián tiếp

về môi trường vật lý, thực tế nơi mà các yếu tố được tăng cường bởi những thông tin nhận thức do máy tính tạo ra trên nhiều phương thức cảm quan bao gồm thị giác, thính giác, xúc giác và khứu giác

Giá trị chính của thức tế tăng cường là nó đưa ra các thành phần của thế giới

số vào nhận thức của con người về thế giới thật thông qua việc tích hợp cảm giác nhập vai Các hệ thống AR đầu tiên cung cấp những trải nghiệm nhập vai đầu tiên được phát minh vào năm 1990

hỗ trợ được nền tảng AR Sau đó sử dụng các thuật toán và công nghệ khác đi kèm để tái lập hình ảnh của vật thể vào không gian thực Ví dụ, khi tạo ra một chiếc ghế ảo, thiết bị cần tính toán sao cho đặt chiếc ghế đó vào không gian thật (nhà ở, văn phòng) sao cho chuẩn xác nhất theo kích thước thực tế

2.1.2 Ứng dụng của thực tế ảo tăng cường

Ngày nay, công nghệ thực tế ảo đang được ứng dụng rộng rãi trong nhiều lĩnh vực như: Kinh doanh, dạy học, nghiên cứu, trò chơi giải trí,… Chẳng hạn

Trang 25

như trong lĩnh vực giáo dục, để nâng cao chất lượng đào tạo, hiện nay rất nhiều nhà phát triển, điển hình trong đó là Microsoft đã ứng dụng công nghệ thực tế ảo tăng cường vào giảng dạy Công nghệ thực tế ảo sẽ tái hiện chân thật các mô hình như: Máy móc, chi tiết cơ khí, các bộ phận cấu tạo cơ thể người và rất nhiều thứ khác vào trong không gian thực tế

Hình 2-1 Ứng dụng công nghệ thực tế ảo tăng cường vào giáo dục

2.2 ARCore

ARCore cung cấp SDK cho nhiều môi trường phát triển phổ biến nhất Các SDK này cung cấp các API gốc cho tất cả các tính năng AR cần thiết do chính Google phát triển, bao gồm 3 công nghệ chính hỗ trợ cho nhà phát triển:

- Theo dõi chuyển động: điện thoại của chúng ta có thể biết nó đang ở đâu trong thế giới thực

- Phát hiện môi trường: khả năng nhận diện các mặt phẳng như mặt bàn, mặt đất, tường, trong thế giới thực thông qua camera

- Điều chỉnh ánh sáng: có thể phát hiện được cường độ ánh sáng qua lens của camera và điểu chỉnh ánh sáng phù hợp với mẫu ảo

Trang 26

Theo dõi chuyển động của ARCore dựa trên 2 thông tin: thông tin hình ảnh từ máy ảnh và các phép đo quán tính bằng đơn vị đo lường quán tính (IMU) của thiết

bị

Hình 2-2 Ứng dụng ARCore vào sản phẩm Môi trường thực tế ảo tăng cường được kết hợp với hình ảnh trong thế giới thực thu được từ máy ảnh của thiết bị với nội dung ảo, chẳng hạn như các đối tượng 3D hoặc thông tin kỹ thuật số

Khi điện thoại di chuyển khắp môi trường xung quanh, ARCore sẽ theo dõi

vị trí của điện thoại so với thế giới xung quanh Quá trình này được gọi là COM hay

đo đạc và ánh xạ

ARCore xem xét dữ liệu thu được từ camera và phát hiện các đặc điểm khác biệt, được gọi là điểm đặc trưng Sau đó, hệ thống sẽ sử dụng những điểm này để tìm ra sự thay đổi vị trí của nó Thông tin hình ảnh được kết hợp với các phép đo quán tính từ thiết bị để ước tính vị trí và hướng của máy ảnh so với thế giới thực theo thời gian

Trang 27

Hình 2-3 ARCore đo đạc, phát hiện mặt phẳng trong thế giới thực

Bằng cách căn chỉnh vị trí và hướng của camera ảo hiển thị nội dung 3D đúng với vị trí và hướng của camera trên thiết bị, ARCore hiển thị nội dung ảo từ góc nhìn chính xác Hình ảnh ảo đó được phủ lên trên hình ảnh camera của thiết bị, làm cho nội dung ảo xuất hiện như một phần của thế giới thực

2.3 Unity

Unity là một game engine chuyên phát triển các trò chơi điện tử trên PC, console, android, iOS, và là một trong những engine cho phép ứng dụng ARCore mạnh mẽ nhất ở thời điểm hiện tại

Hình 2-4 Logo Unity

Trang 28

Mặc dù Unity không được dùng với mục đích chính là làm phần mềm, nhưng với sự hỗ trợ mạnh mẽ về AR cũng như có kiến thức nền tảng về engine này nhất, Unity là một lựa chọn hợp lý để thực hiện khóa luận có ứng dụng AR

Sức mạnh của ReactJS xuất phát từ việc tập trung vào các thành phần riêng

lẻ Chính vì vậy, thay vì làm việc trên toàn bộ ứng dụng web, ReactJS cho phép một developer có thể phân tách giao diện người dùng phức tạp thành các thành phần đơn giản hơn

Đặc điểm nổi bật của ReactJS:

- ReactJS tạo ra cho chính nó các phần tử DOM ảo – React tạo ra một bộ nhớ cache cấu trúc dữ liệu trong bộ nhớ, tính toán sự khác biệt kết quả và sau đó

Trang 29

cập nhật DOM được hiển thị của trình duyệt một cách hiệu quả Giúp cải thiện hiệu suất trên sản phẩm

- Giúp việc viết các đoạn code Javascript dễ dàng hơn: ReactJS sử dụng cú pháp đặc biệt là JSX cho phép ta có code HTML trong code Javascript

- Hiệu năng cao đối với các ứng dụng có dữ liệu thay đổi liên tục, dễ dàng sửa lỗi và bảo trì

Nhược điểm:

- ReactJS là thư viện ở tầng UI không phải MVC framework, chỉ giúp tạo ra phần view Do đó muốn tích hợp vào framework MVC phải cấu hình lại và kết hợp với nhiều công cụ khác

- Không phù hợp với SEO

- Khó tiếp cận cho người mới

2.4.2 Redux

Redux là công cụ quản lý trạng thái cho các ứng dụng Javascript được lấy cảm hứng từ kiến trúc Flux của Facebook Giúp quản lý các trạng thái một cách nhất quán và dễ dàng kiểm thử

Redux thường là được dùng thường xuyên với React Tuy nhiên hoàn toàn

có thể sử dụng với các framework khác như Angular, Angular, Backbone, Falcor, Deku…

Trang 30

Hình 2-6 Sự khác nhau giữa không sử dụng và sử dụng Redux

Redux được xây dựng dựa trên 3 nguyên lý:

- Nguồn dữ liệu duy nhất: State của toàn bộ ứng được chứa trongStore

duy nhất

- Trạng thái chỉ được phép đọc: Cách duy nhất để thay đổi trạng thái của

ứng dụng là phát một Action (là một đối tượng mô tả hành động xảy ra)

- Thay đổi chỉ bằng hàm thuần túy: Để chỉ ra cách mà trạng thái được

biến đổi bởi action chúng ta dùng gọi là Reducer

Quá trình xử lý của Redux trải qua các bước chính sau:

1 Tầng view yêu cầu 1 Action Action Creator tạo ra một Action yêu

cầu đã định dạng trước và gửi lại

2 Action được gửi tự động

3 Store nhận Action sau đó gửi vào State hiện tại và Action cho Root

Reducer

4 Root Reducer chia State ra thành nhiều phần và gửi cho từng

subreducers biết cách xử lý chúng

Trang 31

5 Subreducers tạo ra 1 bản copy từ phần nhận được và thay đổi trên bản copy Sau đó gửi lại bản copy cho Root Reducer

6 Khi tất cả subreducers trả về các phần, Root Reducer ghép chúng lại tạo thành một State và gửi lại cho Store Store thay thế State cũ bằng

State mới

7 Store giao tiếp với tầng view layer binding là có State mới

8 Tầng view layer binding báo Store gửi State mới

9 Tầng view layer binding kích hoạt render view

2.5 Firebase

2.5.1 Giới thiệu tổng quan

Firebase là một nền tảng cơ sở dữ liệu đám mây do Google phát triển để tạo các ứng dụng website và di động Ban đầu nó là một công ty độc lập được thành lập vào năm 2011 Vào năm 2014, Google đã mua lại nền tảng này và hiện nó là sản phẩm chủ lực của họ để phát triển ứng dụng Chức năng chính là giúp cho người lập trình đơn giản hóa các thao tác với cơ sở dữ liệu

Hình 2-7 Logo của Firebase Firebase cung cấp cho chúng ta 2 nhóm sản phẩm chính tập trung vào 2 đối tượng là:

- Phát triển và kiểm thử các ứng dụng được thiết kế

- Phân tích dữ liệu và tối ưu hóa trải nghiệm đối với người dùng

Trang 32

Hình 2-8 Các nhóm sản phẩm của Firebase Các chức năng chính của FirebaseCloud bao gồm:

- Khả năng truy vấn cơ sở dữ liệu nhanh chóng và mạnh mẽ

- iOS, Android và SDK web có quyền truy cập dữ liệu ngoại tuyến

- Đồng bộ hóa dữ liệu thời gian thực

- Sao chép dữ liệu tự động, đa vùng với tính nhất quán mạnh mẽ

- SDK máy chủ Node, Python, Go và Java Firebase hướng đến sự đơn giản và dễ sử dụng luôn là ưu tiên hàng đầu, trong khi vẫn đảm bảo rằng Cloud Firestore có thể mở rộng quy mô để cung cấp tài nguyên cho cả những ứng dụng lớn nhất

2.5.2 Ưu điểm của Firebase

So với các hệ cơ sở dữ liệu khác đang hiện hành, Firebase có những ưu điểm nổi bật sau:

- Đồng bộ hóa dữ liệu giữa các thiết bị trong thời gian thực: SDK

Android, iOS và Javascript của Firebase được đồng bộ hóa dữ liệu với ứng dụng gần như ngay lập tức Điều này giúp cho chúng ta có thể dễ

Trang 33

dàng xây dựng các ứng dụng Realtime, tự động đồng bộ hóa dữ liệu trên các thiết bị và xây dựng các tính năng tương tác thời gian thực

- Sử dụng bộ sưu tập và tài liệu để cấu trúc và truy vấn dữ liệu: Mô

hình dữ liệu này quen thuộc và trực quan đối với nhiều nhà phát triển

Các truy vấn chia tỷ lệ với kích thước của tập kết quả chứ không phải kích thước của tập dữ liệu, vì vậy ta sẽ nhận được hiệu suất tương tự khi tìm nạp 1 kết quả từ tập hợp cơ sở dữ liệu có kích thước 100 hoặc 100.000.000

- Cho phép truy cập dữ liệu ngoại tuyến thông qua cơ sở dữ liệu mạnh

mẽ trên thiết bị: Cơ sở dữ liệu cục bộ này có nghĩa là ứng dụng của sẽ

hoạt động trơn tru, ngay cả khi người dùng mất kết nối Chế độ ngoại tuyến này khả dụng trên Website, iOS và Android

2.5.3 Nhược điểm của Firebase

Bên cạnh những ưu điểm trên, việc sử dụng Firebase vẫn còn những hạn

chế sau:

- Người dùng không có quyền truy cập mã nguồn: Trong quá trình phát

triển ứng dụng, nhà phát triển có thể muốn thay đổi những tính năng của nó, việc không thể truy cập mã nguồn khiến việc này trở nên khó khăn

- Chỉ hoạt động với cơ sở dữ liệu NoSQL: Firebase sử dụng Json và hầu

như không có tính năng SQL mặc dù đã có những cải tiến đáng kể trên Cloud Tuy nhiên, cơ sở dữ liệu của Firebase vẫn không thể sử dụng

cơ sở dữ liệu quan hệ

- Truy vấn chậm: Mặc dù đã có những phát triển trên Cloud Firestore,

Firebase vẫn có những hạn chế về kích thước API, kích thước tài liệu, hạn chế kết nối đồng thời và truy vấn với hiệu suất chậm

Trang 34

Chương 3 PHÂN TÍCH THIẾT KẾ ỨNG DỤNG

3.1 Phân tích

3.1.1 Danh sách yêu cầu của hệ thống

Dựa vào các yêu cầu và quy trình nghiệp vụ của các doanh nghiệp nội thất Nhóm đã đưa ra danh sách thể hiện các nghiệp vụ mà hệ thống cần có:

Bảng 3-1 Danh sách yêu cầu của hệ thống

1 Đăng nhập, đăng ký Được xây dựng trên nền tảng

Android và website

2 Khởi tạo không gian

Được xây dựng trên nền tảng Android Khởi tạo không gian xung quanh để bố trí nội thất

3 Bố trí nội thất

Được xây dựng trên nền tảng Android Sử dụng các vật thể 3D

do doanh nghiệp cung cấp

4 Đặt mua nội thất Được xây dựng trên nền tảng

Trang 35

3.1.2 Đặc tả Use case

3.1.2.1 Danh sách Use case

Hình 3-1 Sơ đồ Use case Bảng 3-2 Danh sách Use case

1 Đăng nhập, đăng ký Cho phép người dùng đăng nhập

đăng ký vào hệ thống

2 Khởi tạo không gian Khởi tạo không gian xung quanh để

bố trí nội thất Người dùng sử dụng

Trang 36

thiết bị di động quét môi trường xung quanh để khởi tạo không gian

3 Bố trí nội thất

Nghiệp vụ này cho phép người dùng

bố trí các vật phẩm nội thất vào không gian đã được khởi tạo Người dùng có thể thêm, xóa, thay đổi vị trí các đồ dùng nội thất trong không gian của mình

4 Đặt mua nội thất Cho phép người dùng có thể đặt mua

các sản phẩm người dùng đã chọn

5 Xem danh sách, thông tin nội

thất

Cho phép người dùng xem danh sách

và thông tin các sản phẩm doanh nghiêp đang kinh doanh

6 Quản lý

Nghiệp vụ này xây dụng dành cho doanh nghiệp với các chức năng như: Quản lý danh mục, sản phẩm, người dùng, đơn hàng, chi nhánh,…

Các bảng từ 3-3 đến 3-9 đặc tả các chức năng của hệ thống:

Bảng 3-3 Đặc tả chức năng đăng nhập

Đăng nhập

Tên Use case Đăng nhập

Mô tả Đăng nhập tài khoản của người dùng

Người thực hiện Người dùng

Điều kiện trước xử lý Hệ thống khởi động thành công

Trang 37

khẩu và hiển thị lại trang đăng nhập

Dòng sự kiện khác

Hệ thống kiểm tra sự tồn tại của tài khoản trong cơ

sơ dữ liệu Nếu sai thông tin đăng nhập, hệ thống sẽ thông báo cho người dùng

Yêu cầu nhập lại thông tin đăng nhập Yêu cầu đặc biệt

Phi chức năng

Ghi chú và vấn đề Thực hiện trên nền tảng di động và website

Bảng 3-4 Đặc tả chức năng khởi tạo không gian

Khởi tạo không gian

Tên Use case Khởi tạo không gian

Mô tả

Khởi tạo không gian xung quanh để bố trí nội thất Người dùng sử dụng thiết bị di động quét môi trường xung quanh để khởi tạo không gian

Người thực hiện Người dùng

Điều kiện trước xử lý Người dùng đã đăng nhập thành công

Sau xử lý

Trang 38

Các bước thực hiện

1 Sau khi đăng nhập thành công, hệ thống chuyển đến chức năng khởi tạo không gian

2 Người dùng di chuyển xung quanh không gian

để thiết bị có thể nhận biết được môi trường xung quanh

3 Nếu quét môi trường thành công, người dùng

có thể thực hiện chức năng bố trí nội thất Nếu quét môi trường không thành công, yêu cầu người dùng quét lại

Dòng sự kiện chính

Hiển thị màn hình camera Người dùng di chuyển camera để quét không gian Kết thúc khởi tạo không gian

Người thực hiện Người dùng

Điều kiện trước xử lý Người dùng đã khởi tạo không gian thành công

Sau xử lý Hiển thị các vật phẩm 3D đã được đặt trong không

gian

Trang 39

Các bước thực hiện

1 Sau khi quét không gian thành công, người dùng chọn mở danh sách sản phẩm

2 Chọn sản phẩm muốn bố trí vào không gian

3 Nhấn đặt sản phẩm vào không gian

4 Di chuyển, xoay chọn vị trí mong muốn bố trí

5 Nhấn đặt

Dòng sự kiện chính

Chọn mở danh sách sản phẩm Chọn sản phẩm mong muốn

Di chuyển lựa chọn vị trí đặt đồ Nhấn đặt

Dòng sự kiện khác

Yêu cầu đặc biệt

Phi chức năng

Ghi chú và vấn đề Thực hiện trên nền tảng di động

Bảng 3-6 Đặc tả chức năng xóa sản phẩm trong không gian

Xóa sản phẩm trong không gian

Tên Use case Xóa sản phẩm trong không gian

Mô tả Cho phép người dùng có thể xóa bỏ các sản phẩm

không mong muốn ra khỏi không gian Người thực hiện Người dùng

Điều kiện trước xử lý Sản phẩm đã được đặt vào trong không gian

Sau xử lý Sản phẩm không còn tồn tại trong không gian bố trí

Trang 40

Nhấn xóa Dòng sự kiện khác

Yêu cầu đặc biệt

Phi chức năng

Ghi chú và vấn đề Thực hiện trên nền tảng di động

Bảng 3-7 Đặc tả chức năng xem danh mục, thông tin sản phẩm

Xem danh sách, thông tin sản phẩm

Tên Use case Xem danh sách, thông tin sản phẩm

Mô tả Cho phép người dùng xem danh sách và thông tin các

sản phẩm doanh nghiêp đang kinh doanh Người thực hiện Người dùng

Điều kiện trước xử lý Người dùng đã vào hệ thống

Sau xử lý Hiển thị thông tin về danh mục, sản phẩm cho người

Ghi chú và vấn đề Thể hiện thông tin của danh mục và sản phẩm Thực

hiện trên nền tảng di động và website

Ngày đăng: 05/09/2021, 20:53

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. S. Blackman, Unity for Absolute Beginners, Apress, 2014S Khác
[2]. P. Mealy, Virtual & Augmented Reality for Dummies, For Dummies, 2018 Khác
[3]. T. J. M. Claudia tom Dieck, Augmented Reality and Virtual Reality: The Power of AR and VR for Business, Springer International Publishing, 2019 Khác
[4]. J. Linowes, Unity Virtual Reality Projects, Packt Publishing, 2015 Khác
[5]. Adam Freeman, Pro React 16, 2019 [6]. ARCore SDK for Unity Documents [7]. Augmented reality design guidelines [8]. ReactJS Official Documents Khác

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