NGHIÊN cứu và PHÁT TRIỂN GAME 3d, VIRTUAL REALITY

72 6 0
NGHIÊN cứu và PHÁT TRIỂN GAME 3d,  VIRTUAL REALITY

Đ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 TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM HÚA VĂN TUẤN ANH – NGUYỄN DU PHÚC NGÂN KHÓA LUẬN TỐT NGHIỆP NGHIÊN CỨU VÀ PHÁT TRIỂN GAME 3D TRÊN NỀN TẢNG VIRTUAL REALITY Adventure-Survival VIRTUAL REALITY Game: Labyrinth Breaker KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM TP HỒ CHÍ MINH, 2021 ĐẠ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 HỨA VĂN TUẤN ANH – 17520232 NGUYỄN DU PHÚC NGÂN – 17520792 KHÓA LUẬN TỐT NGHIỆP NGHIÊN CỨU VÀ PHÁT TRIỂN GAME 3D TRÊN NỀN TẢNG VIRTUAL REALITY Adventure-Survival VIRTUAL REALITY Game: Labyrinth Breaker KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN NGUYỄN THỊ THANH TRÚC TP HỒ CHÍ MINH, 2021 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 Hiệu trưởng Trường Đại học Công nghệ thông tin – Chủ tịch – Thư ký – Ủy viên – Ủy viên ĐHQG TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc lập – Tự – Hạnh phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày tháng năm NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận: NGHIÊN CỨU VÀ PHÁT TRIỂN GAME 3D TRÊN NỀN TẢNG VIRTUAL REALITY Cán hướng dẫn: Nhóm SV thực hiện: Hứa Văn Tuấn Anh 17520232 Nguyễn Thị Thanh Trúc Nguyễn Du Phúc Ngân 17520792 Nguyễn Hà Giang Đá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: Khóa luận đạt/khơng đạt u cầu khóa luận tốt nghiệp kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình Điểm sinh viên: Hứa Văn Tuấn Anh: /10 Nguyễn Du Phúc Ngân: ./10 Người nhận xét (Ký tên ghi rõ họ tên) ĐHQG TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc lập – Tự – Hạnh phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày tháng năm NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ PHẢN BIỆN) Tên khóa luận: NGHIÊN CỨU VÀ PHÁT TRIỂN GAME 3D, VIRTUAL REALITY Nhóm SV thực hiện: Cán phản biện: Hứa Văn Tuấn Anh 17520232 Nguyễn Trịnh Đông Nguyễn Du Phúc Ngân 17520792 Đánh giá Khóa luận Về báo cáo: Số chương Số trang Số hình vẽ Số bảng số liệu Sản phẩm Số tài liệu tham khảo 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: Khóa luận đạt/khơng đạt u cầu khóa luận tốt nghiệp kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình Điểm sinh viên: Hứa Văn Tuấn Anh: /10 Nguyễn Du Phúc Ngân: ./10 Người nhận xét (Ký tên ghi rõ họ tên) LỜI CẢM ƠN Khóa luận tốt nghiệp với đề tài “Nghiên cứu phát triển game 3D, virtual reality” kết quả, tâm huyết tích lũy kiến thức nhóm chúng em suốt năm học đại học trường Đại học Công nghệ thơng tin Đại học Quốc gia TP Hồ Chí Minh Nhóm chúng em xin chân thành cảm ơn tập thể Quý thầy cô trường Đại học Công nghệ thông tin, đặc biệt Quý thầy cô khoa Công nghệ phần mềm trao cho chúng em nhiều kiến thức để chúng em thực đề tài Đặc biệt, nhóm chúng em xin gửi lời cảm ơn chân thành trân trọng đến cô Nguyễn Thị Thanh Trúc, giáo viên hướng dẫn tận tình dẫn, góp ý, hỗ trợ đưa lời khuyên quý giá cho chúng em trình thực đề tài Cảm ơn giảng viên phản biện thầy cô hội đồng chấm luận văn cho chúng em lời nhận xét, góp ý thật quý báu bổ ích giúp cho luận văn chúng em trở nên hoàn thiện Đồng thời chúng em xin gửi lời cảm ơn tới cộng đồng gamer cho chung em nhìn thực tế game virtual reality động viên chúng em trình thực đề tài Và cuối cùng, chúng em xin gửi lời cảm ơn chân thành đến gia đình, bạn bè ủng hộ, giúp đỡ động viên chúng em suốt trình thực khóa luận TP Hồ Chí Minh, 2021 Sinh viên Hứa Văn Tuấn Anh Nguyễn Du Phúc Ngân ĐHQG TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc lập – Tự – Hạnh phúc CÔNG NGHỆ THÔNG TIN ĐỀ CƯƠNG CHI TIẾT Tên đề tài: Nghiên cứu phát triển game 3D, VIRTUAL REALITY Cán hướng dẫn: ThS Nguyễn Hà Giang, ThS Nguyễn Thị Thanh Trúc Thời gian thực hiện: Từ ngày 08/03/2021 đến ngày 30/06/2021 Sinh viên thực hiện: Hứa Văn Tuấn Anh – 17520232 Nguyễn Du Phúc Ngân – 17520792 Nội dung đề tài: Mục Tiêu: Ước tính có khoảng 30,4 triệu người tiêu dùng chi tiêu chuyển sang ngành cơng nghiệp trị chơi điện tử vào năm 2016 (ESA, 2017) Theo Hiệp hội phần mềm giải trí (2017) 65% hộ gia đình Hoa Kỳ có người chơi game thường xun (3 trở lên tuần) khoảng 67% hộ gia đình Hoa Kỳ sở hữu máy chơi game chun dụng Tuổi trung bình người chơi trị chơi điện tử 35 37% người chơi trò chơi nữ Rõ ràng, có lượng lớn đa dạng khán giả người sẵn sàng mua chơi trò chơi điện tử [1] Hiện 92% người mua trị chơi thơng qua phân phối kỹ thuật số vào năm 2013 (Chalk, 2014) Ví dụ: Steam, tảng phân phối kỹ thuật số lớn cho video trò chơi, phát hành 2.964 trò chơi vào năm 2015 4.240 trò chơi năm 2016 (Sarkar, 2016) Một lời giải thích cho số lượng phát hành trò chơi cao nhiều tai nghe thực tế ảo (VIRTUAL REALITY) có gần phát hành Khoảng 16% video trò chơi phát hành Steam vào năm 2016 hỗ trợ VIRTUAL REALITY tai nghe 83% số thiết bị hỗ trợ VIRTUAL REALITY yêu cầu Tai nghe VIRTUAL REALITY để chơi (Sarkar, 2016) Nắm bắt tình hình đề tài Nghiên cứu phát triển game 3D, VIRTUAL REALITY mong muốn thực game môi trường thực tế ảo VIRTUAL REALITY Phạm vi đề tài: 2.1 Phạm vi công nghệ: - Ngơn ngữ lập trình: C++ - Framework: Unity, Google Cardboard 2.2 Phạm vi đối tượng: - VIRTUAL REALITY Game - 3D model Phương pháp thực hiện: - Khảo sát yêu cầu thực tế - Xây dựng ý tưởng ban đầu, đánh giá, cải thiện - Xây dựng dựng ban đầu - Xây dựng tính bổ sung, hoàn thiện đồ họa game - Hoàn tất trình xây dựng game, nhận xét, đánh giá Đối tượng sử dụng: - Người chơi game lứa tuổi, giới tính có sỡ hữu thiết bị e Oculus Rift, HTC Vive, PlayStation VIRTUAL REALITY Kết mong đợi: - Xây dựng game VIRTUAL REALITY góc nhìn thứ Kế hoạch thực hiện: STT Nội dung công việc Thời gian dự kiến 3.3.6.2 Nav Mesh Agent Hình 30 Hệ thống khu vực đánh dấu sau Map bake Khu vực màu xanh nơi mà NPC khu vực “baked” Unity Chỉ cần khu vực màu xanh NPC tự tính tốn đường ngắn từ vị trí đến điểm định sẵn Trong project NPC Monster gắn Component Nav Mesh Agent hàm Update() cần gán cho vị trí người chơi NPC Monster tìm đường nhanh ngắn đến vị trí người chơi 43 3.3.6.3 Raycast Hình 31 Áp dụng Raycast project Raycast hàm dùng để vẽ đường thẳng từ điểm a hướng định khoảng cách định sẵn đường thẳng có qua điểm thơng tin điểm lưu vào biến hit Trong project Raycast sử dụng để tính tốn va chạm đường đạn, người chơi bắn trung vật phẩm thường có hiệu ứng đạn va chạm nơi người chơi bắn vào Nếu nguòi chơi bắn vào NPC gửi lệnh bắn trung cho NPC trừ vào điểm máu 44 Hình 32 Mô nguyên lý hoạt động raycast 3.4 Q Trình Hồn thiện (các vấn đề hướng giải quyết) 3.4.1 Di chuyển người chơi: if (!isDead) { if (Input.GetButtonDown("Horizontal") || Input.GetButtonDown("Vertical")) { playerAudio.Play(); } else if (!Input.GetButton("Horizontal") && !Input.GetButton("Vertical") && playerAudio.isPlaying) { playerAudio.Stop(); } Vector3 move = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); move = move * playerSpeed * Time.deltaTime; move = Camera.main.transform.TransformDirection(move); move.y -= gravity; controller.Move(move); TimerCounting(); 45 } Game liên tục kiểm tra xem người chơi hết máu hay chưa khơng sử dụng hàm GetButton() để lấy giá trị ngang dọc từ input người chơi chuyển giá trị thành tốc độ, hướng di chuyển người chơi Cuối giá trị chuyển vào Component CharacterController để di chuyển theo giá trị 3.4.2 Di chuyển NPC: RaycastHit hit; float dis = Vector3.Distance(transform.position, player.transform.position); if (Physics.Raycast(transform.position, (player.transform.position transform.position), out hit, 200f)) { if (hit.transform.tag == "Player") { if (dis < distoDetect || attacked) { if (enemyHealth > && followingPlayer) { anim.SetBool("Walk Forward", true); nav.SetDestination(player.transform.position); } } else nav.SetDestination(originalPos); } else { nav.SetDestination(originalPos); attacked = false; } if (nav.velocity.magnitude < 0.15f) { anim.SetBool("Walk Forward", false); } } Như nói NPC sử dụng Nav Mesh Agent tích hợp sẵn Unity để tính tốn đường tới vị trí người chơi Các Monster liên tục kiểm tra xem thân 46 có cịn máu hay khơng tính tốn khoảng cách từ vị trí tới người chơi đủ gần NPC bắt đầu di chuyển Hình 33 Mơ hình logic trạng thái NPC Giải thích mơ hình trạng thái NPC: • Ban đầu NPC khởi tạo với map • Sau phát người chơi NPC bắt đầu di chuyển cơng • Nếu người chơi chết người chơi khỏi tầm nhìn NPC, NPC quay trạng thái idle • Nếu q trình cơng mà NPC hết máu NPC chết • Sau chết NPC biến • Khi người chơi khỏi map NPC biến 3.4.3 Thiết kế Map: if (playerscript.accquiredItem[Doorindex]) { if (Doorindex != 6) { 47 indicator.material.color = Color.green; unlocked = true; doorAudio.clip = doorOpen; doorAudio.Play(); } else { playerscript.Won(); } } else { indicator.material.color = Color.red; doorAudio.clip = wrongDoor; doorAudio.Play(); } Các map trò chơi thiết kế với độ khó tăng dần Vì giới hạn phần cứng nên nhóm phải tìm giải pháp để tối ưu phần cứng tối giản Object xuất game Ý tưởng Game load level mà người chơi đứng load trước level người chơi qua level level load lên level trước bị xóa 48 Hình 34 Mơ tả cách tải quản lý map game 3.4.4 Tương tác GameObject: Các objects game người chơi tương tác thông qua GVrEventSystem Event Trigger Component Object Khoảng cách tối đa để chơi tương tác với vật phẩm vật phẩm Health, Key, Gun sau tương tác biến người chơi nhận vật phẩm hay hồi máu tùy thuộc vào loại vật phẩm 49 Hình 35 Hệ thống Event Trigger Unity 50 CHƯƠNG 4: THỬ NGHIỆM VÀ ĐÁNH GIÁ 4.1 Thử nghiệm 4.1.1 Môi trường thử nghiệm • Mơi trường Unity: Game chạy Emulator Unity để kiểm tra chức game • Môi trường Android: Game build thành file apk để cài đặt điệu thoại di động Cấu hình thiết bị chạy thử sau: o Tên thiết bị: Samsung galaxy note 10 lite o Hệ điều hành: One UI 3.1 (Android 11) o Ram: 3GB o Rom: 128 GGB o Độ phân giải hình: 1080 x 2400 pixel 4.2 Chuẩn bị thử nghiệm 4.2.1 Các thiết bị phần cứng u cầu • Máy tính có cài đặt Unity với phiên 2019.4.26f1 • thiết bị di động có hỗ trợ Cảm biến: La bàn – Gyroscope sensor • thiết bị Google Cardboard • thiết bị điều khiển từ xa dành cho thiết bị Android 4.2.2 Phần mềm yêu cầu • Phần mềm Unity phiên 2019.4.26f1 (đây phiên Unity mà game xây dựng trên) • Phiên Android 4.1 trở lên • Ứng dụng Google Cardboard tải miễn phí chợ ứng dụng 4.2.3 Kết thử nghiệm 4.2.3.1 Mơi trường Unity 51 Hình Chạy thử nghiệm Unity Thực kiểm tra chức game Tên mục Pause & Continue Điều khiển nhân vật Tương tác vật phẩm Tấn công kẻ thù Mục tiêu Kết đạt Dừng game Khi nghiêng đầu tiếp tục game dừng lại Di chuyển nhân vật theo controller nhấn nút di chuyển Nhân vật có Khi nhìn vào Item, tương tác với pointer báo hiệu cho Item chơi Các NPC phản Các NPC bị khựng ứng lại lại bị bắn trúng người chơi bị trừ lượng lượng cơng máu Game có phần Intro & Outtro Nhân vật di chuyển intro outtro chạy theo kịch Có cắt cảnh vào game game kết thúc 52 Nhận xét Chuyển động chưa mượt mà Cần thêm máu cho NPC Mua vật Mua vật phẩm phẩm Mua thêm vật phẩm Số lượng vật cửa hàng phẩm cịn game Bắn súng Di chuyển NPC Boss bắn đạn Nhân vật bắn Khi nhấn nút bắn nhân súng người vật bắn có hiệu chơi nhấn nút ứng đạn va chạm với bắn vật thể NPC di chuyển NPC phát theo map người chơi di chuyển bake để bám theo người chơi Boss bắn đạn Khi đến gần người chơi để công boss bắn viên đạn để người chơi cơng 4.2.3.2 Mơi trường Android Hình Chạy thử nghiệm Android Thực kiểm tra độ tương thích thiết bị di động Tên mục Mục tiêu Kết đạt 53 Nhận xét Game cài đặt chạy máy Game chạy ổn định Game Game cài đặt chạy thiết bị thành cơng điện di động thoại Game chạy với FPS ổn Có thể điều game khiển game controller Controller game 4.3 ~ 60 FPS định Tương thích Các chức FPS ln giữ mức 59 Game tương thích với controller nhận tín hiệu điều khiển Các chức Các chức của game game hoạt động tốt hoạt động đưa lên android Đánh giá kết sản phẩm Sản phẩm cuối gần hoàn thiện game chơi trên mơi trường Unity Android Tuy nhiên game cịn đơn giản cịn nhiều điểm làm tốt ví dụ kẻ địch có đường bay linh hoạt hơn, tạo thêm nhiều loại đạn khác với đường đạn đa dạng hơn, loại PowerUp đa dạng cho người chơi 54 CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết đạt Thơng qua q trình nghiên cứa tìm hiểu đề tài q trình thực hóa ý tưởng game xây dựng hệ thống hoàn chỉnh nhóm đúc kết kết sau: 5.1.1 Về mặt kiến thức: • Hiểu thư viện module hỗ trỡ tảng Unity • Nắm kiến thức tổng quan game 3D • Biết cách sử dụng công cụ Google Cardboard • Nắm bắt quy trình phát triển tựa game 5.1.2 Về mặt cơng nghệ: • Game hồn thiện tốt chạy ổn định có số trường đoạn bị giựt lag nhẹ nhiên không đáng kể • Game port thành công lên môi trường Android • Game truyền tải thông điệp đến cho người chơi • Game mang tính chất giải trí cao 5.2 Hạn chế hướng phát triển 5.2.2 Về mặt thuận lợi: • Nhận hướng dẫn nhiệt tình thầy giảng viên hướng dẫn • Được giúp đỡ gia đình bạn bè trình làm • Do cơng nghệ phát triển nên có nguồn tài nguyên phong phú vấn đề thường gặp giải đáp 5.2.1 Về mặt hạn chế: • Game cịn đơn giản • Nhiều khía cạnh game cịn phát triển tốt 55 • Cịn nhiều bất đồng q trình phát triển định ý tưởng cho game • Thuật tốn hành vi cho AI game hạn chế dễ đốn • Độ khó game chưa cao 5.2.1 Về hướng phát triển game: • Từ đầu bọn em muốn đưa game lên thành map trò chơi VR Chat để dễ dàng tiếp cận người chơi VR sau áp dụng nhận xét họ để phát triển game tốt • Bọn em dự tính mở thêm map câu truyện đời nhân vật game • Game thêm chế độ nhiều người chơi (multiplayer) truy tìm kho báu ẩn dấu mê cung • Bọn em muốn phát triển thêm nhiều mức độ khó khác • Mở thêm chức mod cho người chơi tự tạo map cho bạn bè 56 TÀI LIỆU THAM KHẢO Tài liệu tiếng Anh [1] ENCYCLOPEDIA – Trò chơi điện tử Hoa Kỳ [2] “Unity – Manual 2020.3 (LTS)”, Available: https://docs.unity3d.com/Manual/index.html [3] Brackeys, “Unity NavMesh Tutorial”, 2018 [4] Unity VIRTUAL REALITY for beginners FREE project (Feb 27 2020) [5] FIRST PERSON MOVEMENT in Unity (Oct 28 2019) [6] A theory of fun for game design by Koster, Raph (6 Nov 2004) [7] Designing Games A Guide to Engineering Experiences by Tynan Sylvester (2013) 57 ... trợ VIRTUAL REALITY yêu cầu Tai nghe VIRTUAL REALITY để chơi (Sarkar, 2016) Nắm bắt tình hình đề tài Nghiên cứu phát triển game 3D, VIRTUAL REALITY mong muốn thực game môi trường thực tế ảo VIRTUAL. .. thêm kỹ tư phát triển môn phát triển game nên nhóm trí chọn đề phát triển game tảng Unity • Ngày nay, VIRTUAL REALITY ngày chiếm ưu thị trường game quốc tế lòng người chơi VIRTUAL REALITY Chat... NGUYỄN DU PHÚC NGÂN – 17520792 KHÓA LUẬN TỐT NGHIỆP NGHIÊN CỨU VÀ PHÁT TRIỂN GAME 3D TRÊN NỀN TẢNG VIRTUAL REALITY Adventure-Survival VIRTUAL REALITY Game: Labyrinth Breaker KỸ SƯ NGÀNH KỸ THUẬT PHẦN

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

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

Tài liệu liên quan