Mọi người đều bị cuốnvà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ạinhững khoảng
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
.
Sinh viên thực hiện : LÊ VĂN ÁNH
Giảng viên hướng dẫn : Th.S NGUYỄN VĂN BÌNH
Lớp : 17IT2
Đà nẵng, tháng 12 năm 2020
Trang 2ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỒ ÁN CHUYÊN NGÀNH 1
Đà Nẵng, tháng 12 năm 2020
Trang 3MỞ ĐẦ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ôngnghệ 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ốnvà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ạinhững khoảng thời gian giải trí cho mọi người và nâng cao khả năng về đồ họa3D
Trang 4Em 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ànthà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ếusó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ệnhơn
Trang 5NHẬN XÉT
………
………
………
………
………
………
Trang 6
MỤ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 7DANH 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 8DANH MỤC CỤM TỪ VIẾT TẮT
1 Integrated Development Environment IDE
…
Trang 9Chươ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ảicủ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àngcao 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ểntă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ôngnghệ 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 10Trong 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 11Chươ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, maphay character … từ một phần mềm thứ 2 (thường là các phần mềm thiết kế đồ họachuyê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 địnhdạ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ácngoà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ộtfile.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 ngaytrongkhi design, nó có hỗ trợ hai chế độ là Scene và Game, rất thuận tiện cho việctest 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ảnpro 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ềncá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ácbạ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ượngUnity 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 Unitygồ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ụcnày được hiển thị trong Project View Đây là nơi chứa tất cả các assets để tạoGame của bạn như Scenes, Script, 3D models, Textures, Audio, Prefabs Chúng takhông nên di chuyển asseets bằng cách sử dụng Window Explorer (hay Finder
Trang 12trong 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àovào trong project view hoặc vào công cụ Assets – Import new Assets(Click chuộtphả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 trongUnity 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ếptớ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 trongGame 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ấthiệ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ủaparenting
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
Trang 13nhìn trong không gian của camera trong Scene View hiện thời, cho phép thay đổigó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 đổichế độ nhìn
Khi xây dựng một Game, bạn sẽ đặt rất nhiều đối tượng vào trong Gamecủa bạn Bạn có thể dử dụng các công cụ Transform Tools ở trong Toolbar để dichuyển, xoay, phóng to tu nhỏ từng đối tượng.Khi bạn chọn một đối tượng trongScene View, xung quanh đối tượng được chọn sẽ có những thay đổi tương ứngvới từng chế độ trong Transform Tools.Sau đó bạn thay đổi đối tượng tùy ý, nếumuố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ềuchế độ 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ữngthà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ộthoặ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ồnsáng v v Inspector sẽ hiển thị mọi thông tin về đối tượng đang làm việc mộtcá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ữngmố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ộtcá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 chomột kiểu đối tượng (như GameObject hay Transform), bạn có thể drag-drop mộtGameObject hay một Prefab vào trong Inspector để gán giá trị cho nó
Chúng ta có thể click lên icon hình bánh răng nhỏ bên phải hay clickchuột phải lên tên cảu Component để xuất hện context menu dành cho nhữngthiết lập của Component
Inspector cũng sẽ thể hiện mọi thông số Import Setting của assets đanglàm việc
Trang 14- Quản lý Asset
Workflowlà “tiến trình công việc” hay “quy trình làm việc”, tức là khibạ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à theotrì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 Khimột đối tượng hay vật thể 3D được import hoặc tạo ra trong Unity, nó đều đượcgọ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 Viewvà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
Visual 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
Trang 15Visual 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
Phầ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ó
Trang 16 Hỗ trợ thiết bị đầu cuối
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 Nghiên cứu tổng quan.1 Giao diện Visual Studio
Hầ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
Trang 17 Bình luận
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 Triển khai xây dựng 2 Visual Studio
Hình Triển khai xây dựng 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
Trang 18Hình Triển khai xây dựng 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
Hình Triển khai xây dựng 5 Màn 1
Trang 19Hình Triển khai xây dựng 6 Màn 2 Màn chơi đẩy bóng:
Ở màn chơi này người chơi cần giúp quả bóng tồn tại lâu nhất có thể, tránh sự tấn công của các quả bóng khác và ghi điểm bằng cách đẩy các quả bóngkhác ra khỏi sân đấu
Hình Triển khai xây dựng 7 Đẩy bóng