SlideShare a Scribd company logo
1 of 35
Họ Tên SV:Hoàng Tất Đạt 
MSSV:09520497 
GVHD: Ths Nguyễn Duy Khánh
I. GIỚI THIỆU VỀ UNITY3D 
Game Engine Unity được tạo ra bởi Unity Technologies năm 2005 với tiêu 
chí tối ưu hóa việc sản xuất game cho những nhà phát triển nhỏ với giá 
thành hợp lý. Có phiên bản miễn phí cho cá nhân và cả doanh nghiệp (có 
thu nhập < 100.000$) dùng.
I. GIỚI THIỆU VỀ UNITY3D 
Các tính năng nổi bật của Unity: 
Unity mạnh ở khả năng cross-platform - phát triển game cho nhiều nền tảng 
(Desktop như Windows, Mac, Linux, Hệ máy console: Xbox360, Nintendo 
Wii, PS3, Mobile: Android, IOS ... Web: Unity Web Player và gần đây là 
WebGL) với chung 1 source code. 
Unity tích hợp nhiều công cụ, công nghệ bao gồm Graphic Rendering( 
DirectX, OpenGL, ...), Physic( NVIDIA PhysX), audio( OpenAL) giúp cho 
quá trình phát triển game thuận lợi và đơn giản hơn nhờ có sự gắn kết liền 
mạch giữa nhiều mảng. 
Unity tương thích với nhiều phần mềm thiết kế chuyên biệt để tạo model, 
mesh, animation như: Blender, 3D Max, Photoshop, ...
I. GIỚI THIỆU VỀ UNITY3D 
Các tính năng nổi bật của Unity (tt): 
Được viết trên nền C++ nhưng người dùng Unity sẽ phát triển dựa trên 3 
ngôn ngữ C#, Javascript hoặc Boo với hệ thống API đồ sộ. 
Unity có các công cụ, tính năng đầy trục quan, thân thiện, hỗ trợ thuận lợi 
cho designer.Sau khi import vào project Unity, những thành phần đó trở 
thành asset của Game. Asset game là tất cả những thành phần người dùng 
cần để tạo ra game: graphics file, script code file, sound file, ... Unity 
Technologies cho phép người dùng bán hoặc mua các asset game thông qua 
Asset Store( thông qua Unity IDE hay qua web). 
• Cộng đồng phát triển lớn mạnh và nhà phát triển cũng thường xuyên tổ 
chức hội nghị, hội thảo, công bố tài nguyên, kiến thức học tập.
I. GIỚI THIỆU VỀ UNITY3D 
Các platform Unity hiện nay đang hỗ trợ: 
Asset Store của Unity:
I. GIỚI THIỆU VỀ UNITY3D 
Màn hình Unity trong lúc phát triển dự án:
I. GIỚI THIỆU VỀ UNITY3D 
Các khái niệm, thành phần của Unity: 
Asset: những tài nguyên cần có để xây dựng nên 1 game trong Unity. Từ 
những graphic file cho đến file âm thanh hay file scritp code, ... Tất cả được 
lưu trữ trong folder Assets nằm trong folder project. 
Scenes: 1 màn chơi, 1 phân đoạn của game được tách biệt thành 1 file trong 
Unity. Một hay nhiều scene sẽ được build cùng nhau để tạo thành 1 game. 
GameObject: Một khái niệm trừu tượng quan trọng trong Unity. Mọi object 
trong game Unity đều là GameObject. 
Components: Một khái niệm trừu tường khác, quan trong trong Unity. 
Chúng giúp định hình hành vi, biểu thị,... để tạo nên 1 khía cạnh của 
GameObject khi được gắn( attach vào) 
Script: là một component. Script là thành phần thiết yếu trong game.
I. GIỚI THIỆU VỀ UNITY3D 
Sơ đồ thể hiện mối liên hệ giữa GameObject và Component trong Unity
II. PROJECT GAME 
Kết quả project:
II. PROJECT GAME 
Dựng mặt bàn chơi:
II. PROJECT GAME 
Dựng mặt bàn chơi (tt): 
Mặt bàn chơi gồm: 
1 khối lập phương để tạo độ dày cho mặt bàn chơi 
1 mặt phẳn ở phía trên khối lập phương 
Để tạo bề mặt cho mặt bàn ta dùng texture.
II. PROJECT GAME 
Dựng mặt bàn chơi (tt): 
Mặt bàn chơi là 1 hệ thống lưới 8x8 nên ta sẽ tạo ra 1 tile mẫu rồi tạo ra 8x8 
tile tương tự và đặt theo tile theo vị trí hàng, cột được tính toán dựa theo 
kích thước bàn chơi 
Ta tạo tile mẫu từ 1 khối lập phương và cũng thêm material tương tự mặt 
bàn chơi 
+ +
II. PROJECT GAME 
Dựng mặt bàn chơi (tt): 
Tile và mặt bàn sau khi lợp tile
II. PROJECT GAME 
Dựng mặt bàn chơi (tt): 
Tile được nâng lên và dao động điều hòa quanh mặt bàn chơi:
II. PROJECT GAME 
Ánh sáng: 
Thiết lập ánh sáng sử dụng Directional light (giống như ánh sáng ngoài 
thiên nhiên với các điểm trên cùng một mặt phẳng sẽ được chiếu sáng theo 
cùng 1 hướng, cường độ như nhau)
II. PROJECT GAME 
Ánh sáng (tt): 
Ta cũng cần bật chế độ nhận bóng (Cast Shadow) của vật thể cho mặt bàn 
chơi.
II. PROJECT GAME 
Camera: 
Thiết lập camera với góc để có thể quan sát toàn bộ bề mặt bàn chơi:
II. PROJECT GAME 
GUI: 
Hệ thống GUI gồm : 
Các button để mua tower 
Hệ thống chỉ số người chơi gồm số lượng tiền hiện có và số lượng mạng hiện có 
Ta sẽ sử dụng Canvas GameObject của Unity để xây dựng( hiện chỉ có trên 
Unity beta 4.6)
II. PROJECT GAME 
GUI( tt): 
Đăng ký sự kiện cho mỗi button mua tower để ta có thể thực hiện thao tác 
kiểm tra người mua có thể mua tower chỉ định hiện có được hay không. Có 
thể đăt tower đã mua lên vị trí chỉ định trên bàn chơi hay không?
II. PROJECT GAME 
GUI( tt): 
Luật khi mua và đặt tower lên mặt bàn chơi: 
Không cho phép người mua tower có giá > số tiền hiện tại. 
Không cho phép đặt tower lên bàn chơi mà khiến UFO không thể đi từ vị trí 
xuất phát đến vị trí đích. 
Không cho phép mua 1 vị trí > 1 tower. 
Phải chỉ định nơi đặt Tower trước khi mua.
II. PROJECT GAME 
Tạo Tower: 
Có 3 loại tower. Tất cả đều có chung 1 tập thuộc tính với các giá trị khác 
nhau để phân loại: 
Giá có thể mua 
Loại đạn 
Tầm bắn 
Tiếp theo sẽ là phương pháp tạo ra tower loại 1. Tower loại 2, 3 có thể tạo 
tương tự
II. PROJECT GAME 
Tạo Tower(tt): 
Model và Texutre của tower được tạo từ 1 chương trình 3D sau đó được 
import vào porject Unity
II. PROJECT GAME 
Tạo Tower(tt): 
Ta tạo vùng bắn cho tower bằng cách sử dụng collider sphere để chỉ định 
bán kính của vùng bắn. Bất kì UFO nào có khoảng cách đến tower < bán 
kính vùng bắn sẽ bị tấn công
II. PROJECT GAME 
Tạo Tower(tt): 
mRangeShoot là bán kính của vùng bắn
II. PROJECT GAME 
Tạo Tower(tt): 
mRangeShoot là bán kính của vùng bắn
II. PROJECT GAME 
Tạo Tower(tt): 
Các loại Tower trong Game:
II. PROJECT GAME 
Tạo Đạn: 
Giống như tower , ta sẽ có nhiều loại đạn khác nhau có chung thuộc tính 
nhưng phân biện bằng giá trị. 
2 thuộc tính quan trọng: Lượng damage + Vận tốc đạn. 
Để có thể bắn đạn từ tower về phía UFO. Mỗi khi có UFO đi vào vùng bắn 
của 1 tower. Ta tạo ra 1 đạn ứng với tower đó. 
Đạn sẽ quay về hướng của UFO bị tấn công:
II. PROJECT GAME 
Tạo Đạn(tt): 
Để đạn chuyển động, ta sẽ tạo ra 1 rigidbody component cho Đạn 
GameObject. 
Ta tính vận tốc của đạn bằng công thức. Vector đơn vị của hướng nhìn của 
đạn vào UFO * vận tốc đạn.
II. PROJECT GAME 
Tạo Đạn(tt): 
Đạn cũng có collider componet nhằm phát hiện khi nào sẽ có object UFO bị 
va chạm với đạn. Nếu có ta sẽ thông báo cho object UFO bị trừ số lượng 
máu = số lượng damage của đạn. Sau đó đạn cần bị hủy. 
Ta cũng cần hủy đạn khi đạn đi ra khỏi phạm vi bàn chơi.
II. PROJECT GAME 
Tạo UFO: 
Giống như Tower, Đạn. Ta cũng sẽ tạo ra 1 loại UFO, các loại khác tương 
tự, chỉ khác chỉ số. Ta sử dụng chung 1 model cho tất cả 5 loại UFO, sau đó 
sẽ thay texture để tạo ra loại UFO mới. 
Yếu tố quan trọng nhất của 1 UFO là Số lượng máu( Health) của nó. Khi số 
lượng máu <= 0 thì UFO sẽ bị nổ và hủy đi. 
UFO cũng gây cho người chơi mất 1 mạng khi đi được đến hàng cuối cùng 
trong bàn chơi. 
UFO cần phải tự tìm đường: khi bắt đầu đi, khi bị chặn, khi bàn cờ có thay 
đổi.
II. PROJECT GAME 
Tạo UFO(tt): 
Model và Textures của UFO
II. PROJECT GAME 
Tạo UFO(tt): 
Ta dùng thuật toán A* để tìm đường đi cho UFO. 
Chỉ cần xét điểm đến là hàng cuối cùng. 
Đường đi cần phải tính lại khi UFO bị chặn bởi 1 tower mới đặt 
Sử dụng interpolate trong 1 khoảng thời gian để di chuyển UFO từ 1 ô sang 
ô kế tiếp trong đường đi 
Đi đến hàng cuối cùng sẽ trừ đi 1 mạng của người chơi.
II. PROJECT GAME 
Tạo UFO(tt): 
Các loại UFO trong game:
II. PROJECT GAME 
Tạo UFO(tt): 
Khi UFO hết máu, ta sẽ tạo ra 1 particle để thể hiện cảnh UFO bị nổ 
Particle sẽ cần phải tự hủy khi kết thúc life time của mình
III. KẾT THÚC 
CẢM ƠN ĐÃ LẮNG NGHE!

