LỜI MỞ ĐẦU Trong thời đại công nghệ thông tin như hiện nay, sản phẩm công nghệ ngày càng chịu sự đánh giá khắt khe hơn từ phía những người dùng, đặc biệt là về sản phẩm Game được nhận rất nhiều sự đánh giá từ phía các Game thủ, hay chỉ là những người chơi bình thường. Ngành công nghiệp Game hiện nay có thể nói là bùng nổ, với tốc độ phát triển đến chóng mặt, rất nhiều những Game hay và hấp dẫn đã được ra đời trong thời gian qua. Phía sau những Game phát triển và nổi tiếng như vậy đều có một Game Engine. Game Engine là một công cụ hỗ trợ, một Middleware giúp người phát triển viết Game một cách nhanh chóng và đơn giản, đồng thời cung cấp khả năng tái sử dụng các tài nguyên và mã nguồn cao do có thể phát triển nhiều Game từ một Game Engine.
Từ xu hướng phát triển và những bất cập trên, đồ án này sẽ khảo sát và nghiên cứu về Engine Unity – một Game Engine rất phổ biến và không kém mạnh mẽ hiện nay nhằm thực nghiệm việc phát triển một trò chơi (Demo) bắn máy bay 2D. Chuẩn bị kiến thức và kỹ năng cho định hướng nghề nghiệp (phát triển Game) sau này của chúng em, góp phần vào sự phát triển của ngành công nghiệp Game nước nhà. Các chương đầu trong tài liệu sẽ trình bày lần lượt các khái niệm chung về Game Engine và thế giới 2D. Các chương tiếp theo sẽ giới thiệu về Engine Unity bao gồm các đặc điểm, tính năng, công cụ và thành phần trong Engine này.
Sau những nội dung về thiết kế, tài liệu sẽ trình bày về việc lập trình trên Unity khi giới thiệu về ngôn ngữ lập trình cùng các lớp, hàm trong thư viện dựng sẵn của Unity thông qua các ví dụ thực tế khi phát triển một game bắn máy bay 2D. Cuối cùng là giới thiệu về bối cảnh, cốt truyện, tài liệu hướng dẫn sử dụng của trò chơi Demo cùng chương tổng kết về các khó khăn và những thành quả trong suốt quá trình phát triển trò chơi Demo trên Unity. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CÁM ƠN Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Trường Cao Đẳng Kỹ Thuật Cao Thắng đã tạo điều kiện tốt cho chúng em thực hiện đề tài này. Em xin chân thành cảm ơn Thầy Tôn Long Phước, là người đã tận tình hướng dẫn em, chỉ bảo em trong suốt thời gian thực hiện đề tài.
Em cũng xin cảm ơn Thầy Lê Quang Song đã có những trao đổi, những chỉ dẫn giúp chúng em giải quyết các vấn đề và hoàn thiện đề tài. Em cũng xin gửi lời cảm ơn sâu sắc đến quý Thầy Cô trong Khoa đã tận tình giảng dạy, trang bị cho chúng em những kiến thức quí báu trong những năm học vừa qua. Chúng em xin gửi lòng biết ơn sâu sắc đến Ba, Mẹ, các anh chị và bạn bè đã ủng hộ, giúp đỡ và động viên chúng em trong những lúc khó khăn cũng như trong suốt thời gian học tập và nghiên cứu. Mặc dù chúng em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép, nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong sự cảm thông và tận tình chỉ bảo của quý Thầy Cô và các bạn.
SV Thực Hiện : Vũ Đức Duy LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN 1. Mục đích và nội dung của đồ án: ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… 2. Kết quả đạt đƣợc: ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… 3. Ý thức làm việc của sinh viên: ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Tp.
Hồ Chí Minh, ngày……. Giáo viên hƣớng dẫn (Ký và ghi rõ họ tên) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 4. Mục đích và nội dung của đồ án: ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… 5. Kết quả đạt đƣợc: ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… 6.
Ý thức làm việc của sinh viên: ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Tp. Hồ Chí Minh, ngày……. Giáo viên phản biện (Ký và ghi rõ họ tên) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Mục Lục CHƢƠNG 1: TỔNG QUAN VỀ ENGINE UNITY VÀ KHÔNG GIAN 2D, 3D. TỔNG QUAN VỀ ENGINE UNITY.
Sơ Lược Lịch Sử Hình Thành Và Phát Triển Của Unity. Giải Thưởng. Khách Hàng. Tính Năng Của Engine Unity.
TỔNG QUAN VỀ GAME ENGINE. Ảo hóa phần cứng (trừu tượng hóa phầncứng - Hardware Abstraction). Xu hướng hiện tại. Phần mềm trung gian.
Phân loại Game Engine theo mức độ chuyên biệt. Roll-your-own Game Engine. Mostly-ready Game Engine. Point-and-click Game Engine.
TỔNG QUAN KIẾN TRÚC GAME ENGINE. Kiến trúc tổng quan. 10 CHƢƠNG 2: UNITY ENGINE. GIỚI THIỆU CHUNG.
CÁC ĐẶC ĐIỂM VÀ TÍNH NĂNG CỦA UNITY. 16 LUAN VAN CHAT LUONG download : add luanvanchat@agmail. CÁC THÀNH PHẦN TRONG UNITY. GIAO DIỆN CỦA UNITY.
Cửa sổ Scene và Hierarchy. Cửa sổ Inspector. Cửa sổ Project. Cửa sổ Game.
26 CHƢƠNG 3: MỘT SỐ VẤN ĐỀ VÀ GIẢI PHÁP KHI XÂY DỰNG GAME ENGINE TRÊN UNITY……. LOAD HOẠT HỌA. CHUYỂN ĐỘNG MÔ HÌNH NHẬT VẬT 2D. THÊM SỰ KIỆN VÀO CHUYỂN ĐỘNG CỦA NHÂN VẬT.
TẠO HIỆU ỨNG PARTICLE. XÂY DỰNG GIAO DIỆN GAME. Âm thanh trong game. 48 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.
51 CHƢƠNG 4: ỨNG DỤNG GAME PHÁT TRIỂN TRÊN UNITY. GIỚI THIỆU GAME. CÁC QUY LUẬT CHƠI CHÍNH. Tạm Dừng Game.
DỮ LIỆU GAME BẮN MÁY BAY. Code Trong Game. MỘT SỐ CLASS QUAN TRỌNG TRONG GAME. Di chuyển Đối Tượng Trong Game.
63 CHƢƠNG 5: KẾT LUẬN. 65 Chƣa Đạt Đƣợc. 66 Kinh Nghiệm Rút Ra. 66 Hƣớng Phát Triển.
66 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY CHƢƠNG 1: TỔNG QUAN VỀ ENGINE UNITY VÀ KHÔNG GIAN 2D, 3D I. TỔNG QUAN VỀ ENGINE UNITY 1. Unity Là Gì ? Đã qua rồi thời kỳ làm game trên nền Flash căn bản và buồn chán với những chuyển động thật cứng nhắc. Unity mang lại sức mạnh kỳ diệu cho nhân vật mà chúng ta muốn thể hiện sống động hơn trong không gian 3 chiều đầy huyền ảo.
Công nghệ cao này tạo ra một bước đột phá mới về sự khác biệt trong công nghệ làm game hiện nay, mang đến cho người chơi 1 cảm giác rất khác lạ và hào hứng trong từng chuyển động, tương lai công nghệ này được áp dụng vào game Việt Nam sẽ mở ra một trang mới trong thế giới game 2D, 3D huyền ảo. Unity được dùng để làm video game, hoặc những nội dung có tính tương tác như thể hiện kiến trúc, hoạt hình 2D, 3D thời gian thực. Unity hao hao với Director, Blender game engine, Virtools hay Torque Game Builder trong khía cạnh dùng môi trường đồ họa tích hợp ở quá trình phát triển game là chính. Unity là một trong những engine được giới làm game không chuyên cực kỳ ưa chuộng bởi khả năng tuyệt vời của nó là phát triển trò chơi đa nền.
Trình biên tập có thể chạy trên Windows và Mac OS, và có thể xuất ra game cho Windows, Mac, Wii, iOS, Android. Game cũng có thể chơi trên trình duyệt web thông qua plugin Unity Web Player. Unity mới bổ sung khả năng xuất ra game trên widget cho Mac, và cả Xbox 360, PlayStation 3. Vũ Đức Duy _306111271 Trang 1 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY Hình 1.1 Hình minh họa đa nền Chỉ với khoản tiền bỏ ra khá khiêm tốn (1.500 USD) là phiên bản pro đã nằm trong tay của chúng ta, dĩ nhiên tại Việt Nam số tiền này vẫn là quá lớn nhưng thật may là đã có phiên bản Unity Free.
Tuy nhiên, nhiều tính năng quan trọng (Network) bị cắt giảm nhưng đó không phải là vấn đề quá lớn nếu muốn phát triển một tựa game tầm trung. Vào năm 2009, Unity nằm trong top 5 game engine tốt nhất cho việc sản xuất game với chỉ sau 4 năm phát triển. Unity đứng thứ 4, xếp sau Unreal Engine 3, Gamebryo Engine (được VTC Studio mua về phát triển SQUAD) và Cry Engine 2. Lượng tài liệu hướng dẫn Unity rất phong phú.
Hơn thế nữa nó còn có sẵn một cộng đồng cực lớn với diễn đàn riêng. Bất cứ điều gì không hiểu chúng ta đều có thể thoải mái hỏi và nhận được câu trả lời nhanh chóng, tận tâm. Quá trình tạo địa hình cũng như truy xuất từ các phần mềm 3DSMax, Maya, Cinema4D. rất nhanh chóng.
Sức mạnh và sự tiện lợi của Unity là vô cùng lớn. Sức mạnh: Unity có thể tạo ra được nhiều loại game 2D, 3D đa dạng, dễ sử Vũ Đức Duy _306111271 Trang 2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY dụng với người làm game chưa chuyên nghiệp, chất lượng cao, chạy hầu hết trên các hệ điều hành. Sự tiện lợi: nếu chúng ta là một người chuyên dùng 3Dmax, hay Maya hoặc phần mềm mã nguồn mở Blender thì quả là thật tuyệt, chúng ta sẽ có một lợi thế lớn khi viết game trên Unity này, bởi công việc tạo các mô hình 2D, 3D sẽ trở lên dễ dàng hơn rất nhiều, việc kết hợp giữa người lập trình và người thiết kế các mô hình sẽ nhanh và hiệu quả hơn. Trong Unity chúng ta có thể import trực tiếp các file mô hình đang thiết kế và sẽ thiết kế hoàn thiện tiếp nếu chưa xong trong khi đó công việc import chỉ diễn ra một lần.
Không như việc phải dùng các công cụ khác để thực hiện viết game chúng ta sẽ phải xuất chúng ra một dạng nào đó và mỗi lần sửa lại phần mô hình chúng ta lại phải import lại, và như thế là quá mất thời gian trong việc tạo và chỉnh sửa các mô hình theo ý muốn. Ngoài ra Unity còn cho chúng ta trực tiếp tạo các mô hình nếu muốn. Việc đặt các thuộc tính vật lý trong Unity cũng cực kỳ dễ dàng và hỗ trợ sẵn nhiều chức năng. Sơ Lƣợc Lịch Sử Hình Thành Và Phát Triển Của Unity a.
Hình Thành Phần lõi của Unity ban đầu được viết bởi Joachim Ante vào năm 2001. Sau đó công ty được hình thành vào năm 2005 và bắt đầu với phiên bản 1. Đến năm 2007, Unity được nâng lên phiên bản 2. Unity bắt đầu hỗ trợ iPhone vào năm 2008.
Vào tháng 6/2010, Unity chính thức hỗ trợ Android và cho ra đời phiên bản 3.0 có hỗ trợ Android vào tháng 9/2010 và bây giờ là phiên bản Unity 5. Có thể thấy tốc độ phát triển của Unity khá nhanh. Giải Thƣởng Unity đã đoạt được nhiều giải lớn với những giải chính sau: Năm 2006, Unity đạt "Best Use of Mac OS X Graphics" tại Apple's WWDC.