1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng game rừng xanh 3d trên unity

69 321 3

Đ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 69
Dung lượng 6,37 MB

Nội dung

LỜI CẢM ƠN Để hoàn thành tốt báo cáo này, em xin cảm ơn thầy cô giáo đặc biệt xin gửi lời cảm ơn chân thành đến giáo Ths.Nguyễn Hiền Trinh, hướng dẫn dìu dắt tạo điều kiện giúp đỡ em thời gian thực đề tài đồ án tốt nghiệp Cô không truyền lại cho chúng em kiến thức chuyên nghành mà rèn luyện cho chúng em nghị lực, khát khao vươn lên, phát huy khả tư sáng tạo lĩnh vực Cuối em xin cảm ơn gia đình, bạn bè tạo điều kiện tốt để em hồn thành đề tài này! Thái Nguyên, Ngày….Tháng…Năm 2017 Sinh Viên: Phạm Hải Yến LỜI CAM ĐOAN Em xin cam đoan số liệu, kết nghiên cứu đồ án trung thực không trùng lặp với đề tài khác Em xin cam đoan giúp đỡ cho việc thực đồ án cảm ơn thơng tin trích dẫn đồ án rõ nguồn gốc Sinh viên Phạm Hải Yến MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC HÌNH ẢNH LỜI MỞ ĐẦU CHƯƠNG GIỚI THIỆU TỔNG QUAN UNITY VÀ NGƠN NGỮ LẬP TRÌNH C#9 1.1 Giới thiệu Unity 1.1.1 Dự án Unity, tài nguyên phông cảnh 10 1.1.2 GameObjects, Transforms Components 12 1.1.3 Camera 14 1.1.4 Lưới hình học 15 1.2 Scripting giao diện lập trình ứng dụng Unity 16 1.3 Hiệu suất, định hình bảng điều khiển trạng thái 18 1.4 Vật liệu đối tượng 20 1.5 Ngôn ngữ lập trình C# 21 1.5.1 Nguồn gốc đời lịch sử phát triển ngơn ngữ lập trình C# 22 1.5.2 Các đặc trưng ngơn ngữ lập trình C# 23 1.6 Một số kiểu ứng dụng NET tạo C# 26 1.6.1 Console Application 26 1.6.2 WPF Application 26 1.6.3 Windows Forms Application 27 1.6.4 Windows Forms Control Library 27 1.6.5 Web Application 27 CHƯƠNG KHẢO SÁT, PHÂN TÍCH, XÂY DỰNG Ý TƯỞNG KỊCH BẢN GAME 28 2.1 Khảo sát thị trường Game nhu cầu người chơi 28 2.2 Ý tưởng kịch xây dựng Game 3D rừng xanh 32 2.2.1 Ý tưởng 32 2.2.2 Kịch 32 2.2.3 Phân tích thiết kế hướng đối tượng với UML 40 CHƯƠNG XÂY DỰNG GAME RỪNG XANH 48 3.1 Thiết kế thành phần 48 3.2 Xây dựng Game Rừng Xanh 55 3.3 Kết thực 62 KẾT LUẬN 67 TÀI LIỆU THAM KHẢO 68 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 69 DANH MỤC HÌNH ẢNH Hình Biểu tượng Unity 10 Hình Thuộc tính Inspector 13 Hình Giao diện Scene 14 Hình Các thuộc tính Camera 14 Hình Khung nhìn Camera 15 Hình Giao diện MonoDevolop 17 Hình Thuộc tính Profiler 18 Hình Bảng trạng thái Stats 19 Hình Doanh thu thị trường Game 2015 28 Hình 11 Thể loại Game số lượng người chơi 29 Hình 12: khảo sát thị trường Game theo giới tính 29 Hình 13.Khảo sát độ tuổi tham gia Game qua Pekemon Go 30 Hình 14 Nhân vật Jada 33 Hình 15 Hình ảnh Mèo 33 Hình 16 Hình ảnh Tê Giác 33 Hình 17 Hình ảnh Voi 34 Hình 18 Hình ảnh Hổ 34 Hình 19 Hình ảnh Hổ, Thỏ 34 Hình 20.21 Quái vật Blue Dragon 35 Hình 24.25 Quái vật Purple Dragon 36 Hình 26.27 Quái vật King Dragon 36 Hình 28.29 Quái vật Green Dragon 36 Hình 30.31 Nhân vật vật quái vật Alien 37 Hình 32.33 Nhân vật quái vật Guard 37 Hình 34.35 Nhân Vật quái vật Rhino 38 Hình 36.37 Nhân Vật quái vật Insect 38 Hình 38.39 Quái vương Troll 39 Hình 40 Hình ảnh Rừng Xanh 40 Hình 41 Biểu đồ Use case 42 Hình 42 Biểu đồ cộng tác Start game 42 Hình 43 Biểu đồ Start game 42 Hình 44 Biểu đồ Setting 43 Hình 45 Biểu đồ cộng tác Setting 43 Hình 46 Biểu đồ Help 44 Hình 47 Biểu đồ cộng tác Help 44 Hình 48 Biều đồ di chuyển nhân vật Jada 45 Hình 49 Biểu đồ cộng tác di chuyển nhân vật Jada 45 Hình 50 Biểu đồ cộng tác bắn súng nhân vật Jada 45 Hình 51 Biều đồ bắn súng nhân vật Jada 46 Hình 52 Biểu đồ hoạt động game 46 Hình 53 Thành phần Main Camera 48 Hình 54 Thành phần thiết kế bối cảnh 49 Hình 55 Bối cảnh từ góc nhìn từ xuống 49 Hình 56 Thiết kế thành phần ánh sáng 50 Hình 57 Thiết kế thành phần nhân vật quái vật 52 Hình 58 Thiết kế thành phần nhân vật Jada 53 Hình 59 Thiết kế thành phần điểm, kết thúc thắng Game 54 Hình 60 Thiết kế thành phần âm 54 Hình 61 Giao diện khởi động Unity 55 Hình 62 Hình ảnh tạo Project 56 Hình 63 Các bước tạo C#Scripts 56 Hình 64 Giao diện MonoDevelop 57 Hình 65 Trạng thái chuyển đổi Animator Jada 57 Hình 66 Trạng thái chuyển đổi GamOver, Winner 58 Hình 67 Trạng thái chuyển đổi quái vật Alien Rhino 58 Hình 68.Trạng thái chuyển đổi Dragon(Blue, Yellow, Purple, Green) 58 Hình 69 Trạng thái chuyển đổi quái vật quái vật Guard 59 Hình 70 Trạng thái chuyển đổi quái vật Troll 59 Hình 71 Trạng thái chuyển đổi quái vật Insect 59 Hình 72 Trạng thái chuyển đổi quái vật quái vật King Dragon 60 Hình 73 Thiết kế animation GameOverLevel 60 Hình 74 Thiết kế Animation GameWinLevel 60 Hình 75 Thiết kế animation GameOverLevel 61 Hình 76 Thiết kế Animation GameWinLevel 61 Hình 77 Hình ảnh bối cảnh game 62 Hình 78 Hình ảnh nhà Jada 62 Hình 79 Hình ảnh giao diện Menu 63 Hình 80 Hình ảnh giao diện Audio 63 Hình 81 Hình ảnh thơng tin nút Help 64 Hình 82 Hình ảnh bắt đầu chơi 64 Hình 83 Hình ảnh giáo diện kích chuột vào Pause 65 Hình 84 Hình ảnh giáo diện chơi 65 Hình 85 Hình ảnh người chơi thua 66 Hình 86 Hình ảnh người chơi thắng 66 LỜI MỞ ĐẦU Thị trường Game phát triển ngày với phát triển công nghệ Game không giới hạn độ tuổi, không gian, địa lý, văn hóa, người chơi liên kết với đời thực môi trường ảo với nhân vật đời thực xen huyền thoại Và nhu cầu chơi game để thư giãn hay luyện tập tư duy, chiến thuật, sáng tạo ngày phát triển phát triển nhiều khía cạnh Để đáp ứng lại yêu cầu thực tế em có ý tưởng xây dựng Game Rừng Xanh 3D phần mềm Unity ngôn ngữ C# Ngơn ngữ lập trình C# ngữ bậc cao với giao diện bắt mắt, khả biên dịch xử lý chương trình nhanh hiểu C# hỗ trợ nhiều mặt giao diện đồ họa, thích hợp cho xây dựng chương trình thuật tốn, chương trình cần đồ họa cao rèn luyện khả lập trình Nội dung báo cáo gồm phần : Chương 1: Giới thiệu tổng quan Unity ngơn ngữ lập trình C# Chương 2: Khảo sát, phân tích, xây dựng ý tưởng kịch game Chương 3: Xây dựng Game Rừng Xanh 3D CHƯƠNG GIỚI THIỆU TỔNG QUAN UNITY VÀ NGƠN NGỮ LẬP TRÌNH C# 1.1 Giới thiệu Unity Unity xuất lần từ năm 2005, đến phiên 3.5 vào tháng 2/2012 thực bùng nổ trở nên tiếng Sức mạnh tạo trò trò chơi chiến đấu với chất lượng hạng cao Ngồi ra, Unity hỗ trợ nhiều tảng khác như: Windows, Mac, Linux, Android, iOS, PS3, Xbox360, Wii U, môi trường web Giống Construct 2, quy trình phát triển Unity trực quan cho người bắt đầu Một trò chơi điển hình thường chia thành nhiều bối cảnh, bối cảnh chứa nhiều đối tượng khác trò chơi Mỗi đối tượng trò chơi lại có số kịch kèm, kịch xác định hành vi tương tác cho đối tượng Các kịch viết UnityScript (Unity phiên JavaScript), C#, Boo Có lẽ đặc trưng hữu dụng Unity kho Asset Store Người dùng tạo tài ngun (các mơ hình, chuyển động, GUI, kịch bản, cơng cụ, hệ thống, v.v…), ta mua import vào dự án Nếu tốc độ phát triển Unity chưa đủ nhanh, ta tăng tốc độ phát triển trò chơi ta cách import tài nguyên có sẵn để tránh việc ta phải làm lại thứ có Trò chơi Engine Unity tạo Unity Technologies, thành lập David Helgason (CEO), Nicholas Francis (CCO), and Joachim Ante (CTO) Copenhagen, Đan Mạch vào năm 2005 với tiêu chí tối ưu hóa việc sản xuất trò chơi cho nhà phát triển nhỏ với giá thành hợp lí Unity mạnh khả Cross-Platform nó, cho phép xây dựng phần mềm nhiều hệ máy mà cần code lần, giúp việc làm trò chơi trở nên nhanh chóng giảm tối thiểu kinh phí Với phiên mới, Unity cho phép người dùng xây dựng ứng dụng nhiều hệ máy với chức phức tạp mà hãng phát triển trò chơi lớn sở hữu Trong thời điểm Unity hỗ trợ xây dựng ứng dụng cho hệ máy Windows, Mac, Linux, Web, Flash, Xbox 360, Playstation 3, Wii U, Android IOS Hình Biểu tượng Unity Unity viết C++, nhiên để sử dụng Unity, người dùng cần biết ngôn ngữ C#, JavaScript, Boo, với JavaScript đơn giản dễ sử dụng nhất, nhiên với số hạn chế nên C# đa số chuyên gia ưa chuộng hơn, ngôn ngữ Boo cho tốt nhất, nhiên ngơn ngữ người sử dụng, nên gần không thấy tài liệu code liên quan đến Unity viết ngôn ngữ Boo Để sử dụng library Unity người sử dụng phải derive class từ MonoBehaviour, JavaScript tự động derive từ MonoBehaviour cho người dùng method để xứ lí properties object môi trường 3D , để sử dụng code script người dùng việc drag drop script viết lên Game Objects(các object scene) Scene(1 khung cảnh trò chơi, phần trò chơi, hay trò chơi xây dựng cảnh xử lì script) Các giá trị public thể qua cửa sổ Inspector(dùng để hiển thị thuộc tính phần tử thuộc trò chơi object) cho phép người dùng dễ dàng modify giá trị script cách nhanh chóng, script chạy nhiều Game Objects lúc riêng biệt với giá trị khác Dĩ nhiên sử dụng method mà MonoBehaviour cung cấp, ngơn ngữ lập trình giữ nguyên phương thức nó, người dùng đưa phương thức vào phần mềm khiến khả xử lí tốt hơn, áp dụng SQLite hay XML 1.1.1 Dự án Unity, tài ngun phơng cảnh Khi tạo trò chơi Unity, ta tiếp xúc với dự án (project), khái niệm cần quan tâm tài nguyên (assets) phông cảnh (scenes) Unity dự án ứng dụng Mỗi lần tạo trò chơi mới, tương ứng với việc tạo dự án Trong Unity, dự án trò chơi Một dự án đơn 10 3.2 Xây dựng Game Rừng Xanh Khởi động Unity xuất sau Hình 61 Giao diện khởi động Unity Nhấn nút lệnh New Project để tạo dự án game xuất cửa sổ: Bước 1: Nhập tên dự án Chọn thư mục lưu trữ Bước 2: Chọn thiết kế 3D Bước 3: Nhấn nút Creat project Tạo Project 3D đặt tên Rừng Xanh Màn hình giao diện Unity xuất ta làm theo bước sau: -Khung Hierachy: có GameObject Main Camera đối tượng đặc biệt Scene, xác định tầm nhìn, quan sát đối tượng khác game Trước tên ta tạo thư mục quản lý Assets khung Project: Materials, Prefabs, Scripts, Textures cách nhấn chuột phải vào Assets, chọn Creat, chọn Folder, đặt tên 55 Hình 62 Hình ảnh tạo Project Trong Assets ta có đủ thành phần cần thiết để ta thiết kế game Để viết kịch cho trò chơi ta vào Project, mở thư mục Scripts nhấn chuột phải, chọn Creat, chọn C# Script Hình 63 Các bước tạo C#Scripts Khi tạo C# Script xong ta kích đúp vào cửa sổ MonoDevelop Unity tạo sẵn lớp sung_move hai phương thức: void Start(){ //Viết mã mô tả đối tượng ban đầu } void Update(){ 56 //Sau giây chuyển cảnh, thay đổi đối tượng } Hình 64 Giao diện MonoDevelop Sau viết kịch xong ta cần lưu mã sau chọn [menu]Build\Build All quan sát Build successful ->OK Ở cửa sổ Hierarchy chọn đối tượng MainCharacter, chọn Menu, chọn Window, chọn Animator, cửa sổ Animator xuất để ta lập thiết lập trạng thái chuyển đổi Animation  Sơ đồ trạng thái chuyển dổi Jada Hình 65 Trạng thái chuyển đổi Animator Jada 57  Sơ đồ trạng thái chuyển đổi GameOver, Winner: Hình 66 Trạng thái chuyển đổi GamOver, Winner  Sơ đồ chuyển đổi trạng thái quái vật: Hình 67 Trạng thái chuyển đổi quái vật Alien Rhino Hình 68.Trạng thái chuyển đổi Dragon(Blue, Yellow, Purple, Green) 58 Hình 69 Trạng thái chuyển đổi quái vật quái vật Guard Hình 70 Trạng thái chuyển đổi quái vật Troll Hình 71 Trạng thái chuyển đổi quái vật Insect 59 Hình 72 Trạng thái chuyển đổi quái vật quái vật King Dragon +Thiết kế Animation GameOver (thua) level Hình 73 Thiết kế animation GameOverLevel +Thiết kế Animation GameWinner ( thắng) level Hình 74 Thiết kế Animation GameWinLevel 60 +Thiết kế Animation GameOver (thua) level Hình 75 Thiết kế animation GameOverLevel +Thiết kế Animation GameWinner ( thắng) level Hình 76 Thiết kế Animation GameWinLevel 61 3.3 Kết thực + Bối cảnh game Hình 77 Hình ảnh bối cảnh game Hình 78 Hình ảnh nhà Jada 62 +Giao diện Menu Hình 79 Hình ảnh giao diện Menu +Giao diện ấn nút Setting(cài đặt) Hình 80 Hình ảnh giao diện Audio 63 +Thơng tin ấn nút Help(trợ giúp) Hình 81 Hình ảnh thông tin nút Help +Giao diện sau ấn nút “Start” hiển thị màm chơi Hình 82 Hình ảnh bắt đầu chơi 64 +Giao diện ấn Pause(Tạm dừng), muốn chơi tiếp ấn Resume(chơi tiếp) Hình 83 Hình ảnh giáo diện kích chuột vào Pause +Giao diện chơi Hình 84 Hình ảnh giáo diện chơi 65 +Giao diện người chơi thua Hình 85 Hình ảnh người chơi thua + Giao diện người chơi chiến thắng: Hình 86 Hình ảnh người chơi thắng 66 KẾT LUẬN Qua phần thực thập giúp em tìm hiểu sâu Unity ngơn ngữ lập trình C# Các phương thức tạo trò chơi tương lai Làm tăng thích thú rèn luyện khả lập trình Và mở rộng hiểu biết thị trường Game giải trí việt Nam nói riêng, giới nói chung Trong thời gian làm báo cáo em nghiên cứu vấn đề sau: -Tìm hiểu Unity -Tìm hiểu ngơn ngữ C# -Tìm hiểu xây dựng game 3D Kết đạt xây dựng chương trình chạy ổn định, lối chơi đơn giản, thiết kế bối cảnh nhân vật dễ nhìn Điểm thiếu chưa hồn thành: chưa tối ưu hình ảnh nhân vật, lối chơi chưa thực sinh động Mặc dù em cố gắng thời gian nghiên cứu có hạn, trình độ hiểu biết thân em nhiều hạn chế nên báo cáo em khơng tránh khỏi thiếu sót, em mong nhận chia sẻ góp ý quý báu thầy, cô giáo để báo cáo em hoàn thiện 67 TÀI LIỆU THAM KHẢO [1].http://unity3d.com.vn/ [2] http://3dvietpro.vn/Home/Tailieu [3] http://unity3d.com [4].https://www.assetstore.unity3d.com [5].http://stackoverflow.com/ 68 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Thái Nguyên, ngày tháng … năm 2017 Giảng viên hướng dẫn 69 ... 2: Khảo sát, phân tích, xây dựng ý tưởng kịch game Chương 3: Xây dựng Game Rừng Xanh 3D CHƯƠNG GIỚI THIỆU TỔNG QUAN UNITY VÀ NGƠN NGỮ LẬP TRÌNH C# 1.1 Giới thiệu Unity Unity xuất lần từ năm 2005,... thiết kế hướng đối tượng với UML 40 CHƯƠNG XÂY DỰNG GAME RỪNG XANH 48 3.1 Thiết kế thành phần 48 3.2 Xây dựng Game Rừng Xanh 55 3.3 Kết thực 62 KẾT... CHƯƠNG KHẢO SÁT, PHÂN TÍCH, XÂY DỰNG Ý TƯỞNG KỊCH BẢN GAME 28 2.1 Khảo sát thị trường Game nhu cầu người chơi 28 2.2 Ý tưởng kịch xây dựng Game 3D rừng xanh 32 2.2.1 Ý tưởng

Ngày đăng: 07/11/2017, 11:07

TỪ KHÓA LIÊN QUAN

w