More Related Content

Viewers also liked

Phát triển Mobile Application
Phát triển Mobile ApplicationPhát triển Mobile Application
Phát triển Mobile Applicationwe20
 
Tuan 23 lap chuong trinh hoat dong
Tuan 23   lap chuong trinh hoat dongTuan 23   lap chuong trinh hoat dong
Tuan 23 lap chuong trinh hoat dongtieuhocvn .info
 
Creative design for mobile social game
Creative design for mobile social gameCreative design for mobile social game
Creative design for mobile social gameaction.vn
 
Html5 canvas lap trinh game 2 d v1.0
Html5 canvas lap trinh game 2 d v1.0Html5 canvas lap trinh game 2 d v1.0
Html5 canvas lap trinh game 2 d v1.0Nguyễn Tài Hải
 
Lịch sử phát triển báo chí việt nam
Lịch sử phát triển báo chí việt namLịch sử phát triển báo chí việt nam
Lịch sử phát triển báo chí việt namPhuong Hong Nguyen
 
Ai Trong Game
Ai Trong GameAi Trong Game
Ai Trong GameTuan DH
 
MMOGで考えるゲームデザイン
MMOGで考えるゲームデザインMMOGで考えるゲームデザイン
MMOGで考えるゲームデザインKatsumi Mizushima
 
