1. Trang chủ
  2. » Tất cả

Đồ án tìm hiểu các framework hỗ trợ làm game 3d, tương tác thực thể ảo ar

76 5 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

Nội dung

ĐẠ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 Phạm Phúc Nguyên - 19521918 Đỗ Phi Long- 19521777 ĐỒ ÁN TÌM HIỂU CÁC FRAMEWORK HỖ TRỢ LÀM GAME 3D, TƯƠNG TÁC THỰC THỂ ẢO AR GIẢNG VIÊN HƯỚNG DẪN ThS Nguyễn Thị Thanh Trúc TP HỒ CHÍ MINH, 2022 ĐẠ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 Phạm Phúc Nguyên - 19521918 Đỗ Phi Long- 19521777 ĐỒ ÁN TÌM HIỂU CÁC FRAMEWORK HỖ TRỢ LÀM GAME 3D, TƯƠNG TÁC THỰC THỂ ẢO AR GIẢNG VIÊN HƯỚNG DẪN ThS Nguyễn Thị Thanh Trúc TP HỒ CHÍ MINH, 2022 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc TP HCM, ngày 26 tháng 12 năm 2022 NHẬN XÉT ĐỒ ÁN Tên đồ án: Tìm hiểu xây dựng ứng dụng AR Nhóm sinh viên thực hiện: Cán hướng dẫn: PHẠM PHÚC NGUYÊN 19521918 ĐỖ PHI LONG 19521777 ThS Nguyễn Thị Thanh Trúc Đánh giá Khóa luận: Về báo cáo: Số trang Số chương Số bảng số liệu Số hình vẽ Số tài liệu tham khảo Sản phẩm Một số nhận xét hình thức báo cáo: Về nội dung nghiên cứu: Về chương trình ứng dụng: Về thái độ làm việc sinh viên: Đánh giá chung: Điểm sinh viên: PHẠM PHÚC NGUYÊN: ……… /10 ĐỖ PHI LONG: ……… /10 Người nhận xét (Ký ghi rõ họ tên) Nguyễn Thị Thanh Trúc ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc TP HCM, ngày 26 tháng 12 năm 2022 ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: Tìm hiểu framework hỗ trợ làm Game 3D, tương tác thực thể ảo AR Cán hướng dẫn: ThS Nguyễn Thị Thanh Trúc Thời gian thực hiện: 19/09/2022 – 26/12/2022 Sinh viên thực hiện: ● Đỗ Phi Long - 19521777 ● Phạm Phúc Nguyên - 19521918 Nội dung đề tài  Mục tiêu: Đồ án có mục tiêu chính: Thứ tìm hiểu framework hỗ trợ làm Game AR 3D; đánh giá điểm mạnh, điểm yếu framework; tìm hiểu giải thuật, thuật toán sử dụng framework để xử lý AR; khảo sát game AR 3D có thị trường mà sử dụng framework kể Thứ hai, sau tìm hiểu tổng quát framework hỗ trợ làm Game AR 3D, nhóm chọn framework phù hợp phát triển game AR 3D để minh họa cho kiến thức nghiên cứu Phạm vi: Phạm vi nghiên cứu: game engine AR 3D, framework AR, thuật toán xử lý liên quan đến AR Phạm vi môi trường triển khai ứng dụng: thiết bị Android iOS có hỗ trợ ARCore ARKit Phạm vi chức năng: Đối tượng sử dụng:  Người chơi muốn trải nghiệm game AR 3D dựa hệ thống định vị Phương pháp thực hiện:  Phương pháp nghiên cứu: ● Tìm hiểu game engine 3D có hỗ trợ AR ● Tìm hiểu sở lý thuyết, thuật tốn, kỹ thuật sử dụng xử lý AR ● Tìm hiểu tính năng, đặc điểm framework AR game engine 3D hỗ trợ ● Khảo sát ứng dụng có nét tương tự thị trường: o Pokemon GO Phương pháp cơng nghệ: ● Áp dụng mơ hình thác nước (Waterfall) ● Môi trường triển khai trình phát triển kiểm thử Android, tảng phần cứng thiết bị Samsung Galaxy S10+ Nền tảng công nghệ: Engine: Unity Framework: AR Foundation Môi trường: Hệ điều hành Android & iOS Kết quả mong đợi:  ● Hiểu điểm mạnh, điểm yếu game engine 3D AR framework AR hỗ trợ game engine ● Hiểu đặc điểm game 3D AR, tính AR ứng dụng game 3D AR ● Có nhìn tổng thể đầy đủ AR, sở lý thuyết, thuật toán, kỹ thuật áp dụng xử lý AR ● Ứng dụng game 3D AR minh họa hoạt động tốt, khơng có lỗi, tạo thú vị thu hút người chơi, có tiềm phát triển tương lai Kế hoạch làm việc: Thời gian thực từ ngày 19/09/2022 đến ngày 26/12/2022 Phân công công việc: Công việc Công việc chung Công việc cá nhân Tìm hiểu framework làm Game AR 3D có thị trường Tìm hiểu tính framework Tìm hiểu giải thuật, thuật toán sử dụng framework Khảo sát game AR 3D xây dựng framework tìm hiểu Đánh giá ưu/nhược điểm framework tìm hiểu Lên ý tưởng cho sản phẩm game AR 3D thực lựa chọn framework để sử dụng Đỗ Phi Long Phạm Phúc Nguyên ● Xác nhận CBHD (Ký tên ghi rõ họ tên) ● TP HCM, ngày 26 tháng 12 năm 2022 MỤC LỤC Chương TỔNG QUAN: 1.1 Mục tiêu đồ án .2 1.2 Đối tượng nghiên cứu 1.3 Phương pháp thực 1.4 Khảo sát game engine 3D thư viện, SDK, framework AR thị trường 1.4.1 Unity 1.4.2 Unreal 1.4.3 Thống kê 10 1.4.4 So sánh Unity Unreal 11 Chương CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ 20 2.1 Tìm hiểu AR 20 2.1.1 AR gì? 20 2.1.2 Đặc điểm: 20 2.1.3 Các loại AR: 21 2.1.4 Các thiết bị AR: 22 2.1.5 Các loại ứng dụng AR thường gặp: 25 2.1.6 Điểm khác biệt AR,VR MR: 28 2.2 Các sở lý thuyết AR tổng quát 30 2.2.1 Device motion tracking (Theo dõi chuyển động thiết bị) 30 2.1.1 Marker detection (Nhận dạng marker) 36 2.1.1 3D Object tracking (Nhận dạng vật thể 3D) .37 2.1.2 Facial tracking (Nhận dạng khuôn mặt) 38 2.1.1 2.2 Light estimation (Ước lượng ánh sáng) .40 Unity 42 2.2.1 Cấu trúc 42 2.2.2 Universal Render pipeline 43 2.2.3 Shader graph 46 2.2.4 Tìm hiểu AR Foundation 47 2.2.5 Kiến trúc: .48 2.2.6 Tính năng: 48 Chương PHÂN TÍCH YÊU CẦU 52 3.1 Ý tưởng sản phẩm 52 3.2 Sơ đồ Use-case 53 3.3 Sơ đồ trạng thái .54 Chương 4.1 THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 55 Thiết kế hệ thống 55 4.1.1 Kiến trúc hệ thống .55 4.1.2 Sơ đồ lớp 56 4.2 4.2.1 Xây dựng hệ thống 59 Giao diện: 59 Chương 5.1 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 62 Kết 62 5.1.1 Về mặt nghiên cứu .62 5.1.2 Về mặt sản phẩm 62 5.2 Hướng phát triển 63 DANH MỤC HÌNH ẢNH Hình 1.1 Logo unity Hình 1.2 Minh họa kiến trúc .5 Hình 1.3 Animation dùng unity Hình 1.4 Ảnh editor unity Hình 1.5 Unreal engine .7 Hình 1.6 Lumen, hệ thống ánh sáng chiếu sáng toàn cầu theo thời gian thực (dynamic global illumination) .8 Hình 1.7 MetaHuman, framework để tạo mơ hình người 3D chân thực .8 Hình 1.8 Nanite, hệ thống xử lý hình học ảo Hình 1.9 Game làm từ unity 11 Hình 2.1 Cách hoạt động AR 20 Hình 2.2 Marker base AR 21 Hình 2.3 Geo location base .22 Hình 2.4 Projection AR .22 Hình 2.5 Thiết bị HMD .23 Hình 2.6 Thiết bị HUD 24 Hình 2.7 AR thiết bị di động 25 Hình 2.8 AR Filter 25 Hình 2.9 Sử dụng AR để đặt model lên hình ảnh .26 Hình 2.10 Đặt đồ nội thất vào giới 27 Hình 2.11 Game Pokémon go 28 Hình 2.12 Sự khác biệt AR, VR, MR .28 Hình 2.13 Cách hoạt động FAST .31 Hình 2.14 Cách hoạt động BRISK .32 Hình 2.15 Các bước xử lý VSLAM 34 Hình 2.16 Cảm biến 3D LiDAR .36 Hình 2.17 Các thiết kế marker số hệ thống nhận dạng .37 Hình 2.30 AR Plane Manager Để thể mặt phẳng lên hình người lập trình sử dụng AR Plane Mesh Visualizer Hình 2.31 AR Plane Mesh Visualizer Hình 2.32 Kết Plane Visualizer 49 2.2.6.2 Image Tracking Dựa vào danh sách hình ảnh cung cấp, AR Tracked Image Manager tìm mơi trường hình ảnh cung cấp tạo game object đại cho ảnh Chức dùng để tìm kiếm mặt phẳng 2D Hình 2.33 AR Tracked Image Manager 2.2.6.3 Object Tracking Tương tự Image tracking, Object Tracking cần người lập trình cung cấp danh sách ảnh để chương trình tìm kiếm object dựa hình ảnh cung cấp Nhưng khác với Image tracking Object tracking khơng tìm kiếm theo mặt phẳng 2D mà theo vật thể 3D Để sử dụng cần thêm AR Tracked Object Manager vào game object Hình 2.34 AR Tracked Object Mager 2.2.6.4 Face Tracking Face tracker hoạt động cách tạo object cho khn mặt người mà chương trình nhận diện được, sử dụng thơng qua AR Face Manager Hình 2.35 AR Face Manager 50 2.2.6.5 Raycasts AR Foundation hỗ trợ việc raycast mơi trường AR, để làm việc ta sử dụng AR Raycast Manager Hình 2.36 AR Raycast Manager 51 Chương PHÂN TÍCH YÊU CẦU 3.1 Ý tưởng sản phẩm Ý tưởng sản phẩm đồ án game 3D AR có tên Live Fish Tank, triển khai cho hệ điều hành Android, lấy chủ đề ni cá: người chơi đặt bể cá vào môi trường thực nuôi loại cá khác bể Người chơi cho cá ăn để chúng lớn lên Cá ăn lượng thức ăn định, chạm đến ngưỡng chúng khơng ăn nữa; lượng thức ăn mà cá ăn thời gian ngắn tăng cá lớn, thời gian để cá ăn trở lại giảm nhanh Khi ăn no, cá lớn dần theo thời gian, kéo dài chúng đói trở lại Cá khơng cho ăn thời gian dài chết Trò chơi sử dụng tính nhận diện mặt phẳng AR Foundation (ARCore) để nhận diện mặt phẳng nằm ngang mặt bàn, sàn nhà, để đặt bể cá lên Người chơi đưa thiết bị cao bể cá nhấp vào bể để thả cá vào Để thả thức ăn vào bể, người chơi đưa thiết bị lên bể cá lắc thiết bị giống cách ta rắc thức ăn vào bể cá thật 52 3.2 Sơ đồ Use-case Hình 3.1 Use-case 53 3.3 Sơ đồ trạng thái Hình 3.2 Sơ đồ trạng thái cá 54 Chương THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 4.1 Thiết kế hệ thống 4.1.1 Kiến trúc hệ thống Hình 4.1 Sơ đồ kiến trúc hệ thống Kiến trúc hệ thống bao gồm phần: ● AR Framework: đảm nhận tác vụ, công việc liên quan đến AR, giao tiếp với cấu trúc bên AR Foundation để thực công việc thuộc mảng AR ● LiveFishTank App: bao gồm thành phần, tác vụ game; chứa logic cụ thể game, không gồm tác vụ liên quan đến AR; xây dựng thành phần AR Framework Các thành phần AR bên sử dụng AR Framework để thực công việc liên quan đến AR: 55 ● AR Foundation: Framework AR Unity, AR Framework sử dụng cấu trúc, phương thức định nghĩa thành phần - sau AR Foundation gọi đến lớp bên để thực yêu cầu AR Framework ● ARCore: AR SDK Android, gọi AR Foundation để thực yêu cầu Live Fish Tank Game 4.1.2 Sơ đồ lớp Hình 4.2 Sơ đồ lớp game Live Fish Tank (phần 1/2) 56 Hình 4.3 Sơ đồ lớp game Live Fish Tank (phần 2/2) Tên lớp Mô tả Singleton Lớp sở cho lớp áp dụng mẫu thiết kế Singleton ARManager Lớp quản lý tính liên quan đến nhận dạng mặt phẳng AR Accelerometer Lớp thực nhiệm vụ phát chuyển động lắc thiết bị PlaceablesManager Lớp quản lý vật thể đặt vào môi trường thực tác vụ tạo, hủy vật thể lớp phụ trách; ngồi cịn thực nhiệm vụ lưu trữ khôi phục liệu lần chơi InteractionManager Lớp quản lý tương tác người chơi với trò chơi, logic tương tác MonoBehaviour Lớp sở đối tượng trò chơi, cung cấp Unity FishTank Lớp đại diện cho bể cá TankResident Lớp sở cho đối tượng cho vào bể cá 57 FishFood Lớp đại diện cho phần tử thức ăn người chơi thả vào bể Fish Lớp đại diện cho cá thể cá bể FishState Lớp sở cho trạng thái khác cá StatusLog Lớp thực tác vụ in thông tin, lỗi hình; phục vụ mục đích debug AppetiteBar Lớp thực tác vụ cập nhật hiển thị cho trạng thái cá SettingsMenu Lớp thực hành động liên quan đến menu settings animation InteractableScreen Lớp nhận tương tác người dùng truyền thông tin tương tác đến InteractionManager để xử lý Toggles Lớp thực xử lý điều khiển menu settings PrefabSelection Lớp thực xử lý button chọn loại cá DroppingIntoTankState Lớp thực tác vụ cá trạng thái thả vào bể TransitionalState Lớp sở cho trạng thái tạm thời RotatingState Lớp thực tác vụ cá trạng thái xoay RotateTransitionalState Lớp thực tác vụ cá trạng thái xoay tạm thời trước chuyển sang trạng thái WanderingState Lớp thực tác vụ cá trạng thái bơi tự WanderingAndHungryState Lớp thực tác vụ cá trạng thái bơi tự cịn đói 58 WanderingAndFullState Lớp thực tác vụ cá trạng thái bơi tự no HeadingForFoodState Lớp thực tác vụ cá trạng thái tiến lại chỗ thức ăn DeadState Lớp đại diện cá trạng thái chết 4.2 Xây dựng hệ thống 4.2.1 Giao diện: 4.2.1.1 Màn hình chính: Hình 4.4 Màn hình 4.2.1.2 Options: 59 Hình 4.5 Options 4.2.1.3 Cho cá ăn: Hình 4.6 Cho cá ăn 4.2.1.4 Đặt bể cá: Hình 4.7 Đặt bể cá 60 4.2.1.5 Đặt cá: Hình 4.8 Chọn cá 4.2.1.6 Xác định độ sáng: Hình 4.9 Xác định độ sáng 4.2.1.7 Dưới mặt nước Hình 4.10 Dưới mặt nước 61 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết 5.1.1 Về mặt nghiên cứu ● Tìm hiểu AR, Game 3D AR: ○ Về thị trường, công nghệ AR chưa thực phát triển nhiều hạn chế phần cứng lẫn phần mềm, giá sản xuất, nhu cầu tiêu dùng cịn ○ Khơng thực nhiều sản phẩm game 3D AR phát triển hạn chế kể công nghệ Các sản phẩm triển khai thành công chủ yếu thể loại game Casual, ứng dụng tính AR định vị, nhận dạng mặt phẳng, nhận dạng hình ảnh, ● Tìm hiểu game engine hỗ trợ phát triển ứng dụng AR ● Tìm hiểu thuật tốn, kỹ thuật phần cứng sử dụng AR 5.1.2 Về mặt sản phẩm ● Ưu điểm: ○ Vật thể ảo nằm mặt phẳng với thực tế ○ Các tương tác người chơi với vật thể ảo (thả cá, thả thức ăn) giống với tương tác giới thực ○ Hành vi cá thể cá gần giống với thực tế cá có phát triển theo thời gian ○ Có lưu tiến trình người chơi ○ Hiệu ứng hình ảnh bắt mắt, có tương tác với thiết bị chìm vào bể cá, sử dụng liệu ánh sáng thực để tạo ảnh phản chiếu cho bề mặt kính ○ Giao diện gọn gàng, ưa nhìn, có hoạt ảnh bắt mắt ● Nhược điểm: ○ Cịn hạn chế mặt chế chơi, có chế nuôi cá 62 ○ Hành vi cá chưa hoàn toàn giống với thực tế ○ Giao diện chưa hồn chỉnh, thơng báo cịn sử dụng dạng văn 5.2 Hướng phát triển Để phát triển hoàn thiện mặt trò chơi mặt thực tế tăng cường, nhóm có số ý tưởng thực được: ● Về mặt AR, sử dụng nhận dạng hình ảnh 2D để đặt bể cá lên bề mặt hình ảnh nhận dạng ● Cho phép người chơi tạo nhiều bể cá có sưu tập bể cá khác nhau; thêm nhiều bể cá với khung cảnh bên khác ● Tạo chợ cá để người chơi bán cá ni sử dụng tiền để mua giống cá ● Thêm trạng thái bệnh, ngủ, cho cá, từ tạo thêm tương tác với cá ● Thêm khả chụp ảnh hình 63 ... framework; tìm hiểu giải thuật, thuật toán sử dụng framework để xử lý AR; khảo sát game AR 3D có thị trường mà sử dụng framework kể Thứ hai, sau tìm hiểu tổng quát framework hỗ trợ làm Game AR. .. trường Tìm hiểu tính framework Tìm hiểu giải thuật, thuật toán sử dụng framework Khảo sát game AR 3D xây dựng framework tìm hiểu Đánh giá ưu/nhược điểm framework tìm hiểu Lên ý tưởng cho sản phẩm game. .. triển tương lai Chương TỔNG QUAN: 1.1 Mục tiêu đồ án Đồ án có mục tiêu chính: Thứ tìm hiểu framework hỗ trợ làm Game 3D AR; đánh giá điểm mạnh, điểm yếu framework; tìm hiểu giải thuật, thuật toán

Ngày đăng: 01/02/2023, 21:13

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

TÀI LIỆU LIÊN QUAN

w