Nghiên cứu và phát triển một số game sử dụng unity engine

66 881 1
Nghiên cứu và phát triển một số game sử dụng unity engine

Đ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

LỜI NÓI ĐẦU Cuộc sống ngày phát triển với thay đổi không ngừng công nghệ, người có nhiều lựa chọn cho nhu cầu giải trí sau làm việc căng thẳng, số video game Video game gần không khái niệm xa lạ, mà ngược lại gần gũi sống Nó xuất thiết bị công nghệ, từ smartwatch nhỏ bé, đến smartphone vốn quen thuộc với nhiều người, tới máy tính bảng, máy tính cá nhân sở hữu cấu hình ngày cao đến thiết bị giải trí hình lớn TV… Video game hình thức giải trí có sức hút lớn người, đặc biệt với giới trẻ Ra đời từ năm 1950 – 1960, video game thường chạy máy tính lớn (mainframe) trường đại học phòng thí nghiệm, phát triển cá nhân sở thích Bước sang năm 1970 thời kỳ hoàn kim video game với xuất ngày cảng nhiều nhà phát hành game với doanh thu lên tới hàng tỉ USD từ ngành công nghiệp game Trải qua 60 năm hình thành phát triển, với phát triển mạnh mẽ internet, ngành công nghiệp game có bước tiến lớn, thay đổi lớn, trở thành phần quan trọng sống người Xuất phát từ nhu cầu thực tế trải qua trình học tập với hướng dẫn thầy giáo, em tìm hiểu lựa chọn toán để nghiên cứu, phân tích xây dựng báo cáo đồ án tốt nghiệp LỜI CẢM ƠN Sau tháng thực đề tài em hoàn thành đồ án tốt nghiệp Để có kết này, em xin trân thành cảm ơn Thầy TS Nguyễn Văn Núi - Khoa Công Nghệ Thông Tin, dành thời gian, tận tâm, tậm lực để hướng dẫn em thời gian làm đề tài Em xin hứa thời gian tới, em tiếp tục học tập tốt tiếp tục nghiên cứu đề tài để đáp ứng tốt kiến thức, học thuật, chuyên môn để trở thành người có chuyên môn vững vàng, đáp ứng yêu cầu xã hội giai đoạn Một lần nữa, em xin trân thành cảm ơn Thầy Em xin chúc Thầy mạnh khỏe hết lòng với hệ sinh viên chúng em LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng hướng dẫn TS Nguyễn Văn Núi Các nội dung nghiên cứu, kết trình bày đề tài trung thực chưa công bố trước Các tài liệu đề tài sử dụng liệt kê phần tài liệu tham khảo tác giả thu thập từ nguồn khác Nếu phát có gian lận xin hoàn toàn chịu trách nhiệm nội dung đề tài MỤC LỤC LỜI NÓI ĐẦU LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Unity cho game 2D 1.1.1 Unity Project, Assets Scenes 1.1.2 Navigating Scenes Viewports 10 1.1.3 GameObject, Transforms Components 11 1.1.4 Camera 15 1.1.5 Meshes Geometry 17 1.1.6 Scripting Unity API 19 1.1.7 Editor Add-Ons 22 1.1.8 Unity Interface Configuration 22 1.2 Materials Textures 23 1.2.1 Sử dụng Materials Textures 23 1.2.2 Materials cho game 28 1.2.3 Tạo Textures 29 CHƯƠNG PHÂN TÍCH THIẾT KẾ 37 2.1 Khảo sát hệ thống 37 2.1.1 Khảo sát 37 2.1.2 Mục tiêu cần đạt 50 2.1.3 Hướng giải kế hoạch thực 50 2.1.4 Môi trường cài đặt 51 2.2 Phân tích thiết kế hệ thống 51 2.2.1 Mục đích 51 2.2.2 Định nghĩa, từ viết tắt thuật ngữ 51 2.2.3 Yêu cầu mức cao 51 2.2.4 Yêu cầu chức 55 CHƯƠNG MOCKUP SCREEN 59 3.1 SC01 Start Screen 59 3.2 SC02 Play 60 3.3 SC03 Gameover 61 3.4 SC04 Pause 62 3.5 SC05 Icon 63 KẾT LUẬN 64 Nhận xét, đánh giá 64 Hướng phát triển đề tài 64 TÀI LIỆU THAM KHẢO 65 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 66 CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Unity cho game 2D Phần giới thiệu cách làm game 2D Unity engine Nó không tập trung vào khái niệm game 2D, không gian 2D projection, mà vào thực bước để tạo game 2D Trong game 2D, player xoay di chuyển camera tự không gian 3D để nhìn đối tượng từ góc (angle) phối cảnh (perspective) khác Các game object di chuyển theo chiều dọc theo trục X Y 1.1.1 Unity Project, Assets Scenes Khi bạn làm game Unity, bạn tương tác với project, asset scene Đây khái niệm mức cao (high-level concept) mà developer cần phải biết trước bắt đầu Project Panel Để bắt đầu với project: Unity project-based application Trong Unity project = game Nó không quan trọng cho dù bạn làm game 2D hay 3D, project đơn giản container chứa tất file data game bạn Nó tương ứng với thư mục ổ cứng bạn Khi project tạo hay mở ra, Unity hiển thị giao diện mặc định Đây môi trường làm game bạn (Hình 1.1 -1) (A) (B) Menu Panel Hierarchy Panel (C) (D) Project Panel Inspector Panel (E) Viewport Panel Hình 1.1 – Giao diện Unity Project folder thường chứa subfolder: Library, Assets, ProjectSettings Temp Project Panel (C) Unity hiển thị nội dung Assets folder, nơi lưu trữ tập tin game bạn import vào project Ba folder khác chứa meta-data, chúng quản lý ứng dụng unity riêng biệt Chúng khuyến khích không remove hay edit, làm khiến project bị lỗi file không copy cách Assets Project Files Project chứa tất file game, bao gồm mesh, texture, movie, animation, sound, music, text data nhiều thành phần khác Chỉ có asset Project Panel sử dụng game Bạn import cách chọn Assets > Import New Assets… hình (Hình 1.1 – 2) Hoặc kéo thả từ Windows Explorer vào Project Panel Hình 1.1 – Import asset file Unity Mỗi asset import vào project xuất Project Panel Unity chấp nhận nhiều định dạng khác Meshes fbx ma mb max blend 3ds dxf c4d Textures psd tiff png bmp jpg tga dds/pvr Audio mp3 ogg mod it xm s3m wav Movies mov avi ogg asf mpg Cả game 2D 3D thường sử dụng nhiều asset, lên đến hàng trăm Game 2D chủ yếu dựa vào texture material, tổng kích thước chúng lên tới vài gigabyte Bởi ta cần phải quản lý chúng để dễ dàng tìm thấy cần thiết Để làm điều đó, ta đưa chúng vào subfolder Project Panel Click chuột vào Assets Panel chọn Create > Folder hình bên (Hình 1.1 – 3) Hình 1.1 – Tạo folder để tổ chức xếp asset project Asset import vào Unity tự động gán loạt thiết lập thuộc tính Bạn xem thiết lập thay đổi chúng cách dễ dàng Chỉ cần chọn asset Project Panel điều chỉnh thiết lập xuất Inspector Panel (D) Scenes Khi bạn tạo project import tất asset, thường thời gian để bắt đầu làm level game Trong Unity, level (hoặc enviroment) gọi scene scene = level Hầu hết game thường có nhiều level, project thường gồm nhiều scene Để tạo scene mới, chọn File > New Scene, Ctrl + N (Hình 1.1 – 4) Sau tạo chắn lưu File > Save Scene Sau lưu, scene thêm vào project asset Hình 1.1 – Scene đại diện cho level environment 1.1.2 Navigating Scenes Viewports Bạn mở xem xét scene project cách doubleclick từ Project Panel Mỗi bạn tạo scene mới, tự động mở Unity Editor, bạn xây dựng level kiểm tra chúng Các thành phần Viewport (E) (Hình 1.1 – 1) giao diện cho phép bạn nhìn thấy bên scene bạn Hierarchy Panel (B) (Hình 1.1 – 1) liệt kê tên tất object light, camera, environment, creature, power-up object khác chúng không thực hiển thị Bằng cách dounle-click vào object danh sách, bạn chọn chọn đối tượng scene, hiển thị chúng góc nhìn tốt Hơn nữa, thuộc tính object chọn hiển thị Inspector Panel (Hình 1.1 – 5) Viewport chia thành Tab Scene Game Scene tab nơi bạn tạo scene game Game tab hiển thị lại scene góc nhìn khác, góc nhìn người chơi góc nhìn nhà phát triển 10 Actor Use case Biểu đồ 52 53 Mô tả Actor # Tên Actor Player Developer Mô tả Là người chơi Là người phát triển hệ thống Mô tả Use case # Code Tên UC01 Start Screen UC02 Play UC03 Gameover UC04 Quit UC05 Pause UC06 Resume UC07 Share Mô tả Cho phép Actor chọn play game để vào chế độ chơi game quit để thoát game Cho phép Actor điều khiển nhân vật chế độ chơi game Hiển thị thành tích mà Actor đạt được, cho phép Actor chơi lại chia sẻ thành tích thoát khỏi game Cho phép Actor thoát game Cho phép Actor tạm dừng chơi game, chơi tiếp player sẵn sàng Cho phép Actor tiếp tục chơi game Chia sẻ thành tích Actor 54 2.2.4 Yêu cầu chức UC01: Start Screen Mô tả Use case Tên Mô tả Actor Tiền điều kiện Hậu điều kiện Start Screen Code UC01 Cho phép Actor chọn play game để vào chế độ chơi game quit để thoát game Player, Developer Trigger Khởi động ứng dụng Actor khởi động ứng dụng Hiển thị hình Start Screen Activities Actor System Luồng chính: Hiển thị hình Start Scren Actor khởi động ứng dụng Hiển thị hình Start Screen (SC01) UC02: Play Mô tả Use case Tên Mô tả Actor Tiền điều kiện Hậu điều kiện Play Code UC02 Cho phép Actor điều khiển nhân vật chế độ chơi game Player, Developer Trigger Điều khiển nhân vật game Actor click vào button Play Start Screen (SC01) Kích hoạt chế độ chơi game 55 Activities Actor System Luồng chính: Điều khiển nhân vật game Actor click (với chuột) chạm (với hình cảm ứng) vào hai bên hình Play, tương ứng với bên trái hình điều khiển nhân vật lùi lại bên phải hình điều khiển nhân vật tiến lên Xử lý lựa chọn Actor, thực điều khiển nhân vật, hình ảnh nhân vật sau xử lý hiển thị hình Play (SC02) UC03: Gameover Mô tả Use case Tên Mô tả Actor Tiền điều kiện Hậu điều kiện Gameover Code UC03 Hiển thị thành tích mà Actor đạt được, cho phép player chơi lại chia sẻ thành tích thoát khỏi game Player, Developer Trigger Nhân vật mà Actor điều khiển chết nhảy vào đầu missile bị rơi khỏi hình Hiển thị hình Gameover (SC03) Activities Actor System Luồng chính: Hiển thị hình Gameover Nhân vật mà Actor điều khiển chết nhảy vào đầu missile bị rơi khỏi hình Hiển thị hình Gameover (SC03) Actor chọn Replay Kích hoạt usecase Play (UC02) Actor chọn Quit Kích hoạt ussecase Quit (UC04) 56 UC04: Quit Mô tả Use case Tên Mô tả Actor Tiền điều kiện Hậu điều kiện Quit Code UC04 Cho phép Actor thoát game Player, Developer Trigger Click button Quit Actor hình Start Screen hình Gameover Thoát game Activities Actor Luồng chính: Actor hình Start Screen hình Gameover System Thoát game UC05: Pause Mô tả Use case Tên Mô tả Actor Tiền điều kiện Hậu điều kiện Pause Code UC05 Cho phép Actor tạm dừng chơi game, chơi tiếp player sẵn sàng Player, Developer Trigger Click button Pause Actor chế độ chơi Tạm dừng trạng thái game Activities Actor System Luồng chính: Tạm dừng trạng thái game Actor click button Pause Tạm dừng trạng thái game, hiển thị hình Pause (SC04) 57 UC06: Resume Mô tả Use case Tên Mô tả Actor Tiền điều kiện Hậu điều kiện Resume Code UC06 Cho phép Actor tiếp tục chơi game Player, Developer Trigger Click button Resume Actor chế độ Pause Tiếp tục chơi game Activities Actor Luồng chính: Tiếp tục chơi game Actor click button Resume System Tiếp tục chơi game UC07: Share Mô tả Use case Tên Mô tả Actor Tiền điều kiện Hậu điều kiện Share Code UC07 Chia sẻ thành tích Actor Player, Developer Trigger Chọn Share Actor chế độ Gameover Share thành tích Actor Activities Actor System Luồng chính: Share thành tích Actor Actor chọn Share Share thành tích Actor 58 CHƯƠNG MOCKUP SCREEN 3.1 SC01 Start Screen Game thiết kế với giao diện đại tối giản, icon sử dụng thiết kế đồng nhất, phẳng Khi khởi động, game hiển thị hình startscreen Trên hình có button, button Play cho phép người chơi bắt đầu chơi game, button Quit cho phép người chơi thoát khỏi game Hình 3.1 – Màn hình startscreen 59 3.2 SC02 Play Khi game bắt đầu, hình play xuất hiện, người chơi tương tác với nhân vật game thông qua tương tác với hình, chạm vào bên trái hình để điều khiển nhân vật lùi lại, chạm vào bên phải hình để điều khiển nhân vật tiến lên Ngoài hình có button, button Audio dùng để bật tắt âm game, button Pause để tạm dừng game Hình 3.2 – Màn hình play khởi động 60 3.3 SC03 Gameover Màn hình gameover lên game kết thúc (nhân vật người chơi nhảy phải đầu tên lửa, bị rơi khỏi hình) Màn hình thông báo điểm số người chơi đạt được, điểm số cao cho phép người chơi chia sẻ thành tích mình, chơi lại thoát game Hình 3.3 – Màn hình gameover 61 3.4 SC04 Pause Khi người chơi click button Pause hình Play (SC02), hình pause ra, tạm dừng trò chơi Màn hình có button, button Resume cho phép người chơi trở lại game, button Audio dùng để bật tắt âm game Hình 3.4 – Màn hình Pause 62 3.5 SC05 Icon Hình 3.5 – Icon game 63 KẾT LUẬN Nhận xét, đánh giá Qua trình khảo sát, thực hoàn thành đề tài, giúp em có nhìn tổng quát xây dựng game nói chung xây dựng Unity nói riêng Tuy nhiên, thời gian có hạn kiến thức hạn chế nên chương trình nhiều thiếu sót, chức chưa sâu, tương tác với game hạn chế, chưa hỗ trợ điều khiển thông qua thiết bị đặc biệt, game cần tối ưu hiệu sử dụng… Hướng phát triển đề tài Để đề tài hoàn thiện hơn, cần xây dựng thêm số tính năng:  Phát triển gameplay đa dạng  Hoàn thiện chức Save Load game  Cải tiến tính chia sẻ thành tích mạng xã hội  Tối ưu hiệu game 64 TÀI LIỆU THAM KHẢO [1] Sue Blackman, Unity for Absolute Beginners, Apress [2] Sue Blackman, Beginning 3D Game Development with Unity 4, Apress [3] Alan Thorn, Learn Unity for 2D Game Development, Apress [4] Alan Thorn, Pro Unity Game Development with C#, Apress [5] Alan Thorn, Mastering Unity Scripting, Packt Publishing [6] Terry Norton, Learning C# by Developing Games with Unity 3D, Packt Publishing [7] Lee Zhi Eng, Building a Game with Unity and Blender, Packt Publishing [8] Dave Calabrese, Unity 2D Game Development, Packt Publishing [9] Claudio Scolastici, Unity 2D Game Development Coolbook, Packt Publishing [10] John P Doran, Building an FPS Game with Unity, Packt Publishing [11] John P Doran, Unity Game Development Blueprints, Packt Publishing [12] Valera Cogut, Unity for Android Essentials, Packt Publishing [13] David Horacheck, Creating E-Learning Games with Unity, Packt Publishing Và viết website: http://unity3d.com/learn/ http://msdn.microsoft.com/en-us/library/ https://mva.microsoft.com/ https://channel9.msdn.com/ nhiều website khác 65 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Thái nguyên, ngày 66 tháng năm 2016 ... THUYẾT 1.1 Unity cho game 2D Phần giới thiệu cách làm game 2D Unity engine Nó không tập trung vào khái niệm game 2D, không gian 2D projection, mà vào thực bước để tạo game 2D Trong game 2D, player... gian Các Unity API thư viện lớp mà developer sử dụng để làm cho script họ trở lên dễ dàng phát triển game 21 1.1.7 Editor Add-Ons Unity Editor đặc trưng đầy đủ cách đặc biệt bối cảnh game 3D Editor... quyết, nhiên theo cách khác Một cách hữu ích sử dụng class Unity Editor scripting để mở rộng giao diện Unity phát triển riêng add-in, công cụ GUI để cung cấp tính thiếu 1.1.8 Unity Interface Configuration