Giới thiệu môn học ứng dụng NGUI cho unity3D
Giới thiệu môn học ứng dụng NGUI cho unity3DGiới thiệu môn học ứng dụng NGUI cho unity3D
Giới thiệu môn học ứng dụng NGUI cho unity3DTrí Bằng
 

Viewers also liked (13)

Phát triển Mobile Application
Phát triển Mobile ApplicationPhát triển Mobile Application
Phát triển Mobile Application
 
RPG Maker XP
RPG Maker XPRPG Maker XP
RPG Maker XP
 
G3
G3G3
G3
 
Tuan 23 lap chuong trinh hoat dong
Tuan 23   lap chuong trinh hoat dongTuan 23   lap chuong trinh hoat dong
Tuan 23 lap chuong trinh hoat dong
 
Creative design for mobile social game
Creative design for mobile social gameCreative design for mobile social game
Creative design for mobile social game
 
Lập trình game unity3d
Lập trình game unity3dLập trình game unity3d
Lập trình game unity3d
 
Html5 canvas lap trinh game 2 d v1.0
Html5 canvas lap trinh game 2 d v1.0Html5 canvas lap trinh game 2 d v1.0
Html5 canvas lap trinh game 2 d v1.0
 
Lịch sử phát triển báo chí việt nam
Lịch sử phát triển báo chí việt namLịch sử phát triển báo chí việt nam
Lịch sử phát triển báo chí việt nam
 
