1. Trang chủ
  2. » Công Nghệ Thông Tin

Xây dựng game night mareban gunity3d

74 329 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

Thông tin cơ bản

Định dạng
Số trang 74
Dung lượng 3,31 MB

Nội dung

LỜI CÁM ƠN Em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, trường Công nghệ thông tin truyền thông Thái Nguyên tạo điều kiện tốt cho em thực đồ án tốt nghiệp lần Em xin chân thành cảm ơn cô Nguyễn Lan Oanh, người tận tình hướng dẫn, bảo em suốt thời gian thực đồ án Em xin gửi lời cảm ơn sâu sắc đến quý thầy cô khoa tận tình giảng dạy, trang bị cho chúng em kiến thức quí báu năm học vừa qua Mặc dù em cố gắng hoàn thành đồ án phạm vi khả cho phép, chắn không tránh khỏi thiếu sót, kính mong cảm thông tận tình bảo quý Thầy Cô bạn Người thực Nguyễn Mạnh Cường LỜI CAM ĐOAN Em xin cam đoan báo cáo đồ án tốt nghiệp công trình tổng hợp nghiên cứu cá nhân em, thực sở nghiên cứu lý thuyết, kiến thức hướng dẫn tận tình cô giáo Th.S Nguyễn Lan Oanh Trong báo cáo có sử dụng tài liệu tham khảo trích dẫn rõ ràng tên tác giả, thời gian công bố danh mục tài liệu tham khảo nêu phần tài liệu tham khảo Nếu có phát gian trá đồ án, em xin chịu hoàn toàn trách nhiệm trước Hội đồng bảo vệ MỤC LỤC LỜI NÓI ĐẦU .1 TÓM TẮT ĐỀ TÀI Chương : TỔNG QUAN VỀ UNITY 3D 1.1 Unity gì? 1.2 Sơ lược lịch sử hình thành phát triển Unity 1.2.1 Giới thiệu Unity 1.2.2 Hình thành 1.2.4 Giải thưởng 1.2.5 Khách hàng 1.2.6 Tính engine Unity 1.3 Các khái niệm Unity 1.3.1 Asset 1.3.2 Scene 1.3.3.Game Object 1.3.4 Component 10 1.3.5 Script 10 1.3.6 Prefab 13 1.3.7 Material Shader 13 1.4 Sơ nét giao diện Unity 14 1.4.1 Cửa sổ Scene Hierarchy 14 1.4.2 Inspector 16 1.4.3 Cửa sổ Game 16 1.4.4 Cửa sổ Project 16 1.5 Tổng quan kiến trúc engine Unity Android 17 1.5.1 Kiến trúc tổng quan 17 1.5.2 Chu kỳ sống thành phần script gắn đối tượng game 18 1.6 Tạo cấu hình với dự án 2D 20 1.6.1 Tạo dự án 20 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 38 2.1 Phân tích yêu cầu 38 2.1.1 Khảo sát 38 2.1.2 Mục tiêu cần đạt 38 2.1.3 Hướng giải kế hoạch thực 38 2.2 Phân tích thiết kế hệ thống 38 2.2.1 Biểu đồ Use Case (Use Case Diagram) 39 2.2.2 Biểu đồ trình tự (Sequence Diagram) 41 2.2.3 Biểu đồ lớp (Class Diagram) 44 2.2.4 Biểu đồ hoạt động (Activity-Diagram) 44 2.2.5 Các chức chương trình 46 CHƯƠNG : XÂY DỰNG GAME NIGHT MARE 47 3.1 Giới thiệu chung game PC 47 3.1.1 Máy chơi game 47 3.1.2 Thập niên 70s – Thế hệ console 48 3.1.3 Thập niên 80 – Thời kỳ hoàng kim máy tính cá nhân 49 3.1.4 Thập niên 90 – Đĩa CD PlayStation 50 3.1.5 Thập niên 2000s – MMO 52 3.1.5 Kỷ nguyên tương lai - Thực ảo 55 3.2 Mục tiêu đề tài 57 3.3 Giới thiệu game 58 3.4 Các tài nguyên game 59 3.4.1.Thư mục scene 59 Thư mục scene chứa chơi game : GamePlay, InGame Các chơi xếp theo thứ tự chuyển scene code 59 3.4.2.Thư mục model 60 3.4.3 Thư mục script 61 3.5 Một số xử lý game 61 3.5.1 Di chuyển player bàn phím 61 3.5.2 Xử lý di chuyển theo cho Enemy 61 3.5.3 Xử lý va chạm đối tượng game 62 3.5.4 Ánh sáng game 62 3.5.5 Âm game 62 3.5.6 Hiệu ứng cháy nổ (particle System) 64 KẾT LUẬN 65 Kết đạt được: 65 Hướng phát triển 65 DANH MỤC TÀI LIỆU THAM KHẢO 66 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 67 DANH MỤC CÁC HÌNH Hình 1.1 Hình minh họa đa Hình 1.2.Môi trường phát triển Unity 3D Hình 1.3 Thông tin phiên Unity 3D Hình 1.4 Asset Unity Hình 1.5 Các scene Unity Hình 1.6 Kéo tài nguyên vào Scene để sử dụng Hình 1.7 Các thành phần đối tượng Camera 10 Hình 1.8 Cách tạo file script 11 Hình 1.9 Lập trình Unity C# Visual Studio 12 Hình1.10 Một file script gắn vào đối tượng 12 Hình 1.11 Material Shader 13 Hình 1.12 Giao diện Editor Unity 14 Hình 1.13 Chọn đối tượng Scene Hierrarchy 15 Hình 1.14 Cửa sổ Inspector hiển thị thông tin đối tượng 16 Hình 1.15 Tổng quan kiến trúc Unity 17 Hình 1.16 Chu kỳ sống thành phần script 19 Hình 2.1 Biểu đồ Use Case tổng quát game 39 Hình 2.2 Biểu đồ trình tự giao diện 41 Hình 2.3 Biểu đồ trình tự chơi game 42 Hình 2.4 Biểu đ trình tự giao diện menu 43 Hình 2.5 Biểu đồ Class-Diagram 44 Hình 2.6 Biểu đồ hoạt động Menu 44 Hình 2.7 Biểu đồ hoạt động xử lý va chạm 45 Hình 3.1 Máy chơi game 47 Hình 3.2 Thế hệ máy console 48 Hình 3.3 Máy tính cá nhân phát triển mạnh 49 Hình 3.4 Game elite 50 Hình 3.5.Game đĩa CD Playstation phát triển 51 Hình 3.6 Game Playstation bắn máy bay 52 Hình 3.7 Game MMO phát triển 53 Hình 3.8 Game Call of Duty 54 Hình 3.9 Game Angry Birds 55 Hình 3.10 Kính thực ảo đời 56 Hình 3.11 Game thực ảo 56 Hình 3.12.Game có lỗi chơi gần giống game ZombieWood 58 Hình 3.13.Giao diện start game 59 Hình 3.14.Giao diện Ingame 59 Hình 3.15.Giao diện endgame 60 Hình 3.16 Quái vật elepant 60 Hình 3.17 Nhân vật 61 Hình 3.18 Quái vật Zombuny 61 Hình 3.19 Ánh sáng game 62 Hình 3.20 Thêm thành phần Audio Source 63 LỜI NÓI ĐẦU Với phát triển cách nhanh chóng vũ bão công nghệ Internet giới nói chung Việt Nam nói riêng game gần không khái niệm xa lạ cá nhân, ngược lại cảm thấy gần gũi sống Chúng ta bắt gặp trò chơi thiết bị công nghệ nhỏ thiết bị công nghệ cao Nói đến game hẳn phần lớn người đồng ý loại hình giải trí có sức thu hút lớn,nhất với giới trẻ Đặc biệt sau đời Internet, game online xuất nhanh chóng gây sức hấp dẫn to lớn Chúng ta chơi game online mạng, game offline PC, game dòng máy chuyên Play Station hãng Sony với phiên PS2, PS3, PS4… game phát triển mạnh thiết bị di động điện thoại di động, máy Xbox…Hàng năm lợi nhuận từ game đem doanh thu lên đến hàng tỉ đô la cho công ty chuyên phát triển sản xuất game nước phát triển Nhật Bản, Mỹ có nhiều công ty chuyên sản xuất game Nintendo, Sony, Sega năm công ty đạt doanh thu hàng tỷ USD Hay với nước sau Hàn Quốc,Trung Quốc có ngành công nghê game mạnh nhờ có đầu tư đắn chiến lược phát triển tốt Một trò chơi mua với giá hàng ngàn hay chí hàng triệu, hàng tỷ đô la Không phải game cấu hình cao, đồ họa khủng đêm nguồn lợi nhuận khủng khiếp mà có game đơn giản cấu hình thấp, đồ họa năm giới công nghệ hấp dẫn thu hút người chơi với lối chơi đơn giản, đề khó hiểu thời đại công nghệ Mặc dù VINASA xếp game định hướng công nghệ chiến lược hiệp hội giai đoạn 2006-2010, bên cạnh định hướng phần mềm nhúng ERP thị trường game Việt Nam yếu TÓM TẮT ĐỀ TÀI Ngày nay, game trên điện thoại di động trở thành thú vui số giới trẻ Tuy vậy, cảm giác chơi game PC thứ lôi mà game mobile đem lại Tuy game mobile tiện lợi rõ, chơi lúc nơi với game đồ họa cao, game đòi hỏi người chơi phải thao tác liên tục với bàn phím hay chuột tích hợp di động Một số game bắn súng CS, Crossfire, … hay game chiến thuật LOL, DOTA, AOE chưa có phiên mobile Những nhà phát hành game lớn quan tâm tới cộng đồng game thủ, ví dụ garena thường xuyên tổ chức giải đấu LOL với phần thưởng lên tới hàng triệu đô la mỹ, điều mà game thủ mobile chưa thể có Chính mà nhu cầu chơi game 3D PC cao, hãng sản xuất liên tục cho đời thể loại game 3D hình ảnh đẹp mắt, âm sống động tảng PC Nội dung đề tài em thực bao gồm việc tìm hiểu Engine Unity sử dụng Unity để xây dựng game 3D cho PC Báo cáo bao gồm chương: Chương 1: Giới thiệu tổng quan Unity 3D Chương 2: Giới thiệu tổng quan Unity, trình bày khái niệm bản, tính bật, giao diện, đặc biệt tổng quan kiến trúc Engine Unity Chương 3: Xây dựng game Night mare Chương : TỔNG QUAN VỀ UNITY 3D 1.1 Unity gì? Đã qua thời kỳ làm game Flash buồn chán với chuyển động thật cứng nhắc Unity 3D mang lại sức mạnh kỳ diệu cho nhân vật mà muốn thể sống động không gian chiều đầy huyền ảo Công nghệ cao tạo bước đột phá khác biệt công nghệ làm game 3D nay, mang đến cho người chơi cảm giác khác lạ hào hứng chuyển động, tương lai công nghệ áp dụng vào game Việt Nam mở trang giới game 3D huyền ảo Unity 3D dùng để làm video game 3D, nội dung có tính tương tác thể kiến trúc, hoạt hình 3D thời gian thực Unity hao hao với Director, Blender game engine, Virtools hay Torque Game Builder khía cạnh dùng môi trường đồ họa tích hợp trình phát triển game Unity engine giới làm game không chuyên ưa chuộng khả tuyệt vời phát triển trò chơi đa Trình biên tập chạy Windows Mac OS, xuất game cho Windows, Mac, Wii, iOS, Android Game chơi trình duyệt web thông qua plugin Unity Web Player Unity bổ sung khả xuất game widget cho Mac, Xbox 360, PlayStation Hình 1.1 Hình minh họa đa (Nguồn: http://unity3d.com/) Chỉ với khoản tiền bỏ khiêm tốn (1.500 USD) phiên pro nằm tay chúng ta, dĩ nhiên Việt Nam số tiền lớn thật may có phiên Unity Free Tuy nhiên, nhiều tính quan trọng (Network) bị cắt giảm vấn đề lớn muốn phát triển tựa game tầm trung Hình 3.7 Game MMO phát triển Khái niệm MMO (Massive Multiplayer Online) – Trực tuyến nhiều người chơi, bắt đầu khởi nguồn từ câu hỏi tưởng chừng đơn giản Thực tế, khái niệm MMO có từ năm 1978 sản phẩm phiêu lưu dạng câu đố chữ mang tên MUD – Multi User Dungeon tạo Richard Bartle, đời Trong giới MMO, World of Warcraft (2004) tựa game lớn thành công lịch sử game MMO đặc biệt MMORPG – Game nhập vai trực tuyến nhiều người chơi Nhiều nhà phân tích ghi nhận rằng, có thời điểm WOW có khoảng 50 triệu người online lúc tính tất server toàn cầu Một giới rộng lớn vô cùng, xã hội ảo cực mở hết kết nối hàng triệu game thủ mang lại thành công, danh tiếng đo đếm với World of Warcraft 53 Hình 3.8 Game Call of Duty 2004 đánh dấu đời Call of Duty hệ thống chơi mạng hấp dẫn cho phép game thủ đối đầu trận chiến online Xa chút, Call of Duty đời, hệ thống co-op sản phẩm trở thành sốt nhiều server hãng hàng private Hệ thống Xbox Live Microsoft đẩy mục chơi mạng Call of Duty lên tầm cao tự động tìm người chơi khác, xếp theo level để cấp độ người chơi không chênh lệch Activision có Call of Duty EA không cạnh với FIFA thân Microsoft Studio có Halo làm tảng MMO vững Không lâu sau ngày sản phẩm mắt, lực đời Minecraft gây ấn tượng mạnh với người chơi đặc biệt game thủ nhỏ tuổi Sở hữu lối chơi đơn giản cần nhiều khả sáng tạo, game bắt đầu xâm chiếm trở thành nhánh phát triển xây dựng riêng đe dọa thành công sản phẩm sáng tạo 54 Hình 3.9 Game Angry Birds Thập niên đánh dấu đời hệ iPhone (lần mắt năm 2007) Apple tạo môi trường thiết kế game với giá trị đo đếm, nôi đời hàng loạt sản phẩm tên tuổi từ Angry Birds, Candy Crush Saga Điều khiến môi trường Android đứng ngồi không yên, nhà phát triển Robot Xanh bắt tay tạo hệ MMO dành thành công vang dội 3.1.5 Kỷ nguyên tương lai - Thực ảo Trong khuôn khổ hình, thứ bắt đầu tới hạn Game 3D dường trở thành tiêu chuẩn nhiều hãng sản xuất thời điểm Đi kèm với hệ engine phát triển vượt bậc với hàng trăm tựa game lớn nhỏ, hàng chục engine, tất phát triển, tối ưu để tạo hình ảnh chân thực Con người chịu đựng hình ảnh chật chội khuôn hình Thực tế ảo mà đời 55 Hình 3.10 Kính thực ảo đời Oculus hãng đưa hệ kính thực tế ảo bày bán thị trường với sản phẩm Oculus Rift Với sản phẩm này, trải nghiệm bạn cấp độ hoàn toàn Không giới hạn mặt phẳng, trải nghiệm bạn thực không gian thực với cảm nhận thực Elite: Dangerous tựa game sử dụng trải nghiệm Oculus xuất sắc thời điểm Bạn đeo kính thực tế ảo, sử dụng tay cầm phi thuyền không gian, góc nhìn 360 theo hướng, kích hoạt khởi động phóng với tốc độ ánh sáng Trải nghiệm Star Wars, StarTrek đến gần với tay game thủ hết Du hành sao, chưa tuyệt vời Hình 3.11 Game thực ảo 56 Oculus có Oculus Rift Sony có Project Morpheus, Valve sẵn sàng hợp tác với HTC để tạo Vive Họ tạo kiềng chân cạnh tranh lẫn nhau, phát triển Các hãng phát triển game lại có thêm môi trường rộng lớn trước Sau số game engine 3D cho PC:  libGDX: thư viện viết chủ yếu NDK (công cụ cho phép gọi thực thi code C/C++ từ Java) nên cho tốc độ xử lý nhanh Một ưu điểm engine cho phép viết game test hoàn toàn desktop Tuy nhiên, lidGDX phát triển lúc đầu chủ yếu dành cho 2D nên thời điểm thư viện chưa hỗ trợ kiểm tra va chạm vật thể 3D  Shiva3D: engine thương mại mạnh Shiva dùng ngôn ngữ Lua để viết script game, ngôn ngữ người biết đến  Unity: game engine phổ biến nay, có khả phát triển trò chơi đa nền, trình biên tập chạy Windows Mac OS, xuất game cho Windows, Mac, iOS, Android, Wii, Web, Xbox 360, PlayStation Unity tạo nhiều loại game 3D đa dạng, hỗ trợ import nhiều mô hình định dạng khác nhau, hỗ trợ tạo mô hình trực tiếp Lượng tài liệu hướng dẫn nhiều, cộng đồng lớn với diễn đàn riêng Unity có phiên Unity Pro có tính phí Unity Free để người dùng dễ dàng lựa chọn, mà Unity không dành cho công ty lớn chuyên ngiệp, mà kể giới làm game không chuyên sử dụng cách dễ dàng  Gamemaker công cụ miễn phí dễ sử dụng khác, tạo cho người bắt đầu, giúp bạn tạo trò game cho Windows, Mac, iOS, Android 3.2 Mục tiêu đề tài Đề tài thuộc hướng tìm hiểu công nghệ từ xây dựng ứng dụng Mục tiêu đề tài tìm hiểu engine Unity sử dụng Unity xây dựng thử nghiệm game 3D Để thực được điều nội dung luận văn bao gồm:  Giới thiệu tổng quan game PC 57  Tìm hiểu tổng quan kiến trúc Unity cách tạo lập ứng dụng Unity  Tìm hiểu vấn đề load mô hình vào game,chuyển động, cách tạo địa hình, giao diện, âm hiệu ứng particle… để từ đưa giải pháp  Xây dựng phát triển ứng dụng game Unity 3.3 Giới thiệu game Game Săn Zombie thể loại game phổ biến tảng PC Mobile Trong game bạn điều khiển nhân vật di chuyển khắp nơi Map truy tìm tiêu diệt Zombie để tăng điểm số Bạn cần ý lượng máu mình, để zombie hút hết máu chơi dừng lại Hình 3.12.Game có lỗi chơi gần giống game ZombieWood 58 3.4 Các tài nguyên game 3.4.1.Thư mục scene Thư mục scene chứa chơi game : GamePlay, InGame Các chơi xếp theo thứ tự chuyển scene code Hình 3.13.Giao diện start game Trong giao diện Start game, gồm nút để người chơi thao tác Playgame Quitgame Người chơi click chọn Playgame Quit game Nếu người chơi click nút Playgame, cửa sổ game chuyển qua hình In_Game nguười chơi tiếp tục thao tác Nếu người chơi chọn Quitgame, game đóng lại Hình 3.14.Giao diện Ingame 59 Giao diện Ingame bao gồm đồ, nhân vật, quái vật, máu nhân vật nằm góc trái bên dưới, điểm số người chơi nằm góc bên phải Trong giao diện này, người chơi phải điều khiển nhân vật để chạy trốn, giữ khoảng cách với zombie, không để zombie laij gần hút máu Vừa di chuyển vừa sử dụng súng để tiêu diệt zombie để giành điểm Màn chơi kết thúc nhân vật hết máu Nếu nhân vật hết máu, game chuyển sang scene endgame : if (GameOver) { LoadLevelTime +=Time.deltaTime; if (LoadLevelTime < LoadLevelTimeDelay) return; Application.LoadLevel("EndGame"); Hình 3.15.Giao diện endgame Đây hình game kết thúc Nếu muốn chơi lại, người chơi ấn phím R ấn nút thoát góc bên trái hình 3.4.2.Thư mục model Chứa hình ảnh cho đối tượng game Characters, Enviroment Hình 3.16 Quái vật elepant 60 Hình 3.17 Nhân vật Hình 3.18 Quái vật Zombuny 3.4.3 Thư mục script Thư mục script chứa code C# chương trình 3.5 Một số xử lý game 3.5.1 Di chuyển player bàn phím 3.5.2 Xử lý di chuyển theo cho Enemy 61 3.5.3 Xử lý va chạm đối tượng game 3.5.4 Ánh sáng game Trong game ta thiết kế nguồn sáng chiếu từ hướng khác với cường độ khác để tạo nên hiệu ứng bóng đổ Hình 3.19 Ánh sáng game 3.5.5 Âm game Âm yếu tố không phần quan trọng ứng dụng game Thật nhàm chán cảnh đánh đánh nhau, bắn hay hiệu ứng đẹp mắt mà âm 62 Để chơi file âm Unity có cách: code giao diện Dù chọn cách trước hết phải có sẵn file âm import vào project Sau import âm vào project, file hợp lệ thấy hình sau nhấn nút play để nghe thử Trên menu Unity, vào GameObject  Create Empty Chọn đối tượng vừa tạo gắn thành phần “AudioSource” cho đối tượng AudioSource đối tượng âm Muốn Play hay Stop, thay đổi cách lặp, tăng giảm volume nhạc phải thông qua đối tượng Hình 3.20 Thêm thành phần Audio Source 63 3.5.6 Hiệu ứng cháy nổ (particle System) Để làm điều này, Unity hỗ trợ người dùng Particle Systems để tạo hiệu ứng particle mà người dùng mong muốn Particle muốn hiển thị phải có thành phần quan trọng sau: - Particle Emitter: để sinh hạt - Particle Animator: để làm di chuyển hạt theo thời gian - Particle Renderer: để vẽ hạt Các hiệu ứng nổ tự tạo unity đề tài sử dụng hiệu ứng có sẵn người khác tạo 64 KẾT LUẬN Kết đạt được: - Hiểu cách xây dựng game Unity3d - Sử dụng số công cụ hỗ trợ xây dựng game - Xây dựng thành công game NightMare - Xử lý số hiệu ứng âm thanh, vật lý va chạm game Hướng phát triển  Game hỗ trợ chế độ nhiều người chơi lúc qua Bluetooth Internet  Tăng thêm số lượng chơi để người chơi thêm nhiều lựa chọn  Cung cấp thêm công cụ để người chơi chỉnh sửa tạo cho riêng hình ảnh nhân vật, hiệu ứng âm thanh, …  Cải thiện trí thông minh nhân tạo máy 65 DANH MỤC TÀI LIỆU THAM KHẢO [1] Ryan Henson Creighton, Unity 3D Game Development by Example, Packt Publishing, 2010 [2] Will Goldstone, Unity Game Development Essential, Packt Publishing, 2009 [3] Efraim Meulenberg, Game Development with Unity, VTC, 2010 [4] Efraim Meulenberg, Game Development for iPhone/iPad Using Unity iPhone, VTC, 2010 66 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 67 ... 44 2.2.5 Các chức chương trình 46 CHƯƠNG : XÂY DỰNG GAME NIGHT MARE 47 3.1 Giới thiệu chung game PC 47 3.1.1 Máy chơi game 47 3.1.2 Thập niên 70s – Thế hệ console... 3.11 Game thực ảo 56 Hình 3.12 .Game có lỗi chơi gần giống game ZombieWood 58 Hình 3.13.Giao diện start game 59 Hình 3.14.Giao diện Ingame 59 Hình 3.15.Giao diện endgame... Scene [1] – nơi xây dựng trò chơi o Hierarchy [2] – danh sách GameObject cảnh game o Inspector [3] – hình cài đặt cho tài nguyên/đối tượng chọn o Game [4] – cửa sổ xem trước game, hoạt động chế

Ngày đăng: 23/04/2017, 10:26

TỪ KHÓA LIÊN QUAN

w