MẪU ĐỒ ÁN KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỒ ÁN CHUYÊN NGÀNH 1 ĐỀ TÀI ỨNG DỤNG UNITY 3D ĐỂ XÂY DỰNG TRÒ CHƠI GAMEBALL MỞ ĐẦU Trong vài năm trở lại đây , N[.]
Trang 1ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỒ ÁN CHUYÊN NGÀNH 1
ĐỀ TÀI: ỨNG DỤNG UNITY 3D ĐỂ XÂY DỰNG TRÒ CHƠI GAMEBALL
Trang 2MỞ ĐẦU
Trong vài năm trở lại đây , Nhu cầu giải trí cảu con người ngày càng nâng cao, bên cạnh đó vì cách mạng công nghiệp 4.0 kéo theo sự phát triển mạnh
về công nghệ VR, AI , 3D
Ngày nay , với sự phát triển nhanh chóng của xã hội Mọi người đều bị cuốn vào vòng vây của công việc mà không có thời gian thư giãn , vì vậy em chọn đề tài “ Ứng dụng Unity3D vào xây dựng trò chơi Gameball “ với mục đích đem lại những khoảng thời gian giải trí cho mọi người và nâng cao khả năng về đồ họa 3D
Trang 3
LỜI CẢM ƠN
Trong thời gian làm đồ án tốt nghiệp, em đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô và bạn bè
Em xin gửi lời cảm ơn chân thành đến Th.S Nguyễn Văn Bình, người đã tận tình hướng dẫn, trực tiếp chỉ bảo và tạo mọi điều kiện giúp đỡ em trong suốt quá trình làm đồ án
Em cũng xin chân thành cảm ơn các thầy cô trong khoa Công Nghệ Thông Tin Và Truyền Thông, những người đã dạy dỗ và trang bị cho em khiến thức đễ hoàn thành đề tài đồ án này
Mặc dù trong quá trình nghiên cứu đề tài , bản thân em có những cố gắng nhất định song do trình độ và thời gian có hạn nên đề tài không tránh khỏi những thiếu sót.vậy kinh mong các thầy cô và các bạn đóng góp ý kiến để em được hoàn thiện hơn
Trang 4MỤC LỤC
Trang
MỞ ĐẦU 1
Chương 1 Giới thiệu 10
1.1 Tổng quan 10
1.2 Phương pháp, kết quả 10
1.3 Cấu trúc đồ án 10
Chương 2 Nghiên cứu tổng quan 12
2.1 Unity 3D là gì ? 12
2.2 Visual Studio là gì ? 15
Chương 3 Triển khai xây dựng 18
3.1 Mô hình tổng quan của hệ thống nghiên cứu 18
3.2 Xây dựng ứng dụng 18
3.2.1 Cài đặt môi trường và các công cụ cần thiết 18
3.2.2 Xây dựng các Màn chơi trong Unity 19
Chương 4 Kết luận và Hướng phát triển 22
4.1 Kết Luận 22
4.2 Hướng Phát Triển 22
Trang 5DANH MỤC HÌNH
Trang
Hình 2.1 Giao diện Visual Studio 17
Hình 3.1 Visual Studio 18
Hình 3.2 Unity 18
Hình 3.3 Lựa chọn phiên bản trong Unity 19
Hình 3.4 Màn 1 19
Hình 3.5 Màn 2 20
Hình 3.6 Đẩy bóng 20
Hình 3.7 Hình ảnh xây dựng 21
Hình 3.8 Hình ảnh khi chơi Running Ball 21
Trang 6DANH MỤC CỤM TỪ VIẾT TẮT
1 Integrated Development Environment IDE
…
Trang 7Chương 1 Giới thiệu
1.1 Tổng quan
Sự phát triển của cuộc cách mạng công nghiệp 4.0 cùng với sự phổ biến rộng rải của điện thoại di động và internet Nhu cầu giải trí của con người ngày càng càng cao Nên dẫn đến sự phát triển của nền công nghiệp trò chơi di dộng phát triển tăng cao liên tục Với số thể loại trò chơi phong phú
Áp dụng kiến thức đã học để phát triển ứng dụng như trên là cần thiết Bởi vì điều này cho phép học thêm các công nghệ mới, rèn luyện kỹ năng lập trình, đồng thời nâng cao kinh ngiệm và học thêm các kỹ năng quan trọng khác Chính
vì thế, em chọn đề tài xây dựng trò chơi GameBall bằng Unity3D
1.2 Phương pháp, kết quả
Tìm hiểu về Unity3D và cách hoạt động, thiết kế đồ họa trong phần mềm
Từ đó tạo ra trò chơi “ Game Ball “:
Nội dung trò chơi : giúp quả bóng tròn vượt qua các chướng ngại vật để đến đích
Trò chơi sẽ có từ 20 ~30 màn từ dễ đến khó
Tìm hiểu được quá trình thiết kế đồ họa trên Unity3D, thiết kế được kịch bản trò chơi phù hợp với thị hiếu người dùng và mang tính giải trí cao
Kết quả :
Tạo được trò chơi với Unity3D và mang tính giải trí cao
Nắm bắt được cách thiết kế đồ họa trong Unity3D
1.3 Cấu trúc đồ án.
Phần tiếp theo của báo cáo bao gồm:
- Chương 2: Nghiên cứu tổng quan.
Trong chương này, chúng em sẽ giới thiệu về các ứng dụng đã có sẵn tương tự với hệ thống của chúng em Tiếp theo em sẽ giới thiệu tổng quát về các công nghệ và phần mềm em sữ dụng để xây dựng ứng dụng
- Chương 3: Phân tích thiết kế hệ thống.
Phần này sẽ phân tích thiết kế hệ thống theo tất cả các mô hình Thiết kế giao diện và cơ sở dữ liệu cho ứng dụng
- Chương 4: Triển khai xây dựng.
Trong chương này, em sẽ trình bày vê mô hình tổng quan của ứng dụng và giới thiệu về cách triển khai xây dựng ứng dụng
- Chương 5: Kết luận và hướng phát triển.
Trang 8Trong chương này, em sẽ chia thành 2 phần Phần 1 kết luận sẽ giới thiệu
về những gì mà ứng dụng đã được và hạn chế của nó Phần 2 hướng phát triển sẽ đưa ra những hướng đi sau này của ứng dụng
Trang 9Chương 2 Nghiên cứu tổng quan
2.1 Unity 3D là gì ?
Unity3D là phần mềm làm games trực tiếp theo thời gian thực, mà không
cần render, cho phép người design game có thể thiết kế InterfaceGraphic, map hay character … từ một phần mềm thứ 2 (thường là các phần mềm thiết kế đồ họa chuyên nghiệp như 3Dsmax, Blender, Maya, XSL,Cinema4D,Cheetah3D, Modo, Autodesk FBX, LightWave…) sau đó chỉ việc import nó vào trong Unity với định dạng của tập tin là *.FBX hay *.dae, *.3DS, *.dxf và *.obj, nhưng định dạng
*.FBX hay được dùng vì được tối ưu hóa hơn, còn dùng các định dạng khác ngoài FBX thì phải cài phần mền thiết kế character tưng ứng thì mới dùng được (tức là dùng Maya có định dạng *.mb, *.ma thì muốn dùng được phải cài Maya)
Ngoài ra khi bạn design được một game thì bạn có thể xuất được ra một file.exe và có thể chạy và chơi được trên PC khác
Một thế mạnh nữa của Unity là bạn có thể chạy demo game của bạn ngay trongkhi design, nó có hỗ trợ hai chế độ là Scene và Game, rất thuận tiện cho việc test thử các modulGame
Unity3D có 2 loại phiên bản, một cho người dùng free, và một phiên bản pro thì mất phí
Khi tải Unity về các bạn cài đặt bình thường, đến khi kết thúc cài đặt nền các bạn chọn phiên bản Pro thì cần phải mua, còn nếu là người dùng free thì các bạn chọn kích hoạt qua web, chỉ cần có kết nối mạng internet, sau đó chọn cài đặt thủ công và nhập mail, chọn free là bạn có thể sử dụng một bản Unity free
Giới thiệu về giao diện Unity3D.
Sau khi cài đặt Unity thành các bạn khởi động Unity:
- Đối với Window: Start -> Program -> Unity, hoặc chọn biểu tượng Unity trên screen
- Đối với người dùng MacOs: Application -> Unity
Sau khi khởi động Unity cửa sổ Editor xuất hiện: Cửa sổ Editor của Unity gồm nhiều Tab gọi là các view, và ta có thể tùy ý kéo thả sắp xếp các view theo ý thích
- Cửa sổ project
Mỗi Project của Unity đều chứa một thư mục Assets.Nội dung của thư mục này được hiển thị trong Project View Đây là nơi chứa tất cả các assets để tạo
Trang 10Game của bạn như Scenes, Script, 3D models, Textures, Audio, Prefabs Chúng ta không nên di chuyển asseets bằng cách sử dụng Window Explorer (hay Finder trong MAC), vì nó sẽ phá vỡ cấu trúc siêu dữ liệ của assets với nhau, và luôn sử dụng Project View để cấu trúc assets của mình
Để thêm assets vào project của mình, chúng ta có thể kéo thả bất kỳ file nào vào trong project view hoặc vào công cụ Assets – Import new Assets(Click chuột phải vào Project View) Scenes cũng được lưu trữ trong Project view, và đây là một level độc lập mang tính cá nhân Chúng ta dễ dàng tạo một assets game trong Unity bằng cách chọn hình tam giác nhỏ nằm bên phải Create trong cửa sổ Project hoặc click chuột phải trong Project View, sau đó chọn assets tương ứng
- Hierarchy
Trong Hierarchy chứa các GameObject hiện thời, một số có thể trỏ trực tiếp tới những file assets như 3D models, một số khác đại diện cho Prefabs – những đối tượng đã được tùy biến, dùng làm các công việc khác nhau sau này trong Game của bạn Bạn có thể chọn và parenting Object trong Hierarchy Một Object có thể được thêm vào hay loại bỏ trong scene và có thể thấy nó mất đi hay xuất hiện trong Hierarchy
- Parenting
Tức là thư mục chứa hay thư mục gốc, bất kỳ một game object nào muốn là đối tượng con(child) thì ta chỉ việc kéo thả đối tượng đó vào trong đối tượng dự tính làm Parenting trong Hierarchy và nó sẽ kế thừa chuyển động và quay của parenting
- Toolbar
Toolbar chứa 5 loại điều khiển cơ bản, mỗi loại giữ một vai trò quan trọng trong Editor
A: Transform Tool: được dung với Scene view, như quay trái , phải, lên trên, xuống dưới, phóng to thu nhỏ đối tượng
B: Transform Gizmo Toggles: dung cho việc thể hiện Scene view
C: Play/Pause/Step Buttons: dung cho view game, chỵ game ngay trong Editor
để kiểm tra
D: Layer Drop-down kiểm soát đối tượng nào đang được thục hiện trong Scene view
E: Layout Drop-down kiểm soát sự sắp xếp cảu các Views
- Scene View
Trang 11Là nơi bạn Design Game của bạn, đối tượng Maneuvering và Importanting trong Scene view (chuyển động và điều khiển) là hai trong số các chức năng quan trọng của Unity, ở góc bên phải của Scene là Scene Gizmo, nó thể hiện hướng nhìn trong không gian của camera trong Scene View hiện thời, cho phép thay đổi góc nhìn trực quan và nhanh chóng
Click lên các nhánh hình nón để chuyển qua các góc nhìn khác nhau có thể xem ở chế độ Isometric Model(tức ở dạng mặt cắt hai chiều), để chuyển qua chế
độ 3D bạn Click vào hình vuông ở giữa hay giữ phím Shift + Click để chuyển đổi chế độ nhìn
Khi xây dựng một Game, bạn sẽ đặt rất nhiều đối tượng vào trong Game của bạn Bạn có thể dử dụng các công cụ Transform Tools ở trong Toolbar để di chuyển, xoay, phóng to tu nhỏ từng đối tượng.Khi bạn chọn một đối tượng trong Scene View, xung quanh đối tượng được chọn sẽ có những thay đổi tương ứng với từng chế độ trong Transform Tools.Sau đó bạn thay đổi đối tượng tùy ý, nếu muốn chính xác bạn có thể chỉnh chi tiết ở bảng Inspector
Scene View Control Bar
Thanh điều khiển Scene view cho phép bạn xem screen Game với nhiều chế độ như đã phủ vật liệu (material), khung lưới(wireframe), RGB, Overdraw, … Bạn cũng có thể xem và cả nghe những hiệu ứng ánh sáng, âm thanh, những thành phần động trong Game… ngay tại Scene
- Game View
Game View được rendered từ những Camera trong Game Đó là những
gì được nhìn thấy khi hoàn tất, khi Game được xuất bản Bạn sẽ cần ít nhất là một hoặc nhiều hơn số lượng các Camera để quết định những gì mà người chơi
sẽ nhìn thấy khi họ chơi Game
- Inspector
Games trong Unity được tạo ra bởi tập hợp rất nhiều GameObject, trong đó bao gồm meshes, scripts, âm thanh, hay những đối tượng Graphic như nguồn sáng v v Inspector sẽ hiển thị mọi thông tin về đối tượng đang làm việc một cách chi tiết, kể cả những Components được đính kèm và những thuộc tính của nó Tại đây bạn có thể điều chỉnh, thiết lập mọi thông số chức năng của những mối liên kết GameObject-Component
Mọi thuộc tính thể hiện trong Inspector đều có thể được tùy biến một cách trực tiếp Ngay cả với những biến trong script cũng có thể được hiệu chỉnh
mà không cần xem mã Trong script, nếu bạn định nghĩa một giá trị là public cho một kiểu đối tượng (như GameObject hay Transform), bạn có thể drag-drop một GameObject hay một Prefab vào trong Inspector để gán giá trị cho nó
Trang 12Chúng ta có thể click lên icon hình bánh răng nhỏ bên phải hay click chuột phải lên tên cảu Component để xuất hện context menu dành cho những thiết lập của Component
Inspector cũng sẽ thể hiện mọi thông số Import Setting của assets đang làm việc
- Quản lý Asset
Workflowlà “tiến trình công việc” hay “quy trình làm việc”, tức là khi bạn import hoặc tạo ra asset, bạn không cùng một lúc tạo ra toàn bộ, mà là theo trình tự, tùy theo nhu cầu, theo kịch bản, bạn import hoặc tạo ra asset theo thứ tự
Tạo một Asset thô
Unity hỗ trợ import hầu như tất cả các định dạng 3D model hiện nay Khi một đối tượng hay vật thể 3D được import hoặc tạo ra trong Unity, nó đều được gọi là asset
Import
Khi lưu trữ asset, nên lưu trong thư mục Assets đặt trong thư mục Project của bạn Lúc mở project, Unity sẽ tự động dò tìm và import tất cả vào trong Project
Import Settings
Khi bạn chọn một asset trong Project View, những thông số import cho asset
sẽ hiển thị ở Inspector Mỗi loại asset sẽ có mỗi kiểu thông số khác nhau
Thêm Asset vào trong Scene
Chỉ cần click-drag các khung lưới được vẽ trong 3D (mesh) từ Project View vào cửa sổ Hierarchy hoặc Scene View để thêm nó vào trong Scene Khi thêm một mesh vào trong scene, tức là bạn đã tạo ra một GameObject có Mesh Renderer Component Tương tự khi thêm vật liệu, hoặc âm thanh, bạn cũng phải gán nó vào một GameObject đã có sẵn trong Scene hay Project
2.2 Visual Studio là gì ?
Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và
macOS, Visual Studio Code được phát triển bởi Microsoft Nó được xem là một
sự kết hợp hoàn hảo giữa IDE và Code Editor
Trang 13Visual Studio Code hỗ trợ chức năng debug, đi kèm với Git, có syntax
highlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép người dùng thay đổi theme, phím tắt, và các tùy chọn khác
Một số tính năng của Visual studio
Visual Studio Code hỗ trợ nhiều ngôn ngữ lập trình như C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript, … Vì vậy, nó dễ dàng phát hiện và đưa ra thông báo nếu chương chương trình có lỗi
Các trình viết code thông thường chỉ được sử dụng hoặc cho Windows hoặc Linux hoặc Mac Systems Nhưng Visual Studio Code có thể hoạt động tốt trên cả
ba nền tảng trên
Trong trường hợp lập trình viên muốn sử dụng một ngôn ngữ lập trình không nằm trong số các ngôn ngữ Visual Studio hỗ trợ, họ có thể tải xuống tiện ích mở rộng Điều này vẫn sẽ không làm giảm hiệu năng của phần mềm, bởi vì phần mở rộng này hoạt động như một chương trình độc lập
Đi kèm với sự phát triển của lập trình là nhu cầu về lưu trữ an toàn Với Visual Studio Code, người dùng có thể hoàn toàn yên tâm vì nó dễ dàng kết nối với Git hoặc bất kỳ kho lưu trữ hiện có nào
Visual Studio Code hỗ trợ nhiều ứng dụng web Ngoài ra, nó cũng có một trình soạn thảo và thiết kế website
Trang 14Phần lớn tệp lưu trữ đoạn mã đều được đặt trong các thư mục tương tự nhau Ngoài ra, Visual Studio Code còn cung cấp các thư mục cho một số tệp đặc biệt quan trọng
Một số đoạn code có thể thay đổi chút ít để thuận tiện cho người dùng Visual Studio Code sẽ đề xuất cho lập trình viên các tùy chọn thay thế nếu có
Visual Studio Code có tích hợp thiết bị đầu cuối, giúp người dùng khỏi phải chuyển đổi giữa hai màn hình hoặc trở về thư mục gốc khi thực hiện các thao tác
Người dùng Visual Studio Code có thể mở cùng lúc nhiều tệp tin và thư mục – mặc dù chúng không hề liên quan với nhau
Hình 2.1 Giao diện Visual Studio
Trang 15Hầu hết các trình viết mã đều có tính năng nhắc mã Intellisense, nhưng ít
chương trình nào chuyên nghiệp bằng Visual Studio Code Nó có thể phát hiện nếu bất kỳ đoạn mã nào không đầy đủ Thậm chí, khi lập trình viên quên không khai báo biến, Intellisense sẽ tự động giúp họ bổ sung các cú pháp còn thiếu
Visual Studio Code hỗ trợ kéo hoặc sao chép mã trực tiếp từ GitHub Mã này sau
đó có thể được thay đổi và lưu lại trên phần mềm
Việc để lại nhận xét giúp người dùng dễ dàng nhớ công việc cần hoàn thành
Chương 3 Triển khai xây dựng
3.1 Mô hình tổng quan của hệ thống nghiên cứu.
Trò chơi được xây dựng dựa trên nền tảng Unity3D và được lập trình bởi ngôn ngữ C# và sử dụng IDE Visual Studio
Hình 3.2 Visual Studio
Trang 16Hình 3.3 Unity
3.2 Xây dựng ứng dụng.
3.2.1 Cài đặt môi trường và các công cụ cần thiết
- Cài đặt Unity 3D (https://store.unity.com/download?ref=personal)
- Cài đặt Visual Studio
- Cài đặt Unity Version
Hình 3.4 Lựa chọn phiên bản trong Unity
3.2.2 Xây dựng các Màn chơi trong Unity
Màn chơi thả bóng vào rổ :
Ở màn chơi này, người chơi có nhiệm vụ giúp trái bóng đi vòng trong rổ bằng cách làm biến mất cách khối, sau khi hoàn thành thì sẽ được chuyển đến mức độ khó hơn, Có thể tải lại màn chơi bằng nút R