Ai Trong Game
Ai Trong GameAi Trong Game
Ai Trong Game
 
MMOGで考えるゲームデザイン
MMOGで考えるゲームデザインMMOGで考えるゲームデザイン
MMOGで考えるゲームデザイン
 
Body Art
Body ArtBody Art
Body Art
 
Game engine
Game engineGame engine
Game engine
 
Giới thiệu môn học ứng dụng NGUI cho unity3D
Giới thiệu môn học ứng dụng NGUI cho unity3DGiới thiệu môn học ứng dụng NGUI cho unity3D
Giới thiệu môn học ứng dụng NGUI cho unity3D
 

Similar to Tower defense game with Unity

BanMayBay.pptx
BanMayBay.pptxBanMayBay.pptx
BanMayBay.pptxDngcBnh
 
Làm game với Unity Engine
Làm game với Unity EngineLàm game với Unity Engine
Làm game với Unity EngineColeman Ferry
 
Báo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphicsBáo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphicsNguyễn Anh
 
Dota2- MPR Corporation
Dota2- MPR CorporationDota2- MPR Corporation
Dota2- MPR CorporationChun Psd
 
Programming android game using and engine
Programming android game using and engineProgramming android game using and engine
Programming android game using and engineNGUYEN VAN LUONG
 
Nghiên cứu một số kỹ thuật tạo cảnh trong game. ứng dụng xây dựng game sonic ...
Nghiên cứu một số kỹ thuật tạo cảnh trong game. ứng dụng xây dựng game sonic ...Nghiên cứu một số kỹ thuật tạo cảnh trong game. ứng dụng xây dựng game sonic ...
Nghiên cứu một số kỹ thuật tạo cảnh trong game. ứng dụng xây dựng game sonic ...nataliej4
 

Similar to Tower defense game with Unity (6)

