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

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

Đ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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN Phần mềm thiết kế nội thất AR Sử dụng công nghệ ARcore Môn: Đồ án Thành viên: Nguyễn Quốc Nam Sang – 17520976 Giảng viên hướng dẫn: ThSi.Hoàng Văn Hà Lớp: SE122.L11 Tp Hồ Chí Minh,Tháng năm 2021 MỤC LỤC GIỚI THIỆU ĐỀ TÀI Tên đề tài: Phần mềm thiết kế nội thất AR sử dụng công nghệ ARcore Lí chọn đề tài: Với phát triển cơng nghệ liên tục thị trường phải liên tục áp dụng công nghệ để cạnh tranh phát triển, làm chủ thị trường Và cơng nghệ AR mỏ vàng chưa khai thác, áp dụng vào đời sống có nhiều cơng dụng mạnh mẽ, giúp cải thiện sống xã hội, tạo nhiều hội kinh doanh cho công ty biết tận dụng công nghệ lạ, mạnh mẽ Với phần mềm thiết kế nội thất AR em giúp cho công ty design cửa hàng bán hàng nội thất áp dụng công nghệ để triển khai sản phẩm cho khách hàng nhà\phịng họ thiết bị Mobile có tích hợp công nghệ AR camera Tổng quan vấn đề chính: • Bài tốn: Sử dụng cơng nghệ AR để thiết kế phần mềm có tính • ứng dụng sống cho xã hội Giới hạn/phạm vi: Những quy trình ứng dụng, nghiệp vụ phần mềm tìm hiểu từ phần mềm thị trường tự suy diễn • với tư cách 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 quy trình nghiệp vụ áp dụng công nghệ AR công nghệ liên quan khác • để triển khai phần mềm hoàn chỉnh Kết hướng tới: Một phần mềm có giá trị sử dụng triển khai CÁC KIẾN THỨC/CÔNG NGHỆ NỀN TẢNG ARcore Introduction ARcore thư viện open source google nhằm giúp cho developer triển khai cơng nghệ AR vào ứng dụng mà khơng phải nghiên cứu khoa học học thuật liên quan khác.Thư viên giúp developer tìm hiểu nguyên lý thiết kế AR hướng liên quan đến AR.Khi sử dụng thư viện bắt buộc phải xài framework UE Unity, bạn tùy biến thư viện để sử dụng framework phải tự tìm hiểu từ đầu nguyên lý AR để triển khai engine framework thân ARcore ARcore thư viện giúp Developer tích hợp AR vơ phần mềm Vì thư viện open source nên khơng có chức cụ thể mà có chức đa dụng để triển khai AR tảng khác Các tính mà ARcore cung cấp cho developer: • Anchor: Khi ARcore update mơi trường xung quanh object có hiệu ứng trơi anchor giúp giữ object chỗ vị trí tương giới tại.Chúng ta dùng anchor để đảm bảo trải nghiệm cho người dùng tính chân thật phần mềm chúng • ta Camera Config: hỗ trợ Developer chỉnh sửa camera, cung cấp thông tin CPU GPU.Lớp giúp Developer điều chỉnh khả • nhận biết chiều sâu camera, FPS camera,… Config: cho Developer khả chỉnh lại hiệu khác ARcore PlaneFindingMode(phương pháp tìm kiếm mặt • phẳng),UpdateMode(chỉnh sửa hành vi Session.Update()),… Plane:Lớp mặt phẳng ARcore tạo để Developer sử dụng định nghĩa mặt phẳng đời thực qua Camera Unity Unity “cross- flatform game engine” tạm hiểu công cụ phát triển game đa tảng phát triển bởi Unity Technologies Game engine sử dụng để phát game PC, consoles, thiết bị di động websites Chức 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 hình ảnh 2D 3D, cơng cụ vật lý (tính tốn phát 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 liệu xử lý, quản lý nhớ, dựng ảnh đồ thị kết nối mạng Nhờ có engine mà cơng việc làm game trở nên tốn đơn giản Hỗ trợ đa tảng: Một mạnh Unity3D khả hỗ trợ gần tồn tảng có bao gồm: PlayStation 3, Xbox 360, Wii U, iOS, Android, Windows, Blackberry 10, OS X, Linux, trình duyệt Web Flash Nói cách khác, với gói engine, studio làm game cho hệ điều hành dễ dàng convert chúng sang hệ điều hành khác Đồng thời, giải pháp cho game online đa tảng – chơi đồng thời nhiều hệ điều hành, phần cứng khác Web, PC, Mobile, Tablet… Dễ sử dụng: Unity3D built môi trường phát triển tích hợp, cung cấp Phần mềm tồn diện cho 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 hướng đến đồng thời lập trình viên không chuyên studio chuyên nghiệp, nên Unity3D dễ sử dụng Hơn nữa, engine phổ biến giới, người dùng dễ dàng tìm kiếm kinh nghiệm sử dụng “tiền bối” forum cơng nghệ Tính kinh tế cao: Unity Technologies cung cấp miễn phí engine Unity3D cho người dùng cá nhân doanh nghiệp có doanh thu 100.000 USD/năm Với Pro, người dùng phải trả 1.500 USD/năm – số khiêm tốn so với engine mang lại XÂY DỰNG ỨNG DỤNG 3.1 Tổng quan khảo sát ứng dụng liên quan Khảo sát AppStore • Trên thị trường có phần mềm thiết kế AR IKEA sử dụng chưa phổ biến với người dùng phổ thơng • có q người biết đến Mục tiêu em phần mềm tạo cảm giác dùng dễ tiếp cận để mở rộng tiềm thị trường bán hàng online 3.1.2 Khảo sát cửa hàng online Shoppee, Tiki,… • Các hàng online đa số khơng có danh mục đồ nội thất có ít, doanh thu từ việc bán đồ nội thất gần không • đáng kể Hiện người dùng dựa dẩm vào thợ thủ công cửa hàng để chọn lựa sản phẩm cho 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 Yêu cầu REQ-1 REQ-2 REQ-3 Trọng số ưu tiên Mô tả Phần mềm cho phép khách hàng lựa đồ nội thất cần thiết Phần mềm cho phép khách hàng phát mặt phẳng cần trang trí đồ nội thất Phần mềm cho phép người dùng đặt đồ nội thất muốn trang trí lên mặt phẳng xuất REQ-4 REQ-5 REQ-6 REQ-7 REQ-8 REQ-9 3.2.1.3 REQ-10 REQ-11 Yêu cầu Phần mềm cho phép khách hàng xem danh sách đồ nội thất có Phần mềm cho phép khách hàng thay đổi từ nội thất đất sang tường Phần mềm cho phép khách hàng điều chỉnh vị trí nội thất Phần mềm cho phép khách hàng điều chỉnh hướng nội thất Phần mềm cho phép khách hàng xóa nội thất thiết kế khơng mong muốn Phần mềm cho phép khách hàng chụp lại hình sau thiết kế Yêu cầu phi chức Yêu cầu 3.2.1.4 Trọng số ưu tiên Mơ tả Người dùng cần có thiết bị tương thích với AR Người dùng phải có mạng để tải phần mềm từ appstore Yêu cầu giao diện Trọng số ưu tiên Mô tả REQ-12 REQ-13 REQ-14 REQ-15 Phần mềm có nút để đổi sang nội thất cần thiết kế Phần mềm có nút để xóa nội thất thiết kế khơng mong muốn Phần mềm phải có nút chụp lại hình thiết kế Màn hình phải có nút để đổi thiết kế Mặt đất Mặt tường Đặ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) người có liên quan ảnh hướng tới 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 3.2.2.2 Các actors mục tiêu Actors Mục tiêu Use cases Khách hàng Bật phần mềm 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 đồ 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ế không gian thực UC-4 Khách hàng Thiết kế không ưng ý muốn xóa vật đặt mặt phẳng không gian thực UC-5 Khách hàng Thiết kế ưng ý lưu lại thiết kế cách UC-6 chụp hình 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ội  thất UC-3: Thay đổi danh mục đồ nội thất từ mặt đất sang mặt  tường – để khách hàng chọn địa hình thiết kế UC-4: Chọn nội thất để thiết kế không gian thực – để khách hàng  chọn thiết kế sản phẩm thích UC-5: Thiết kế khơng ưng ý muốn xóa vật đặt mặt phẳng  không gian thực– để thiết kế lại UC-6: Thiết kế ưng ý lưu lại thiết kế cách chụp hình - để lưu lại thiết kế cách chụp hình 10 Dịng kiện chính Khách hàng chọn nội thất để thiết kế UI Người dùng đặt nội thất chọn (Dịng kiện khác: Phần mềm khơng thể truy cập sở liệu.) Dòng kiện khác Phần mềm truy cập sở liệu: Lỗi 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 Các yêu cầu đặc biệt Khơng có Trạng thái Phần mềm trước thực thiện use case Actor: Khách hàng Trạng thái Phần mềm sau thực use case Người dùng thiết kế với đồ vật chọn Điểm mở rộng Không có Điều kiện: 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 xóa nội thất thiết kế Dòng kiện chính Người dùng bấm vào UI xóa nội thất thiết kế Phần mềm xóa nội thất thiết kế gần Dòng kiện khác Các yêu cầu đặc biệt Khơng có Trạng thái Phần mềm trước thực thiện use case Actor: Khách hàng Trạng thái Phần mềm sau thực Người dùng xóa vật đặt sai khơng mong muốn hình Điều kiện: Khơng có 14 use case Điểm mở rộng Khơng có 15 Use case “Chụp hình sau thiết kế” Tên Use Case UC-6: Chụp hình sau thiết kế Tóm tắt Khách hàng chụp hình sau thiết kế Dịng kiện chính Khách hàng bấm nút chụp hình Phần mềm chụp hình lưu vào máy khách hàng 3.Khách hàng xem hình chụp ở folder máy Dịng kiện khác Các u cầu đặc biệt Khơng có Trạng thái Phần mềm trước thực thiện use case Actor: Khách hàng Trạng thái Phần mềm sau thực use case Khách hàng chụp hình có hình folder khách hàng Điểm mở rộng Khơng có Điều kiện: cấp quyền 3.2.2.4 Sơ đồ Sequence Các sơ đồ sequence cho số Use Case quan trọng 16 3.2.2.4.1 Sơ đồ Sequence cho UC-2 – Tìm kiếm mặt phẳng 17 3.2.2.4.2 Sơ đồ Sequence cho UC-3 – Thay đổi danh mục 18 3.2.2.4.3 Sơ đồ Sequence cho UC-5 – Xóa nội thất đặt 19 3.2.2.4.4 Sơ đồ Sequence cho UC-6 – Chụp hình 20 3.2.2.5 Sơ đồ Activity 3.2.2.5.1 Sơ đồ Activity cho UC-2 – Tìm kiếm mặt phẳng 21 3.2.2.5.2 Sơ đồ Activity cho UC-2 – Thay đổi danh mục 22 3.2.2.5.3 Sơ đồ Activity cho UC-2 – Chọn nội thất 23 3.2.2.5.4 Sơ đồ Activity cho UC-2 – Xóa nột thất đặt 24 3.2.2.5.5 3.3 Sơ đồ Activity cho UC-2 – Chụp hình 3.3.1.1 Các áp dụng chính Arcore unity 3.3.1.2 Arcore • Sử dụng Arcore plane finding để tìm kiếm mặt phẳng để xử lý • quy trình phần mềm Arcore anchor để đảm bảo vật đặt giữ vị trí • theo thời gian không gian thực Arcore session config để điều chỉnh camera ứng dụng theo • yêu cầu Arcore Depth API để nhận diện chiều sâu không gian Unity 25 • Đồ án sử dụng Unity để xây dựng phần mềm android sử • dụng đươc cơng nghệ AR điện thoại người dùng Các công nghệ unity Canvas để thiết kế UI, Camera control, hệ thống scripting unity, hệ thống quản lý object tồn scene công nghệ khác unity nhằm phục vụ việc phát triển phần mềm THIẾT KẾ KIỂM THỬ 4.1 4.2 4.3 Mơi trường kiểm thử Test laptop: • Unity editor 2020.1.17f • Internet LAN • Windows 10, chrome web • Ram 16gb, chip I7-7700HQ Test Mobile: • Samsung S10e có hỗ trợ AR • Camera trước khơng có lỗi • Phần mềm Kết thử nghiệm • Phần mềm chạy đầy đủ chức • Thử nghiệm theo usecase hồn tồn khơng có lỗi Kết sản phẩm: • Sản phẩm tương đối đầy đủ chức năng, làm phân phối • • tiến hành thêm vài quy trình thẩm định sửa chức UI/UX nhìn đẹp mắt, thời thượng Phần mềm chạy mượt máy 26 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết đạt • Học tập cách sử dụng ARcore • Học tập nguyên lý thiết kế phần mềm AR • Học tập cơng nghệ Unity để phát triển phần mềm 5.1 5.1.1.1 android • Phần mềm có giá trị sử dụng kể cho người • 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 • Khơng có tài liệu phổ thơng nghiệp vụ khác • Khơng deploy lên Appstore khơng đủ khả chi phí • Phần mềm cịn tương đối sơ sài chưa thể gọi hoàn chỉnh Hướng phát triển • Phát triển chức phụ giúp cải thiện trải nghiệm 5.1.1.2 • người dung Hồn thiện chức để đảm bảo chất lượng sản • phẩm Thêm thắt model nội thất để đa dạng hóa sản phẩm TÀI LIỆU THAM KHẢO 6.1 Arcore: • https://www.developers.google.com/ar/ • https://developers.google.com/ar/develop/unity/quickstartandroid 6.2 Unity: • https://unity.com/ • https://docs.unity3d.com/Manual/index.html • https://assetstore.unity.com/ 27 28 ... mềm thiết kế nội thất AR em giúp cho công ty design cửa hàng bán hàng nội thất áp dụng công nghệ để triển khai sản phẩm cho khách hàng nhàphòng họ thiết bị Mobile có tích hợp cơng nghệ AR camera... khách hàng xem danh sách đồ nội thất có Phần mềm cho phép khách hàng thay đổi từ nội thất đất sang tường Phần mềm cho phép khách hàng điều chỉnh vị trí nội thất Phần mềm cho phép khách hàng điề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 3.2.2.2 Các actors mục tiêu Actors Mục tiêu Use cases Khách hàng Bật phần mềm cấp quyền camera UC-1 Khách hàng Tìm kiếm

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

Từ khóa liên quan

Mục lục

  • 1. Giới thiệu đề tài

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

  • 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

    • 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.2.1. Các bên liên quan – Stakeholders

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

    • 3.2.2.3. Các usecase

      • Mô tả tổng quan

      • 3.2.2.3.1. Sơ đồ Use Case

      • 3.2.2.3.2. Đặc tả Use Cases

        • Use case “Cấp quyền camera”

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

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

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

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

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

        • 3.2.2.4. Sơ đồ Sequence

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

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

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

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

          • 3.2.2.5. Sơ đồ Activity

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

Tài liệu cùng người dùng

Tài liệu liên quan