Ngày đăng: 08/12/2016, 23:50

Mục lục

  • CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

    • 1.1 Unity cơ bản cho game 2D

      • 1.1.1 Unity Project, Assets và Scenes

        • Project Panel

        • Assets và Project Files

        • 1.1.2 Navigating Scenes và Viewports

        • 1.1.3 GameObject, Transforms và Components

        • 1.1.6 Scripting và Unity API

          • MonoDevelop

          • 1.2 Materials và Textures

            • 1.2.1 Sử dụng Materials và Textures

              • Bắt đầu với Materials

              • Làm việc với Textures

              • 1.2.3 Tạo Textures

                • Nguyên tắc 1: Power-2 Dimensions

                • Nguyên tắc 2: Retain Quality

                • Nguyên tắc 3: Mở rộng Alpha Channels cho Transparency

                • 2.1.2 Mục tiêu cần đạt

                • 2.1.3 Hướng giải quyết và kế hoạch thực hiện

                • 2.1.4 Môi trường cài đặt

                • 2.2.2 Định nghĩa, từ viết tắt và các thuật ngữ

                • 2.2.3 Yêu cầu mức cao

                  • Phối cảnh sản phẩm

                  • Actor và Use case

                    • Biểu đồ

                    • Mô tả các Actor

                    • Mô tả các Use case

                    • 2.2.4 Yêu cầu chức năng

                      • UC01: Start Screen

                      • KẾT LUẬN

                        • 1. Nhận xét, đánh giá

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

Tài liệu liên quan