BanMayBay.pptx
BanMayBay.pptxBanMayBay.pptx
BanMayBay.pptx
 
Làm game với Unity Engine
Làm game với Unity EngineLàm game với Unity Engine
Làm game với Unity Engine
 
Báo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphicsBáo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphics
 
Dota2- MPR Corporation
Dota2- MPR CorporationDota2- MPR Corporation
Dota2- MPR Corporation
 
Programming android game using and engine
Programming android game using and engineProgramming android game using and engine
Programming android game using and engine
 
Nghiên cứu một số kỹ thuật tạo cảnh trong game. ứng dụng xây dựng game sonic ...
Nghiên cứu một số kỹ thuật tạo cảnh trong game. ứng dụng xây dựng game sonic ...Nghiên cứu một số kỹ thuật tạo cảnh trong game. ứng dụng xây dựng game sonic ...
Nghiên cứu một số kỹ thuật tạo cảnh trong game. ứng dụng xây dựng game sonic ...
 

Tower defense game with Unity

  • 1. Họ Tên SV:Hoàng Tất Đạt MSSV:09520497 GVHD: Ths Nguyễn Duy Khánh
  • 2. I. GIỚI THIỆU VỀ UNITY3D Game Engine Unity được tạo ra bởi Unity Technologies năm 2005 với tiêu chí tối ưu hóa việc sản xuất game cho những nhà phát triển nhỏ với giá thành hợp lý. Có phiên bản miễn phí cho cá nhân và cả doanh nghiệp (có thu nhập < 100.000$) dùng.
  • 3. I. GIỚI THIỆU VỀ UNITY3D Các tính năng nổi bật của Unity: Unity mạnh ở khả năng cross-platform - phát triển game cho nhiều nền tảng (Desktop như Windows, Mac, Linux, Hệ máy console: Xbox360, Nintendo Wii, PS3, Mobile: Android, IOS ... Web: Unity Web Player và gần đây là WebGL) với chung 1 source code. Unity tích hợp nhiều công cụ, công nghệ bao gồm Graphic Rendering( DirectX, OpenGL, ...), Physic( NVIDIA PhysX), audio( OpenAL) giúp cho quá trình phát triển game thuận lợi và đơn giản hơn nhờ có sự gắn kết liền mạch giữa nhiều mảng. Unity tương thích với nhiều phần mềm thiết kế chuyên biệt để tạo model, mesh, animation như: Blender, 3D Max, Photoshop, ...
  • 4. I. GIỚI THIỆU VỀ UNITY3D Các tính năng nổi bật của Unity (tt): Được viết trên nền C++ nhưng người dùng Unity sẽ phát triển dựa trên 3 ngôn ngữ C#, Javascript hoặc Boo với hệ thống API đồ sộ. Unity có các công cụ, tính năng đầy trục quan, thân thiện, hỗ trợ thuận lợi cho designer.Sau khi import vào project Unity, những thành phần đó trở thành asset của Game. Asset game là tất cả những thành phần người dùng cần để tạo ra game: graphics file, script code file, sound file, ... Unity Technologies cho phép người dùng bán hoặc mua các asset game thông qua Asset Store( thông qua Unity IDE hay qua web). • Cộng đồng phát triển lớn mạnh và nhà phát triển cũng thường xuyên tổ chức hội nghị, hội thảo, công bố tài nguyên, kiến thức học tập.
  • 5. I. GIỚI THIỆU VỀ UNITY3D Các platform Unity hiện nay đang hỗ trợ: Asset Store của Unity:
  • 6. I. GIỚI THIỆU VỀ UNITY3D Màn hình Unity trong lúc phát triển dự án:
  • 7. I. GIỚI THIỆU VỀ UNITY3D Các khái niệm, thành phần của Unity: Asset: những tài nguyên cần có để xây dựng nên 1 game trong Unity. Từ những graphic file cho đến file âm thanh hay file scritp code, ... Tất cả được lưu trữ trong folder Assets nằm trong folder project. Scenes: 1 màn chơi, 1 phân đoạn của game được tách biệt thành 1 file trong Unity. Một hay nhiều scene sẽ được build cùng nhau để tạo thành 1 game. GameObject: Một khái niệm trừu tượng quan trọng trong Unity. Mọi object trong game Unity đều là GameObject. Components: Một khái niệm trừu tường khác, quan trong trong Unity. Chúng giúp định hình hành vi, biểu thị,... để tạo nên 1 khía cạnh của GameObject khi được gắn( attach vào) Script: là một component. Script là thành phần thiết yếu trong game.
  • 8. I. GIỚI THIỆU VỀ UNITY3D Sơ đồ thể hiện mối liên hệ giữa GameObject và Component trong Unity
  • 9. II. PROJECT GAME Kết quả project:
  • 10. II. PROJECT GAME Dựng mặt bàn chơi:
  • 11. II. PROJECT GAME Dựng mặt bàn chơi (tt): Mặt bàn chơi gồm: 1 khối lập phương để tạo độ dày cho mặt bàn chơi 1 mặt phẳn ở phía trên khối lập phương Để tạo bề mặt cho mặt bàn ta dùng texture.
  • 12. II. PROJECT GAME Dựng mặt bàn chơi (tt): Mặt bàn chơi là 1 hệ thống lưới 8x8 nên ta sẽ tạo ra 1 tile mẫu rồi tạo ra 8x8 tile tương tự và đặt theo tile theo vị trí hàng, cột được tính toán dựa theo kích thước bàn chơi Ta tạo tile mẫu từ 1 khối lập phương và cũng thêm material tương tự mặt bàn chơi + +
  • 13. II. PROJECT GAME Dựng mặt bàn chơi (tt): Tile và mặt bàn sau khi lợp tile
  • 14. II. PROJECT GAME Dựng mặt bàn chơi (tt): Tile được nâng lên và dao động điều hòa quanh mặt bàn chơi:
  • 15. II. PROJECT GAME Ánh sáng: Thiết lập ánh sáng sử dụng Directional light (giống như ánh sáng ngoài thiên nhiên với các điểm trên cùng một mặt phẳng sẽ được chiếu sáng theo cùng 1 hướng, cường độ như nhau)
  • 16. II. PROJECT GAME Ánh sáng (tt): Ta cũng cần bật chế độ nhận bóng (Cast Shadow) của vật thể cho mặt bàn chơi.
  • 17. II. PROJECT GAME Camera: Thiết lập camera với góc để có thể quan sát toàn bộ bề mặt bàn chơi:
  • 18. II. PROJECT GAME GUI: Hệ thống GUI gồm : Các button để mua tower Hệ thống chỉ số người chơi gồm số lượng tiền hiện có và số lượng mạng hiện có Ta sẽ sử dụng Canvas GameObject của Unity để xây dựng( hiện chỉ có trên Unity beta 4.6)
  • 19. II. PROJECT GAME GUI( tt): Đăng ký sự kiện cho mỗi button mua tower để ta có thể thực hiện thao tác kiểm tra người mua có thể mua tower chỉ định hiện có được hay không. Có thể đăt tower đã mua lên vị trí chỉ định trên bàn chơi hay không?
  • 20. II. PROJECT GAME GUI( tt): Luật khi mua và đặt tower lên mặt bàn chơi: Không cho phép người mua tower có giá > số tiền hiện tại. Không cho phép đặt tower lên bàn chơi mà khiến UFO không thể đi từ vị trí xuất phát đến vị trí đích. Không cho phép mua 1 vị trí > 1 tower. Phải chỉ định nơi đặt Tower trước khi mua.
  • 21. II. PROJECT GAME Tạo Tower: Có 3 loại tower. Tất cả đều có chung 1 tập thuộc tính với các giá trị khác nhau để phân loại: Giá có thể mua Loại đạn Tầm bắn Tiếp theo sẽ là phương pháp tạo ra tower loại 1. Tower loại 2, 3 có thể tạo tương tự
  • 22. II. PROJECT GAME Tạo Tower(tt): Model và Texutre của tower được tạo từ 1 chương trình 3D sau đó được import vào porject Unity
  • 23. II. PROJECT GAME Tạo Tower(tt): Ta tạo vùng bắn cho tower bằng cách sử dụng collider sphere để chỉ định bán kính của vùng bắn. Bất kì UFO nào có khoảng cách đến tower < bán kính vùng bắn sẽ bị tấn công
  • 24. II. PROJECT GAME Tạo Tower(tt): mRangeShoot là bán kính của vùng bắn
  • 25. II. PROJECT GAME Tạo Tower(tt): mRangeShoot là bán kính của vùng bắn
  • 26. II. PROJECT GAME Tạo Tower(tt): Các loại Tower trong Game:
  • 27. II. PROJECT GAME Tạo Đạn: Giống như tower , ta sẽ có nhiều loại đạn khác nhau có chung thuộc tính nhưng phân biện bằng giá trị. 2 thuộc tính quan trọng: Lượng damage + Vận tốc đạn. Để có thể bắn đạn từ tower về phía UFO. Mỗi khi có UFO đi vào vùng bắn của 1 tower. Ta tạo ra 1 đạn ứng với tower đó. Đạn sẽ quay về hướng của UFO bị tấn công:
  • 28. II. PROJECT GAME Tạo Đạn(tt): Để đạn chuyển động, ta sẽ tạo ra 1 rigidbody component cho Đạn GameObject. Ta tính vận tốc của đạn bằng công thức. Vector đơn vị của hướng nhìn của đạn vào UFO * vận tốc đạn.
  • 29. II. PROJECT GAME Tạo Đạn(tt): Đạn cũng có collider componet nhằm phát hiện khi nào sẽ có object UFO bị va chạm với đạn. Nếu có ta sẽ thông báo cho object UFO bị trừ số lượng máu = số lượng damage của đạn. Sau đó đạn cần bị hủy. Ta cũng cần hủy đạn khi đạn đi ra khỏi phạm vi bàn chơi.
  • 30. II. PROJECT GAME Tạo UFO: Giống như Tower, Đạn. Ta cũng sẽ tạo ra 1 loại UFO, các loại khác tương tự, chỉ khác chỉ số. Ta sử dụng chung 1 model cho tất cả 5 loại UFO, sau đó sẽ thay texture để tạo ra loại UFO mới. Yếu tố quan trọng nhất của 1 UFO là Số lượng máu( Health) của nó. Khi số lượng máu <= 0 thì UFO sẽ bị nổ và hủy đi. UFO cũng gây cho người chơi mất 1 mạng khi đi được đến hàng cuối cùng trong bàn chơi. UFO cần phải tự tìm đường: khi bắt đầu đi, khi bị chặn, khi bàn cờ có thay đổi.
  • 31. II. PROJECT GAME Tạo UFO(tt): Model và Textures của UFO
  • 32. II. PROJECT GAME Tạo UFO(tt): Ta dùng thuật toán A* để tìm đường đi cho UFO. Chỉ cần xét điểm đến là hàng cuối cùng. Đường đi cần phải tính lại khi UFO bị chặn bởi 1 tower mới đặt Sử dụng interpolate trong 1 khoảng thời gian để di chuyển UFO từ 1 ô sang ô kế tiếp trong đường đi Đi đến hàng cuối cùng sẽ trừ đi 1 mạng của người chơi.
  • 33. II. PROJECT GAME Tạo UFO(tt): Các loại UFO trong game:
  • 34. II. PROJECT GAME Tạo UFO(tt): Khi UFO hết máu, ta sẽ tạo ra 1 particle để thể hiện cảnh UFO bị nổ Particle sẽ cần phải tự hủy khi kết thúc life time của mình
  • 35. III. KẾT THÚC CẢM ƠN ĐÃ LẮNG NGHE!