Đối với những người đam mê công nghệ và sáng tạo, việc thiết kế và xây dựng một trò chơi đua xe trên nền táng Unity 3D không chỉ là một thách thức mà còn là cơ hội đề khám phá và áp dụng
Trang 1
TRUONG DAI HQC NGUYEN TAT THANH
KHOA CONG NGHE THONG TIN
NGUYEN TAT THANH
TIEU LUAN MON HOC
Tén dé tai: THIET KE VA XAY DUNG GAME DUA XE TREN NEN TANG UNITY 3D
Giảng viên hướng dẫn : ThS BÙI TIỀN ĐỨC
Sinh viên thực hiện : Võ Thái Bằng
MSSV : 2100009467
Khoa : 2021
Thanh phố Hồ Chí Minh, tháng 12 năm 2023
Trang 2
TRUONG DAI HQC NGUYEN TAT THANH
KHOA CONG NGHE THONG TIN
NGUYEN TAT THANH
TIEU LUAN MON HOC
Tén dé tai: THIET KE VA XAY DUNG GAME DUA XE TREN NEN TANG UNITY 3D
Giáng viên hướng dẫn : ThS BÙI TIỀN ĐỨC
Sinh viên thực hiện : Võ Thái Bằng
MSSV : 2100009467
Khoa : 2021
Thanh phố Hồ Chí Minh, tháng 12 năm 2023
Trang 3
NHAN XET CUA GIANG VIEN HUONG DAN
Thành phố Hà Chí Minh, ngày tháng năm 2023
Giáo viên hướng dẫn (Ký tên, đóng dâu)
Trang 4LOI CAM KET
Em xin cam đoan tiểu luận này là do em thực hiện, tat cả dữ liệu trong đề tài là do em tự nghiên cứu và tham khảo tài liệu và em xin chịu trách nhiệm về đề tài của minh
Em xin chan thanh cam on !
Thanh pho H6 Chi Minh, thang 12 nam 2023
Sinh viên thực hiện
Võ Thái Băng
Trang 5LOI CAM ON
Em xin gửi lời cảm ơn sâu sắc đến Thầy Bùi Tiến Đức và toàn thê các Thầy Cô trong Khoa Công Nghệ Thông Tin trường Đại học Nguyễn Tất Thành, người đã hỗ trợ và đồng hành cùng em trong quá trình học tập và nghiên cứu và thực hiện tiêu luận này
Sự tâm huyết và kiến thức sâu rộng của Thầy Bùi Tiến Đức đã đóng vai trò quan trọng trong việc hướng dẫn em vượt qua những thách thức của đè tài “° Thiết kế và xây dựng game đua xe trên nền tảng Unity 3D ” Qua sự hướng dẫn tận tình, nhiệt huyết của thầy em đã có
cơ hội áp dụng những kiến thức lý thuyết đã học vào thực tế, từ việc lên kế hoạch chỉ tiết
đến quá trình triển khai và kiểm thử
Cuối cùng, em xin bay tỏ lòng biết ơn đến gia đình, bạn bè và những người luôn động viên và ủng hộ em trong quá trình học tập
Em xin chân thành cảm ơn !
Thành phố Hồ Chí Minh, tháng 12 năm 2023
Sinh viên thực hiện
Võ Thái Bằng
Trang 6BM-ChT- TRƯỜNG ĐẠI HỌC NGUYÊN TẤT THÀNH KỲ THỊ KÉT THÚC HỌC PHẢN
TRUNG TÂM KHẢO THÍ HỌC KỲ 3 NĂM HỌC 2023 - 2024
PHIEU CHAM THỊ TIỂU LUẬN/ĐỎ ÁN Môn thi: Chuyên đề chuyên sâu KTPM l Lớp học phần: 2IDKTPMID
Nhóm sinh viên thực hiện : 2c c S S22
1.Võ Thái Bằng 0 222tr re Tham gia đóng góp: 100 %
Ngày thí: 12/01/2024 2 02 2221221122222 xe Phòng thi: L.810 25-222
Đề tài tiêu luận/báo cáo của sinh viên : Thiết kế và Xây dựng Game đua xe trén nén tang Unity 3D
Phân đánh giá của giảng viên (căn cứ trên thang rubrics của môn học):
Trang 72.1.3 Đối tượng trong Unity s scc 1211112112122 11 tt 11 1 1H HH ung 9
2.2 Ngôn ngữ lập trình sử dụng trong [ÍnIfV 2 121111222122 1125112 xưa 10 2.2.1 Cách sử dung C# trong nIfy L1 121 1121192 111182011 re II
2.2.2 Các tính chất cơ bản của C# trong Unify 5á n2 21 re 12
PIN: an hr a4 13 2.3.1 Hệ Tọa Độ 2D: Q21 1121121111 011111 11 0111111110121111 0111111111111 11k Hy 13 2.3.2 HE Toa D6 Đ 4 13
2.3.3 Thao Tác trong Hệ Tọa Độ Q Q0 012111222 11H 1n 11H15 18x Huy 13
2.5 Lớp MonoBehavIuOr - - c2 201122111221 12 1110115111115 0115 11 H111 1k ky ca 15 CHƯƠNG 3: NOI DUNG THUC HIEN oe cccccccccccecsessessecsssesssetessususiesecsessesesitestisenstseseess 17 3.1 Ý tưởng của trò chơi - 5s ss nề x1 211211211111 112 1t HH ga 17
3.2.1 Ứng dung Uniity cccccccccccccccccscsscsssssvsssessessesecssessvsevssesevssessvssesstssvsaesnstessecavesevees 18 3.2.2 Ứng dung Visual Studio 2019 c.ccccccccscsscsssssessessesessesevssessessessevsressestssveetees 18
3.3 Khởi tạo ProJ€CK Q.00 00201122122 1115111011 1111111011111 E 11H KH ky 20
3.3.1 TiạO pTOJ€CẦ THỜI L0 2220121112221 12 11 1110115111111 1 20115 111111511155 1k1 ke ớt 20 3.3.2 Sử dụng template có sẵn trên AssetStOre -c- St E211 t2 grg 21 3.4 Mo template da tai va str MUNG ccc ccc cccc ccs ceesecteeceseesesteseeetssaeeeetieeeeenes 22
3.4.1 Chi tiết các đối tượng c1 HE 1 HH1 1211 1 ng Hee 23
Trang 83.5 Sử dụng mã nguôn đã lập trình săn - 5S S1 112121111212 11 2tr rag 26
3.5.1 Tạo Canvas và TextMeshPro c Hnnnn SH ng ng n ng 555511 kk ky 26 3.5.2 Tạo mã nguồn "1 8 eeecececceccccccccccccccccesssecestnsntaccececevscecssetttttttsceeeeeecececersesesentnea 27
CHƯƠNG 4: CHẠY TRÊN DESKTOP VÀ MOBILE 22 2E E212 re rrye 28
4.2 Chạy trên mobiIÏe - c1 2112111221151 1111115115111 51115111 1115111111111 H kg ven 29
TÀI LIỆU THAM KHẢO 55c S E1 2E12E112112111211211211 2.212 E1 1E EEnerrereree 32
›)10808/999)9) 50 44 33
Trang 9DANH MUC HINH
Ls Ung dung Unity ce.cccccccccccccccccsscsscesecssesessecssessesecsvesevsecsresevssrssvsevseesveevsvsevsveevseeeveees 18 2: Ung dung Visual Studio 2019 0 cccccccccccccsscsssesssssessesseeseesesssesessecssssescstetevevseveveeees 19 3: TlạO DTOJ€Cf KỚI Q20 0201121111221 15 111 1150115 111811511 1n KH kh ru 20 A: Create project cece cc ccc ccc cecseece cee eesneeceeecesessestsesessseseeseuesesersieeesseestaeeeies 20
5: Giao diện khởi tao pTOJ€CÍ 020122111 121222111111 1121120111 1811181 1111k ky ky 21
7: Giao diện termpÏafe - 1 21221121 1112115 11111150115 1111111111111 1111111151 k kg xkt 22
8: Template và các đối tượng khác - 5s s11 122111121111 1 121tr nọ 22
9: Đối "00 cece cece cent c ene kere en een neE OnE ecb Ee cae e cat tEE Cte Eebiadetectaeeeeitaeene 23 10: Cac déi tượng va chạm - - c c 1121112 112111221151 5111511511151 kg 24
11: Đối tượng đồng xu 1 ST TH E1 2221 n1 ng ue 25 12: Mã nguồn có săẵn -s n1 E1 1111211 1212121 1 1H nàng He 26
14: Mã nguồn ới - 5 s1 1112111115 22111 112111012111 11tr tre 27 15: đdemo trên máy tính : 1 2222111121112 1121115115111 151115 111511 ren 28 16: đemo trên phần mềm giả lập 151211 12111211 1121111 11 1122211 18tr 29
Trang 10CHUONG 1: TONG QUAN DE TAI
1.1 Giới thiệu về đề tài
Trong bối cảnh ngày nay, ngành công nghiệp game đang trở thành một phần không thê thiếu của văn hóa giải trí toàn cầu Đối với những người đam mê công nghệ và sáng tạo, việc thiết kế và xây dựng một trò chơi đua xe trên nền táng Unity 3D không chỉ là một thách thức mà còn là cơ hội đề khám phá và áp dụng những kiến thức vững chắc về
Kỹ thuật Phần mềm
Đề tài "Thiết kế và Xây dựng Game Dua Xe trên Nền tảng Unity 3D" đặt ra nhiệm vụ tạo ra một sản phẩm game đua xe độc đảo và hấp dẫn, sử dụng công cụ phát triển mạnh mẽ như Unity 3D Trong quá trình nghiên cứu và thực hiện, em sẽ tập trung vào quy trình thiết
kế, phát triển, và kiểm thử, từ khâu lập kế hoạch đến việc tối ưu hóa trải nghiệm người chơi
Mục tiêu chính của đề tài này là không chỉ hiểu sâu về quy trình phát triển game mà còn áp dụng các kiến thức lý thuyết đã học trong môn học "Chuyên đề chuyên sâu Kỹ thuật Phần mềm" Đồng thời, em mong muốn chia sẻ thông điệp về sức mạnh của sự sáng tạo và khả năng ứng dụng kỹ thuật trong việc tạo ra sản phâm giải trí đa dang va hap dan Qua quá trình này, em hy vọng rằng tiêu luận sẽ không chỉ là một bước ngoặt quan trọng trong hành trình học tập của em mà còn là một đóng góp nhỏ trong việc phát triển ngành công nghiệp game đây tiềm năng
1.2 Khảo sát hiện trạng
1 Ưu Điểm và Thách Thức Của Các Game Đua Xe Hiện Tại:
% Ưu Điểm:
© - Phân khúc đỗ họa cao, hiệu ứng đặc sắc giúp tăng trải nghiệm người chơi
® Sw da dang vé loai xe, đường đua và chế độ chơi đề thu hút đối tượng người chơi đa dạng
e Cac tinh nang kết nỗi mạng xã hội và cạnh tranh trực tuyến giữa người chơi
s* Thách Thức:
® - Độ chơi giữa các game đua xe đôi khi trở nên lặp lại và thiếu sự độc đáo
Trang 11Thời gian phát triển và chi phi đầu tư lớn để tạo ra game đua xe đỗ họa cao
và chất lượng
Can sy sáng tao đề tạo ra trải nghiệm chơi mới mẻ và cuôn hút hơn
% Xu Hướng Phát Triển Của Ngành Game:
©_ Thiết Bị Điện Tử Di Động:
Game di động ngày càng trở thành xu hướng chính, đặc biệt trong lĩnh vực game đua xe
Tăng cường tương tác giữa người chơi và game thông qua cảm biến và điều
khiển đơn giản
% Thực Tế Ảo (VR) và Thực Tế Ảo Mở Rộng (AR):
Sự phát triển của công nghệ VR và AR mở ra cơ hội mới cho trải nghiệm game đua xe
Sự tương tác thực tế giữa người chơi và môi trường game có thê làm tăng
tính hấp dẫn
¢ Phan Hoi Từ Cộng Đồng Người Chơi:
s* Yêu Câu và Mong Muôn:
Người chơi mong đợi tính tương tác cao, đồ họa đẹp, và sự độc đáo trong trò chơi đua xe
Yêu cầu chế độ chơi đa dạng và khả năng tùy chỉnh đề tạo ra trải nghiệm cá nhân hóa
Unity 3D cung cấp nền tảng mạnh mẽ đề phát triển game đua xe với đồ họa
cao và hiệu suất tốt
Cộng đồng phát trién Unity sôi nôi, mang lại nguồn lực và hỗ trợ
s* Thách Thức:
Trang 12¢ Doi hdi sw sang tao và đội ngũ phát triển kỹ thuật cao để nôi bật trong thi trường đây cạnh tranh
© _ Thách thức trong việc quản lý tài nguyên và tôi ưu hóa hiệu suất đề đảm bảo trải nghiệm người chơi mượt mà
¢ Phan khảo sát hiện trạng giúp xác định nguồn cảm hứng và những thách
thức cụ thể để tạo ra một game đua xe độc đáo và hấp dẫn
1.3 Mục tiêu đề tài
$% Hiểu Sâu về Quy Trình Phát Triển Game:
`
s*
© - Nắm vững quy trình từ khâu lập kế hoạch, thiết kế, phát triển đến kiểm thử
và triển khai một trò chơi đua xe trên nền tảng Unity 3D
® - Áp dụng các nguyên lý quản lý dự án và thiết kế đề tôi ưu hóa quy trình phát trién
Sáng Tạo trong Thiết Kế Game:
© - Phát triên ý tưởng và thiết kế trò chơi đua xe độc đáo, hấp dẫn và tương tác VỚI người chơi
® Áp dụng các kỹ thuật thiết kế game đề tôi ưu hóa trải nghiệm người chơi +* Kỹ Thuật Xây Dựng Game trên Unity 3D:
Sử dụng thành thạo các công cụ và tính năng của Unity 3D để xây dựng môi trường game và đối tượng đua xe
Tối ưu hóa mã nguồn và tài nguyên đề đảm bảo hiệu suất cao trong quá trình chơi
Kiếm Thử và Tôi Ưu Hóa:
Áp dụng phương pháp kiểm thử hiệu quả để đám bảo tính ôn định và độ chơi
mượt mà của trò chơi
Tối ưu hóa trò chơi đề đảm bảo tương thích trên nhiều thiết bị và môi trường
khác nhau
Ứng Dụng Kiến Thức Lý Thuyết:
Ap dụng kiến thức từ môn học "Chuyên đề chuyên sâu Kỹ thuật Phần mềm” vào quy trình thiết kế va phát trién game
Trang 13¢ Hiéu ré vé các khái niệm và nguyên lý liên quan đến Kỹ thuật Phần mềm trong ngữ cảnh của dự án game
% Chia Sẻ Kiến Thức và Kinh Nghiệm:
¢ Tao ra tài liệu hướng dẫn chỉ tiết về quy trình phát triển và các quyết định quan trọng trong việc xây dựng trò chơi
® - Chia sẻ kinh nghiệm và nhận xét về quá trình học tập và thực hiện dự án thông
qua các phương tiện truyền thông
s* Đóng Góp vào Ngành Công Nghiệp Game:
© - Hướng dẫn về sự quan trọng của sự sáng tạo và kiến thức Kỹ thuật Phần mềm trong việc phát triển trò chơi
© - Đóng góp vào cộng đồng ngành công nghiệp game thông qua việc chia sẻ thông điệp về tiêm năng và sức mạnh của lĩnh vực nảy
Mục tiêu của đề tài là không chỉ xây dựng một trò chơi đua xe chất lượng mà còn hỗ trợ
sự phát triển và hiểu biết sâu rộng vẻ lĩnh vực Kỹ thuật Phần mềm trong ngữ cảnh của
ngành công nghiệp game đây thách thức và cơ hội
1.4 Phạm vi đề tài
Tích hợp những thông tin từ phần mô tả phạm vi vào một đoạn văn có thê giúp giới thiệu đề tài và mục tiêu của bạn một cách mô phỏng và hấp dẫn Dưới đây là một ví dụ về
cách bạn có thê viết đoạn văn:
Trong bối cảnh thị trường game ngày càng đa đạng và đòi hỏi sự sáng tạo, dự án của chúng tôi tập trung vào việc thiết kế và phát triển một trò chơi đua xe độc đáo trên nền
tang Unity 3D Voi muc tiêu tạo ra một trải nghiệm chơi mới mẻ và hấp dẫn, chúng tôi đặt ra những mục tiêu cụ thể
Trang 14Trong phân lập trình và phát triển, chúng tôi hướng đến việc viết mã nguồn C# có hiệu
suất cao, tận dụng sức mạnh của Unity 3D để xử lý sự kiện, vật lý và tương tác Mục tiêu của chúng tôi không chỉ là tạo ra một trò chơi với đồ họa nổi bật, mà còn là tối ưu hóa mã nguồn dé dam bảo kha năng mở rộng và trải nghiệm chơi mượt mà trên nhiều thiết bị
Trong khi đó, phần thiết kế game và môi trường của chúng tôi đặt ra mục tiêu tạo ra một không gian đua xe độc đáo và hấp dẫn Qua việc phân tích yêu cầu đồ họa và thiết kế
mô hình cho đối tượng, xe và môi trường, chủng tôi mong muốn tối ưu hóa trải nghiệm
người chơi thông qua việc tạo ra một thê giới đua xe đây màu sắc và cuôn hút
Những mục tiêu và nhiệm vụ này không chỉ giới hạn ở khía cạnh kỹ thuật mà còn mở
ra cơ hội cho sự sáng tạo trong từng khía cạnh của trò chơi Chúng tôi không chỉ là những nhà phát triển, mà là những người nghệ sĩ tạo ra một tác phâm độc đáo, nơi người chơi sẽ được hòa mình vào thê giới đua xe đây kỳ điệu mà chúng tôi đang xây dựng 1.5 Câu trúc tiểu luận
Cầu trúc tiêu luận bao gồm các chương:
Chương I: Tổng quan về đề tài
Chương 2: Cơ sở lý thuyết
Chương 3: Nội dung thực hiện
Chương 4: Chạy trên Desktop và Mobile
Chương 5: Kết luận
Trang 15CHUONG 2: CO SO LY THUYET 2.1 Tong quan vé Unity
Tổng quan về Unity là một hành trình sáng tạo và đa chiều trong việc phát triển trò chơi Unity, với sức mạnh của môi trường phát triển Unity Editor, là một bảng vẽ sống động nơi nhà phát triển có thê hình thành ý tưởng và tạo ra những trải nghiệm tuyệt vời Giao điện thân thiện với người dùng của Unity Editor giúp dễ dàng quản lý và tương tác với các yêu tô của dự án, từ đối tượng đến tài nguyên, đồng thời cung cấp Scene View và Game View dé hién thị trực quan môi trường và trải nghiệm chơi game
Ngôn ngữ lập trình C# chính là "ngôn ngữ cúa Unity," mang lại tính linh hoạt và hiệu suất cao khi tương tác với API của Unity Đồng thời, Unity còn hé tro viée sur dung Visual Studio
Code 2019, một môi trường lập trình nhẹ và mạnh mẽ với các tính năng như IntelliSense va
debugging, giúp nhà phát triển viết mã một cách dễ dàng và chính xác
Điều độc đáo của Unity nằm ở khả năng tận dụng nguồn tài nguyên đa dạng từ Unity
Asset Store Tại đây, nhà phát triển có thể khám phá và tích hợp mô hình 3D, hiệu ứng
đặc sắc, âm thanh và nhiều công cụ hỗ trợ khác đề tăng tốc quá trình phát triển, làm giàu nội dung và đồng thời giảm thời gian sản xuất
Cuối cùng, Unity không chỉ là một công cụ phát triển game, mà còn là một cộng đồng
đam mê và hỗ trợ Diễn đàn và sự kiện trong cộng đồng Unity là không gian chia sé kiến
thức, hợp tác và giải quyết vấn đề Sự kết nối này không chỉ giúp giải quyết khó khăn mà còn là nguồn động viên và nguồn định hình sự sáng tạo trong ngành công nghiệp game
Unity khéng chi tao ra tro choi, mà còn tạo ra cơ hội cho sự đôi mới và sáng tạo
2.1.1 Công cụ hỗ trợ trong Unity
1 Unity Editor:
« - Giao diện làm việc chính đề tạo, chỉnh sửa và quản lý dự án
* Scene View và Game View giúp hiển thị môi trường và trải nghiệm chơi game
* Hierarchy và Project Window giúp quản lý đối tượng và tài nguyên
Trang 162 Visual Studio Code 2019:
* Môi trường lập trình nhẹ và mạnh mẽ, hỗ trợ viết mã nguồn C# cho dự án Unity
« _ Tích hợp IntelliSense giúp gợi ý mã và kiểm tra lỗi
* Debugging don gian va hiệu quả
3 Unity Asset Store:
* Thu vién truc tuyén cung cap hang ngan tai nguyén va plugin cho viéc tang téc phát triển
- - Cung cấp mô hình 3D, hiệu ứng, âm thanh và nhiều công cụ hỗ trợ khác
° - Dễ tích hợp vào dự án đề làm phong phú nội dung
4 Cộng Đồng Unity:
* Nơi chia sẻ kiến thức, hỗ trợ và kết nỗi với cộng đồng game phát triển
* Dién dan và sự kiện giúp giải quyết van đề và tạo cơ hội hợp tác
2.1.2 Cac tinh nang co ban trong Unity
Unity là một môi trường phát triển game mạnh mẽ với nhiều tính năng cơ bản giúp nhà phát triển xây dựng và quản lý dự án một cách hiệu quả Dưới đây là một số tính năng
cơ ban trong Unity:
1 Unity Editor:
¢ Giao Dién Than Thién: Unity Editor c6 giao dién str dung than thién voi nguo1
dùng, giúp nhà phát trién dé dang tuong tac véi cac thanh phan cua dir an
2 Scene View va Game View:
* Scene View: Cho phép nhìn từ góc quan sát và chỉnh sửa các đối tượng trong môi trường phát trin
* Game View: Hién thị trực quan trải nghiệm chơi game, giúp nhà phát triển kiểm tra và điều chỉnh trò chơi
3 Hierarchy va Project Window:
* Hierarchy: Danh sach cac d6i tượng trong Scene, giúp nhà phát triển quan ly cau trúc của trò chơi
* Project Window: Hién thị tất cả các tài nguyên trong dự án, bao gồm hình ảnh,
âm thanh, và mã nguồn
Trang 174 Inspector:
* Chi Tiét Déi Tượng: Inspector cho phép xem và chỉnh sửa các thuộc tính của
đối tượng được chọn, như vị trí, quay, kích thước, v.v
5 Component System:
* Két Hop Linh Hoạt: Unity sử đụng hệ thống Component cho phép kết hợp linh
hoạt các chức năng vào đối tượng một cách dễ đàng
* Dynamics va Collision: Unity tich hop mot déng cơ vật lý mạnh mẽ, giúp xử lý
chuyén động và va chạm của các đối tượng
11 Unity Asset Store:
* Thur Vién Tai Nguyén: Unity Asset Store là nơi nhà phát triển có thé tìm kiếm, tai vé, va chia sé tai nguyén va plugin
12 Multiplatform Deployment:
* H6 Tro Nhiéu Nén Tang: Unity cho phép xuat trò chơi sang nhiều nền tảng khác
nhau như PC, điện thoại di động, máy chơi game, VR/AR, và web
Trang 18Những tính năng cơ ban nay là những điểm mạnh giúp Unity trở thành một môi
trường phát triển game đa năng và để sử dụng
2.1.3 Đối tượng trong Unity
Trong Unity, "đối tượng" thường được tham chiếu đến những phần tử hoặc thực thê trong môi trường game Dưới đây là một số loại đối tượng cơ bản mà bạn sẽ gặp khi phát triển trò chơi trong Unity:
1 GameObject (Đối tượng Trò chơi):
s% Mô Tả: GameObject là thành phần cơ bản của môi trường game trong
Unity Nó không có hình dạng hoặc độ chịu lực mặc định và chỉ đóng vai trò
như một container cho các thành phần khác
+ Tính Chất:
Có thẻ chứa các Component nhu Mesh Renderer, Collider, Script, v.v Được sử dụng đề xây dựng cấu trúc của một đối tượng trong trò chơi Component (Thanh Phan):
~ M6 Tả: Component là các phần mở rộng của GameObject, đóng gói các
chức năng cụ thê như hình dang, độ chịu lực, hay hành vi
Ví Dụ:
Transform: Diéu khién vị trí, quay, và kích thước của GameObject
Collider: Dinh rõ khu vực của GameObJect đề xác định va chạm
Script: Mã nguồn viết bang C# dé xử lý hành vi của đối tượng
s* Mô Tả: Camera quyết định cách mà người chơi nhìn thấy môi trường game
* Tính Chất: Có thẻ kiểm soát từ góc độ, độ phóng đại, và các thuộc tính
khác
Light (Đèn):
Trang 19“ Mô Tả: Lipht là nguồn sáng trong game, quyết định cách mà môi trường game được ánh sáng
¢ Tinh Chat: Co nhiéu loai dén nhu Point Light, Directional Light, Spot
Light
Terrain (Dia Hinh):
“ M6 Ta: Terrain là đối tượng dùng để tạo ra địa hình, đôi núi, hay đồng cỏ trong trò chơi
* Tính Chất: Có thẻ chứa các chiều cao và texture dé tạo ra một môi trường phức tạp
Particle System (Hệ Thống Hạt):
s* Mô Tả: Particle System tạo ra hiệu ửng hạt nhỏ, chăng hạn như mưa, lửa,
hay khói
®% Tính Chất: Có thể điều chỉnh vận tốc, hình đạng, và màu sắc của các hạt
Những đối tượng này đóng vai trò quan trọng trong việc xây dựng môi trường và trải nghiệm chơi game trong Unity
2.2 Ngôn ngữ lập trình sử dụng trong Unity
Trong Unity, ngôn ngữ lập trình chính là C# C# là một ngôn ngữ lập trình mạnh mẽ
và linh hoạt được sử dụng rộng rãi trong phát triển game Unity cũng hỗ trợ JavaScript (ngôn ngữ UnityScript) và Boo, nhưng tính từ phiên bản Unity 2017, hỗ trợ cho UnityScript va Boo đã được ngừng
Ngôn ngữ C#:
* Là một ngôn ngữ lập trình đa mục đích, mạnh mẽ, và an toàn
* - Thường được sử dụng để viết các script diéu khiển hành vi của đối tượng trong trò chơi, xử lý sự kiện, và tương tác với các thành phần khác trong Unity
Việc sử dụng C# trong Ủnity mang lại sự thuận tiện và tính nhất quán trong quá trình phát triển, cũng như hỗ trợ mạnh mẽ từ cộng đồng va tai liéu cua Unity
10
Trang 203 Gán Script Cho Đối Tượng:
* Sau khi tạo script, bạn ném nó lên đối tượng trong trò chơi của mình Điều này làm
cho đối tượng "biết" làm gì đó khi chạy trò choi
4 Debugging và Kiểm Tra:
* Ban str dụng "Debug.Log" đề in ra màn hình thông điệp hoặc giá trị biến, giúp bạn kiêm tra liệu đoạn mã của bạn đang hoạt động đúng cách hay không
5 Tương Tác với Các Thành Phần Khác:
« - Đối tượng có thê tương tác với các thành phần khác như ánh sáng, camera, hay đôi
tượng khác trong trò chơi
- - Bạn có thê sử dụng script để xử lý các tình huồng như khi đối tượng va chạm với
một đối tượng khác, hoặc khi một sự kiện cụ thé xay ra
7 Kiém Soat Chuyén Động:
* Script co thé được sử dụng đề kiểm soát chuyên động của đối tượng, bao gồm di chuyền, quay, và thậm chí là thay đôi hình dang
8 Hợp Tác với Sự Kiện:
* Banco thé làm cho đối tượng phán ứng khi người chơi thực hiện một hành động cụ thé, chăng hạn như nhắn nút, vuốt màn hình, hay đi chuyên chuột
Nhớ rằng trong Unity, việc sử dụng script giúp bạn tạo ra những trải nghiệm động và
tương tác trong trò chơi của mình một cách linh hoạt và mạnh mẽ
II
Trang 212.2.2 Các tính chất cơ bản của C# trong Unity
1 Ngôn Ngữ Hướng Đối Tượng (OOP):
C# hỗ trợ lập trình hướng đối tượng, giúp tạo ra các lớp, đối tượng, và kế thừa để quản lý mã nguồn một cách có tổ chức
C# được chọn làm ngôn ngữ chính cho phát triển game trong Unity, giúp tích hợp chặt chẽ với các tính năng và thành phần của Unity
._ Thư Viện Mạnh Mẽ:
C# có một thư viện phong phú, giúp xử lý các tác vụ thông dụng như xử lý chuỗi,
thời gian, hoặc tệp tin dễ đàng hơn
An Toàn và Kiểm Tra Lỗi:
C# có kiêm tra lỗi tại thời điểm biên dịch, giúp phát hiện và sửa lỗi trước khi chạy
chương trình, làm cho mã nguồn an toàn hơn
Trang 22cộng đồng phát trién game Unity
2.3 Hé toa do
Hệ tọa độ là một hệ thống giúp xác định vị trí tương đối của các điểm trong không gian Hệ tọa độ thường bao gồm các trục và điểm gốc (origin) Các trục này có thê là 2D hoặc 3D, tùy thuộc vào số lượng chiều được sử dụng
Dưới đây là mô tả về hệ tọa độ 2D và 3D:
2.3.1 Hệ Toa Do 2D:
o Nam ngang, tir trai sang phai
o_ Gốc (0,0) là điểm xuất phat
o Nam doc, tir dudi én
o Géc (0,0,0) la diém xuat phat
o_ Một điểm được đặt bởi một bộ giá trị trên các trục tương ứng
6_ Ví dụ: (2,3) trong 2D, hoặc (2,3,1) trong 3D
13
Trang 23* Di Chuyên:
o_ Di chuyên điểm đến một vị trí khác bằng cách thay đôi giá trị trên các trục
* Quay va Scale (Zoom):
o_ Các phép biến đôi này thay đổi hình đạng và kích thước của các đối tượng trong không gian
Hệ tọa độ là một khái niệm quan trọng trong toán học và đồ họa máy tính, đặc biệt là khi làm việc với đỗ họa 2D và 3D Nó giúp xác định vị trí, hình dạng, và quyết định các thao tc biến đổi trên đối tượng trong không gian
2.4, Camera trong Unity
Trong Unity, Camera la mét thanh phan quan trong dé xac dinh cách người chơi nhìn thấy môi trường game Dưới đây là một số điểm quan trọng về Camera trong Unity:
1 Camera Component:
* Camera la mot loai Component trong Unity
¢ No dinhré goc nhin và phạm vi của người chơi trong trò chơi
2 Góc Nhin (Fleld o£ View - FOV):
° - FOV đo độ mở của camera, tức là góc nhìn mà camera có thê nhìn thấy
* Đơn vị thường là độ (degrees)
3 Tam Nhin (Clipping Planes):
* Camera co hai mat cat, goi la "near clip plane" va "far clip plane"
* Déi tuong nam giữa hai mặt cắt nảy sẽ được hiển thị, các đối tượng gần hơn hoặc xa hơn sẽ bị cắt bớt
4 Chế Độ Projection:
* Camera co thé duge cau hinh dé str dung ché dé projection la Perspective hoac Orthographic
* Perspective tao cam giac chiéu sau, trong khi Orthographic lam phẳng không gian
5 Vi Tri va Huéng Cua Camera:
* Camera co vi tri va hudng nhin được xác định bang tọa độ XYZ va cac gia tri
Euler (quay quanh trục X, Y, Z)
14