1. Trang chủ
  2. » Luận Văn - Báo Cáo

nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba

183 930 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 183
Dung lượng 5,84 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

THIẾT KẾ TRÕ CHƠI THỂ LOẠI MOBA

Trang 2

THIẾT KẾ TRÒ CHƠI THỂ LOẠI MOBA Cán Bộ Hướng Dẫn

Ks Cao Hoàng Giang (2629)

Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn

Công Nghệ Phần Mềm Khoa Công Nghệ Thông Tin, Trường Đại Học

Cần Thơ vào ngày 11 tháng 12 năm 2014

Trang 3

Nhận Xét Của Cán Bộ Phản Biện

Trang 4

Nhận Xét Của Cán Bộ Phản Biện

Trang 5

LỜI CẢM ƠN

-    -

Trong quá trình thực hiện Luận văn tốt nghiệp, nhóm chúng em đã gặp phải khá nhiều khó khăn tuy nhiên được sự giúp đỡ và ủng hộ của quý thầy cô, bạn bè và gia đình nên nhóm em đã hoàn thành đúng tiến độ Nay nhóm chúng

em xin ngỏ lời cảm ơn tất cả những sự giúp đỡ tận tình đó

Chúng 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

Đặc biệt, nhóm em gởi lời cảm ơn sâu sắc nhất đến cán bộ hướng dẫn Luận văn tốt nghiệp, thầy Hồ Quang Thái đã hỗ trợ, theo sát và giải đáp tận tình, chu đáo, cùng những lời khuyên chân thành và kịp thời để nhóm em giải quyết khó khăn và có thêm động lực để hoàn thành đề tài

Dù đã rất cố gắng trong quá trình nghiên cứu và hoàn thành đề tài, nhưng sai sót là điều khó tránh khỏi Rất mong nhận được những ý kiến đóng góp của quý thầy cô và các bạn để nhóm em có thể hoàn thiện hơn đề tài của mình

Trân trọng

Trang 6

Mục Lục

MỤC LỤC VI

DANH MỤC HÌNH X

CHÚ GIẢI THUẬT NGỮ XIX

TÓM TẮT XXII

ABSTRACTS XXIII

CHƯƠNG I: TỔNG QUAN 1

I ĐẶT VẤN ĐỀ 1

II LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 1

III HƯỚNG GIẢI QUYẾT 2

IV CÁCH GIẢI QUYẾT 2

V PHÂN CHIA CÔNG VIỆC VÀ KẾ HOẠCH THỰC HIỆN ĐỀ TÀI 3

1 P HÂN CHIA CÔNG VIỆC 3

2 K Ế HOẠCH THỰC HIỆN 3

CHƯƠNG II: SƠ LƯỢC VỀ UNITY 5

I GIỚI THIỆU CHUNG 5

1 S Ơ LƯỢC VỀ 3D G AME E NGINE 5

2 S Ơ LƯỢC VỀ U NITY 3D 7

II CÁC ĐẶC ĐIỂM VÀ TÍNH NĂNG CỦA UNITY 9

1 R ENDERING ( KẾT XUẤT HÌNH ẢNH ) 9

2 T ERRAINS ( ĐỊA HÌNH ) 10

3 S UBSTANCES (T EXTURE THÔNG MINH ) 11

4 P HYSICS ( VẬT LÍ ) 12

5 A RTIFICIAL I NTELLIGENCE ( TRÍ THÔNG MINH NHÂN TẠO ) 13

6 A UDIO ( ÂM THANH ) 13

7 S CRIPTING ( LẬP TRÌNH ) 14

8 N ETWORKING 14

9 M ATERIALS (V ẬT LIỆU , NGUYÊN LIỆU ) 14

Trang 7

III CÁC THÀNH PHẦN TRONG UNITY 15

1 A SSETS 15

2 S CENES 15

3 G AME O BJECT 16

4 C OMPONENTS 17

5 S CRIPTS 18

6 P REFABS 20

IV GIAO DIỆN CỦA UNITY 21

1 C ỬA SỐ LÀM VIỆC CỦA U NITY 21

2 C ỬA SỔ S CENE VÀ H IERARCHY 22

3 C ỬA SỔ I NSPECTOR 26

4 C ỬA SỔ P ROJECT 28

5 C ỬA SỔ G AME 29

V TỔNG QU N IẾN TRÖC GAME ENGINE UNITY 29

1 K IẾN TRÚC TỔNG QUAN 29

2 C HU KỲ SỐNG CỦA THÀNH PHẦN SCRIPT GẮN TRÊN ĐỐI TƯỢNG GAME 30

CHƯƠNG III: NGHIÊN CỨU THỂ LOẠI GAME MOBA 35

I GIỚI THIỆU VỀ THỂ LOẠI GAME MOBA 35

II LỐI CHƠI CỦA GAME MOBA 35

III CÁC THUẬT NGỮ DÙNG TRONG GAME 37

IV HỆ THỐNG TRANG BỊ (ITEMS) CHO TƯỚNG 41

1 G IỚI THIỆU VỀ TRANG BỊ 41

2 P HÂN LOẠI TRANG BỊ 41

3 C ÔNG DỤNG CỦA TRANG BỊ 42

V HỆ THỐNG KỸ NĂNG (SKILLS) CHO TƯỚNG 42

1 G IỚI THIỆU VỀ KỸ NĂNG ( SKILLS ) CỦA TƯỚNG 42

2 C ÁC LOẠI KỸ NĂNG ( SKILL TYPES ) 43

3 K Ỹ NĂNG NHIỀU CƠ CHẾ ( TOGGLE ) 43

VI HỆ THỐNG QUÂN LINH (CREEPS) 43

1 G IỚI THIỆU QUÂN LÍNH 43

2 P HÂN LOẠI QUÂN LÍNH 44

CHƯƠNG IV: NGHIÊN CỨU LÝ THUYẾT 45

I MÔ HÌNH 3D 45

1 L Ý T HUYẾT 3D 45

Trang 8

2 CINEMA 4D 47

3 K ẾT QUẢ NGHIÊN CỨU 59

II DATA SQLITE 71

1 G IỚI THIỆU VỀ SQL ITE 71

2 M ỘT SỐ ĐẶC ĐIỂM CHÍNH CỦA SQL ITE 72

3 Ứ NG DỤNG CƠ SỞ DỮ LIỆU SQL ITE : 73

4 M ỘT SỐ ĐIỂM HẠN CHẾ CỦA SQL ITE 74

5 Ứ NG DỤNG SQL ITE LƯU TRỮ DỮ LIỆU TRONG G AME 74

III TRÍ TUỆ NHÂN TẠO 76

1 G IỚI THIỆU 76

2 S Ơ LƯỢC VỀ LỊCH SỬ PHÁT TRIỂN AI 77

3 AI P ROGRAMMING 78

4 Ứ NG DỤNG AI VÀO XÂY DỰNG GAME TRÊN U NITY 94

IV TỐI ƯU HÓ ĐỒ HỌA 111

1 K HÁI NIỆM 111

2 O CCLUSION CULLING 112

CHƯƠNG V: ỨNG DỤNG UNITY VÀO PHÁT TRIỂN GAME 116

I MỘT SỐ VẤN ĐỀ VÀ GIẢI PHÁP XÂY DỰNG GAME TRÊN UNITY 116

1 N ẠP VÀ HIỂN THỊ MÔ HÌNH 3 D 116

2 C HUYỂN ĐỘNG M H NH NHÂN VẬT 3D 120

3 T ẠO ĐỊA H NH TRONG GAME 122

4 C HIẾU SÁNG CẢNH VẬT 130

5 T ẠO HIỆU ỨNG PARTICLE 132

6 Â M THANH TRONG GAME 138

7 V A CHẠM 142

8 C ÀI ĐẶT MÁY QUAY ( CAMERA ) 144

9 G IAO DIỆN TƯƠNG TÁC GIỮA NGƯỜI CHƠI VÀ NHÂN VẬT (H ERO ) TRONG GAME 148

10 M INIMAP 149

11 X ÂY DỰNG KỸ NĂNG ( SKILLS ) CỦA NHÂN VẬT 150

12 X ÂY DỰNG CẤP ĐỘ ( LEVEL ) CỦA NHÂN VẬT 151

13 X ÂY DỰNG HỆ THỐNG VẬT PHẨM ( ITEMS ) CHO NHÂN VẬT 151

14 X Ử LÝ THÔNG SỐ THUỘC TÍNH ( ATTRIBUTIONS ) CỦA NHÂN VẬT 152

15 Đ IỀU KHIỂN NHÂN VẬT BẰNG CHUỘT 153

16 Đ IỀU KHIỂN NHÂN VẬT SỬ DỤNG KỸ NĂNG ( SKILLS ) 154

17 T ẠO ĐIỂM XUẤT PHÁT CHO NHÂN VẬT , LÍNH 155

18 T ẠO ĐƯỜNG ĐI CHO LÍNH 155

Trang 9

19 T ẠO THÁP CANH ( TOWER ), NHÀ LÍNH ( INHIBITOR ), NHÀ CHÍNH ( NEXUS ) 156

II CÁCH CHƠI G ME (GAMEPLAY) 156

1 Ý TƯỞNG TRÒ CHƠI 156

2 K ẾT QUẢ ĐẠT ĐƯỢC 158

III KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 158

1 K ẾT LUẬN 158

2 H ƯỚNG PHÁT TRIỂN TIẾP THEO 158

TÀI LIỆU THAM KHẢO 159

PHỤ LỤC 160

Trang 10

Danh mục hình

HÌNH II.1: LOGO CỦA UNITY ENGINE 7

HÌNH II.2: MINH HỌA RENDERING 9

HÌNH II.3: MINH HỌA CÔNG CỤ TÙY CHỈNH ĐỊA HÌNH 10

HÌNH II.4: MINH HỌA CÔNG CỤ TÙY CHỈNH ĐỊA HÌNH 11

HÌNH II.5: MINH HỌA GIAO DIỆN VẬT LÝ 13

HÌNH II.6: THƢ MỤC ASSETS TRONG UNITY 15

HÌNH II.7: CÁC SCENE 16

HÌNH II.8: GAMEOBJECT TRONG CỬA SỔ HIERARCHY 17

HÌNH II.9: CÁC COMPONENT CỦA CAMERA 18

HÌNH II.10: MỘT ĐOẠN SCRIPT ĐƢỢC GẮN VÀO GAMEOBJECT 19

HÌNH II.11: GIAO DIỆN MONO DEVELOPER 20

HÌNH II.12: PREFABS CÓ TÊN ENEMY1 VÀ CÁC THÀNH PHẦN TRONG NÓ 21

HÌNH II.13: GIAO DIỆN 21

HÌNH II.14: CỬA SỔ HIERACHY 22

HÌNH II.15: CỬA SỔ GAME 23

Trang 11

HÌNH II.16: NÚT CÔNG CỤ 23

HÌNH II.17: TH NH ĐIỀU KHIỂN KHUNG NHÌN 24

HÌNH II.18: THANH CÔNG CỤ 24

HÌNH II.19: CỬA SỔ INSPECTOR 26

HÌNH II.20: MINH HỌ ĐIỀU CHỈNH TRONG INSPECTOR 27

HÌNH II.21: CỬA SỔ PROJECT 28

HÌNH II.22: CỬA SỔ GAME 29

HÌNH II.23: CHU KỲ SỐNG CỦA THÀNH PHẦN SCRIPT 31

HÌNH III.1: CÁC HERO LÀM NÊN LINH HỒN CHO THỂ LOẠI GAME MOBA 36

HÌNH IV.1: HỆ TỌ ĐỘ DESCARTES VỚI TRỤC X HƯỚNG VỀ NGƯỜI QUAN SÁT 45

HÌNH IV.2: GIAO DIỆN MẶC ĐỊNH CỦA CINEMA 4D 51

HÌNH IV.3: MENU CHÍNH 51

HÌNH IV.4: THANH MENU COMMAND PALETTE 51

HÌNH IV.5: MINH HỌA MENU MỞ RỘNG 52

HÌNH IV.6: MENU VIEWPORT 52

HÌNH IV.7: STATUS LINE 53

HÌNH IV.8: KẾT XUẤT HÌNH ẢNH 53

HÌNH IV.9: TOOL BOX 54

Trang 12

HÌNH IV.10: OBJECT MANAGER 55

HÌNH IV.11: CHUYỂN ĐỔI VẬT THỂ S NG Đ GIÁC 55

HÌNH IV.12: WORKSPACE 56

HÌNH IV.13: BẢNG CHANNEL 56

HÌNH IV.14: BẢNG LAYER 57

HÌNH IV.15: HIDDEN MENU 58

HÌNH IV.16: MENU M 58

HÌNH IV.17: MINH HỌ BƯỚC 1 59

HÌNH IV.18: MINH HỌ BƯỚC 2 60

HÌNH IV.19: MINH HỌ BƯỚC 3 60

HÌNH IV.20: MINH HỌ BƯỚC 4 61

HÌNH IV.21: MINH HỌ BƯỚC 5 62

HÌNH IV.22: MINH HỌ BƯỚC 6 63

HÌNH IV.23: MINH HỌ BƯỚC 7 64

HÌNH IV.24: MINH HỌ BƯỚC 8 65

HÌNH IV.25: MINH HỌ BƯỚC 9 66

HÌNH IV.26: MINH HỌ BƯỚC 1 67

HÌNH IV.27: MINH HỌ BƯỚC 2 68

Trang 13

HÌNH IV.28: MINH HỌ BƯỚC 3 68

HÌNH IV.29: MINH HỌ BƯỚC 4 69

HÌNH IV.30: MINH HỌ BƯỚC 5 69

HÌNH IV.31: MINH HỌ BƯỚC 6 70

HÌNH IV.32: MINH HỌ BƯỚC 7 70

HÌNH IV.33: MINH HỌ BƯỚC 8 71

HÌNH IV.34: THƯ VIÊN SQLITE 74

HÌNH IV.35: TẠO BIẾN KẾT NỐI 75

HÌNH IV.36: HÀM KẾT NỐI 75

HÌNH IV.37: HÀM TRUY VẤN DỮ LIỆU 75

HÌNH IV.38: HÀM ĐỌC DỮ LIỆU 76

HÌNH IV.39: HÀM ĐÓNG ẾT NỐI 76

HÌNH IV.40: BẢN ĐỒ NHÌN TỪ TRÊN XUỐNG 79

HÌNH IV.41: BẢN ĐỒ DƯỚI DẠNG LƯỚI 2D 79

HÌNH IV.42: Ô KỀ BÊN Ô CẦN XÉT 80

HÌNH IV.43: TÍNH GIÁ TRỊ G 81

HÌNH IV.44: TÍNH GIÁ TRỊ H 81

HÌNH IV.45: VỊ TRÍ BẮT ĐẦU 82

Trang 14

HÌNH IV.46: BƯỚC THỨ 2 83

HÌNH IV.47: BƯỚC THỨ 3 83

HÌNH IV.48: TÌM ĐẾN MỤC TIỆU 84

HÌNH IV.49: LẦN NGƯỢC CÁC Ô CHA 84

HÌNH IV.50: NHỮNG ĐIỂM ĐẾN 85

HÌNH IV.51: CÁC ĐIỂM ĐẾN MỚI (NEW WAYPOINTS) 86

HÌNH IV.52: LƯỚI ĐỊNH HƯỚNG 87

HÌNH IV.53: LƯỚI ĐỊNH HƯỚNG TRONG GAME 87

HÌNH IV.54: VÙNG ĐẶT BIỆT (ANNOTATE SPECIAL REGIONS) 88

HÌNH IV.55: VÒNG LẶP ĐỊNH HƯỚNG 88

HÌNH IV.56: ẢNH MINH HỌA THUẬT TOÁN FUNNEL 89

HÌNH IV.57: MINH HỌ CÁC BƯỚC THUẬT TOÁN FUNNEL 89

HÌNH IV.58: VÍ DỤ MINH HỌA 90

HÌNH IV.59: SƠ ĐỒ CHUYỂN TRẠNG THÁI 91

HÌNH IV.60: HÌNH MINH HỌA NHIỆM VỤ (TASKS) TRONG CÂY HÀNH VI 92

HÌNH IV.61: NHIỆM VỤ SELECTOR (SELECTOR TASK) 93

HÌNH IV.62: HÌNH MINH HỌA NHIỆM VỤ SEQUENCE 94

HÌNH IV.63: HÌNH MINH HỌ SƠ ĐỒ CHUYỂN TRẠNG THÁI 95

Trang 15

HÌNH IV.64: SƠ ĐỒ ĐỔI ĐƯỜNG 98

HÌNH IV.65: SƠ ĐỒ TRỤ ĐƯỜNG 98

HÌNH IV.66: SƠ ĐỒ TẤN CÔNG TRỤ 99

HÌNH IV.67: SƠ ĐỒ THAM CHIẾN 99

HÌNH IV.68: SƠ ĐỒ TẤN CÔNG 100

HÌNH IV.69: SƠ ĐỒ MUA TRANG BỊ 100

HÌNH IV.70: SƠ ĐỒ MUA TRANG BỊ CƠ BẢN 101

HÌNH IV.71: SƠ ĐỒ MUA TRANG BỊ CHÍNH 102

HÌNH IV.72: SƠ ĐỒ MUA TRANG BỊ CAO CẤP 103

HÌNH IV.73: SƠ ĐỒ C NH ĐÕN ĐÁNH CUỐI DIỆT ĐỊCH 104

HÌNH IV.74: SƠ ĐỒ TUẦN TRA 105

HÌNH IV.75: SƠ ĐỒ TUẦN TR HÔNG CÓ TƯỚNG ĐỊCH VÀ CÓ ĐỒNG MINH 106

HÌNH IV.76: SƠ ĐỒ TUẦN TR HÔNG TƯỚNG ĐỊCH VÀ HÔNG CÓ ĐỒNG MINH 107

HÌNH IV.77: SƠ ĐỒ TUẦN TR CÓ TƯỚNG ĐỊCH VÀ CÓ ĐỒNG MINH 108

HÌNH IV.78: SƠ ĐỒ TUẦN TR CÓ TƯỚNG ĐỊCH VÀ HÔNG CÓ ĐỒNG MINH 109

HÌNH IV.79: SƠ ĐỒ SỬ DỤNG KỸ NĂNG 110

HÌNH IV.80: SƠ ĐỒ TRẠNG THÁI CHẾT 111

HÌNH IV.81: THẺ OBJECT TRONG CÔNG CỤ OCCLUSION 114

Trang 16

HÌNH IV.82: THẺ BAKE TRONG CÔNG CỤ OCCLUSION 114

HÌNH IV.83: THẺ VISUALIZATION TRONG CÔNG CỤ OCCLUSION 115

HÌNH V.1: MINH HỌA KHỞI TẠO MÔ HÌNH 117

HÌNH V.2: HÌNH MINH HỌ ĐỊNH DẠNG ANIMATION 118

HÌNH V.3: HÌNH MINH HỌA GIAO DIỆN CHÍNH HUNG XƯƠNG 118

HÌNH V.4: HÌNH MINH HỌ ĐỊNH DẠNG LEGACY 119

HÌNH V.5: HÌNH MINH HỌA CHO NHÃN ANIMATION TRONG GIAO DIỆN NẠP MÔ HÌNH

119

HÌNH V.6: HÌNH MINH HỌ ĐỊNH DẠNG GENERIC 120

HÌNH V.7: MÔ HÌNH 3D BÊN TRONG CHỨA NHIỀU ANIMATION 121

HÌNH V.8: MÔ HÌNH 3D CHỨA MỘT ANIMATION 121

HÌNH V.9: RISE AND LOWER THE TERRAIN HEIGHT 123

HÌNH V.10: SET THE TERRAIN HEIGHT 124

HÌNH V.11: SMOOTH THE TERRAIN HEIGHT 124

HÌNH V.12: PAINT THE TERRAIN TEXTURE 125

HÌNH V.13: PLACE TREES 126

HÌNH V.14: PLACE PLANTS, STONES AND OTHER SMALL FOILAGE 127

HÌNH V.15: SETTING FOR THE TERRAIN 128

Trang 17

HÌNH V.17: ĐỊ HÌNH DƯỚI GÓC NHÌN TỪ TRÊN XUỐNG 130

HÌNH V.18: CẢNH VẬT ĐƯỢC CHIẾU SÁNG VÀ CÓ BÓNG 131

HÌNH V.19: ĐƯỜNG DẪN TẠO HIỆU ỨNG 132

HÌNH V.20: CÁC THUỘC TÍNH CỦA PARTICLE SYSTEM 133

HÌNH V.21: HIỆU ỨNG KHÓI LỬA 136

HÌNH V.22: HIỆU ỨNG NƯỚC 137

HÌNH V.23: CÁCH DUNG HÀM PLAY() 138

HÌNH V.24: CÁCH TÙY CHỈNH ÂM THANH 138

HÌNH V.25: CHỈNH ÂM LƯỢNG 138

HÌNH V.26: HÀM PLAYCLIPATPOINT 139

HÌNH V.27: CHARACTER CONROLLER 139

HÌNH V.28: INPUT MANAGER 141

HÌNH V.29: ĐOẠN MÃ MINH HỌA CÁCH DI CHUYỂN NHÂN VẬT 142

HÌNH V.30: SPHERE COLLIDER, MESH COLLIDER, BOX COLLIER, CAPSULE COLLIDER

143

HÌNH V.31: MINH HỌA DI CHUYỂN MÀN HÌNH CAMERA TRONG GAME 145

HÌNH V.32: THÀNH PHẦN CAMERA 146

HÌNH V.33: NEAR CLIP PLANE VÀ FAR CLIP PLANE 147

Trang 18

HÌNH V.34: HÌNH MINH HỌA GIAO DIỆN TƯƠNG TÁC GIỮ NGƯỜI CHỚI VÀ NHÂN VẬT

149

HÌNH V.35: HÌNH MINH HỌA CHO THÀNH PHẦN MINIMAP 150

HÌNH V.36: HÌNH MINH HỌA CHO CÁC VẬT PHẨM 152

HÌNH V.37: HÌNH MINH HỌA THÀNH PHẦN NAVMESHAGENT 154

\\

Trang 19

Chú giải thuật ngữ

phát triển các trò chơi điện tử

Việc chia các đa giác thành những

đa giác nhỏ hơn một cách tự động theo một kịch bản quy định sẵn bởi

Trang 20

16 Occlusion Culling Chọn lọc loại bỏ điểm khuất

Nguôn ngữ lập trình đổ bóng trung cấp dành cho xử lý pixel, tối ƣu hóa

Interface)

Trang 21

33 Database Engine Máy lưu trữ dữ liệu

Intelligence)

Tập hợp các công cụ tạo nội dung

âm thanh được thực hiện bởi Firelight Technologies

tượng khác

Trang 22

Tóm tắt

Đây là cơ hội để quên đi những dự án lập trình nhàm chán mà bạn đã làm trong thời gian gần đây và bước vào thế giới trò chơi đầy hấp dẫn, nơi trí tưởng tượng của bạn bay cao Bạn có thể tạo ra những thứ mà chỉ có trong tưởng tượng của mình Khả năng phát triển của game là vô tận

Lập trình game là một trong những khu vực khó khăn nhất của lập trình máy tính - bạn cần phải nắm vững chuyển động, đồ họa lập trình, cấu trúc dữ liệu, lập trình hướng đối tượng, hiệu ứng âm thanh, và nhiều hơn nữa Nhưng với những công cụ thích hợp, chiến lược đúng đắn, và một chút may mắn, bạn sẽ ngạc nhiên trước những gì bạn có thể làm

Unity 3D là một mảnh ghép mới của công nghệ, có thể giúp cho việc phát triển trò chơi trở nên đơn giản và dễ dàng hơn Unity là một công cụ sản xuất trò chơi hoặc là một phần mềm được viết để thiết kế và phát triển các trò chơi điện

Trang 23

bstracts

Here's your chance to forget all those boring programming projects you've been working on lately and enter the fascinating world of action arcade game programming a world where you can let your imagination soar! You can create your own scrolling worlds inhabited by creatures from your imagination The possibilities in game development are endless

Game programming is one of the most challenging areas of PC programming you need to master animation, graphics programming, data structures, event-driven programming, sound effects, and much more But with the right tools, the right strategy, and a little bit of luck, you'll be amazed at what yUnity 3D is a new piece of technology that strives to make life better and easier for game developers Unity is a game engine or a game authoring tool that enables creative folks like you to build video games

Unity 3D is a new piece of technology that strives to make life better and easier for game developers Unity is a game engine or a game authoring tool that enables creative folks like you to build video games

Real-time 3D games have been around for well over ten years now We‟ve all played them, created assets in the style of our favorites, and maybe even “mod”ed a few of them But with the Unity game engine leaping ahead in its effort to provide a free or low-cost means of authoring for desktop, mobile, or console games, the only barrier left to creating your own games is your level of commitment and the number of hours you are willing or able to devote

Trang 24

CHƯƠNG I: TỔNG QU N

I ĐẶT VẤN ĐỀ

Với những bước tiến đột phá trong công nghệ vi xử lý và card đồ họa, các sản phẩm Game ngày càng trở nên sinh động, hấp dẫn và lôi cuốn nhiều người chơi Đặc biệt khi rào cản công nghệ đang được phá vỡ thì các sản phẩm Game càng trở chân thực, hiện thực hóa được ý tưởng phong phú của nhà thiết kế và đưa người chơi đến một thế giới ảo vô cùng chân thực 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ại Việt Nam, ngành công nghiệp Game mới chỉ đang phát triển đa số chủ yếu vẫn là phát hành Game Các công ty hiện nay đa số đều chỉ nhen nhóm những dự án nhỏ và kém hấp dẫn gây nên không ít thất vọng từ những Game thủ ủng hộ Game nước nhà

II LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ

Với vấn đề đặt ra như trên, có rất nhiều công cụ đã ra đời Trong việc tạo ra các mô hình 3D, các phần mềm như 3dsMax, Blender, Maya, Cinema4D…là những ứng dụng rất mạnh, linh hoạt và chuyên nghiệp Từ việc tạo ra những khối cầu, lập phương, đa giác đơn giản cho đến những mô hình phức tạp được ghép bởi nhiều khối đa giác khác nhau với những màu sắc sống động, rực rỡ và cả việc tạo ra các chuyển động một cách uyển chuyển và linh hoạt cho những mô hình này, hầu hết các phần mềm này đều cho ra những sản phẩm rất tốt và đáp ứng được gần như tất

cả những mong muốn của người sử dụng Cinema4D là phần mềm đồ họa ứng dụng rộng rãi trong lĩnh vực vẽ phim hoạt hình, games 3D, Video Game, dựng phim, kỹ xảo phim điện ảnh, demo những đoạn phim quảng cáo, là ứng cử viên sáng giá cho việc thiết kế mô hình 3D cho game

Và để thực hiện được việc kết hợp các mô hình cũng như có thể điều khiển được các mô hình được định dạng khác nhau trong cùng một trò chơi Và có thể xây dựng trò chơi này cho nhiều nền tảng khác nhau Rất nhiều các công cụ đã ra đời để

Trang 25

phục vụ cho việc giải quyết vấn đề được nêu ra như Unreal, Vision, X-Ray, Unity3D…Trong đó, một công cụ giúp ta thực hiện công việc này một cách đơn giản và nhanh chóng đó chính là Unity3D Công cụ này không chỉ giúp ta phát triển trò chơi 3D cũng như 2D cho hệ điều hành Windows mà nó còn hỗ trợ đa nền tảng như Android, IOS, Xbox, Wii, Mac…Ngoài ra, nó còn có thể tạo dựng những mô hình 3D đơn giản và tạo chuyển động cho các mô hình này Không những thế, việc

hỗ trợ đa nền đúng như cái tên Unity, là thống nhất, đồng lòng…, còn cho phép công cụ này sử dụng những mô hình 3D với các định dạng khác nhau từ các chương trình khác như Cinema4D, Maya…đã kể ở trên Cho nên, việc nghiên cứu cách thức hoạt động, lập trình của công cụ này sẽ giúp cho việc phát triển trò chơi 3D được thuận tiện, nhanh chóng và dễ dàng

III HƯỚNG GIẢI QUYẾT

Từ xu hướng phát triển và những bất cập trên, chúng em 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

Unity là một trong những game engine khá phổ biến hiện nay, có khả năng phát triển trò chơi đa nền Unity tạo ra được nhiều loại game 3D đa dạng, hỗ trợ import rất nhiều mô hình định dạng khác nhau, hỗ trợ tạo mô hình trực tiếp Lượng tài liệu hướng dẫn nhiều, cộng đồng lớn với diễn đàn riêng Unity có 2 phiên bản là Unity Pro có tính phí và Unity Free để người dùng dễ dàng lựa chọn, vì vậy mà Unity không chỉ dành cho một công ty lớn chuyên ngiệp, mà kể cả giới làm game không chuyên cũng có thể sử dụng được một cách dễ dàng

IV CÁCH GIẢI QUYẾT

Đề tài này thuộc hướng tìm hiểu công nghệ từ đó xây dựng ứng dụng Mục tiêu của đề tài là tìm hiểu Engine Unity, các thuật toán tìm đường đi, xử lý hành vi,

va chạm vật lý và cách định vị các đối tượng trong môi trương không gian 3D để xây dựng thử nghiệm Game 3D thể loại MOBA (Multiplayer online battle arena)

Để thực hiện được được điều này nội dung của đề tài cần đạt được:

 Tìm hiểu tổng quan về kiến trúc của Unity và cách tạo lập các ứng dụng trong Unity

Trang 26

 Tìm hiểu các vấn đề như load mô hình vào game, làm nhân vật chuyển động, cách tạo địa hình, giao diện, âm thanh và các hiệu ứng particle…

để rồi từ đó đưa ra giải pháp

 Cách kết hợp các đối tượng (nhân vật, hiệu ứng, script, giao diện), cách khởi tạo và quản lý các thành phần trong game

 Xây dựng và phát triển ứng dụng game thể loại MOBA bằng Unity

V PHÂN CHIA CÔNG VIỆC VÀ KẾ HOẠCH THỰC HIỆN ĐỀ TÀI

1 Phân chia công việc

Các mục cần nghiên cứu Người thực hiện

Dựng địa hình, cảnh vật, vật trang trí,

các hiệu ứng nhân vật, lính, trụ, hiệu ứng

môi trường, va chạm, data SQLite, giao

diện người dùng (Overlay UI)

Nguyễn Đức Trung

Gắn khung xương cho các mô hình nhân

vật, tạo chuyển động cho nhân vật, AI

(trí thông minh nhân tạo), âm thanh, cài

đặt máy quay (camera), quản lý thông

tin người chơi, lính, trụ,…

Cinema4D

2 8 01/09/2014 25/10/2014

Nghiên cứu các vấn đề đặt ra về Unity

và Cinema4D đồng thời xây dựng và

phát triển trò chơi

3 1 27/10/2014 01/11/2014 Viết báo cáo sơ lược các vấn đề nghiên

Trang 27

cứu và chức năng trong trò chơi

4 2 03/11/2014 15/11/2014 Kiểm tra sửa lỗi, thêm các tính năng

cần thiết và hoàn thiện trò chơi

5 1 17/11/2014 22/11/2014 Viết báo cáo chi tiết và kiểm tra logic

trò chơi

Trang 28

CHƯƠNG II: SƠ LƯỢC VỀ UNITY

I GIỚI THIỆU CHUNG

1 Sơ lược về 3D Game Engine

a) Khái niệm:

Một Game Engine là một phần mềm được viết cho mục đích thiết kế và phát triển video Game Chức năng cốt lõi của Game Engine phần lớn nằm trong công cụ dựng hình (kết xuất đồ họa) cho các hình ảnh 2 chiều (2D) hay 3 chiều (3D), công

cụ vật lý (hay công cụ tính toán và phát hiện va chạm), âm thanh, mã nguồn, chuyển động(Animation), trí tuệ nhân tạo, phân luồng, tạo dòng dữ liệu xử lý, quản lý bộ nhớ, dựng ảnh đồ thị, và kết nối mạng Quá trình phát triển Game tiết kiệm được rất nhiều thời gian và kinh phí vào việc tái sử dụng và tái thích ứng một Engine để tạo nhiều Game khác nhau

Game engine cung cấp một bộ các công cụ phát triển trực quan và có thể tái sử dụng từng thành phần trong đó Nói chung các bộ công cụ này cung cấp một môi trường phát triển tích hợp được đơn giản hóa Phát triển ứng dụng nhanh (rapid application development) cho game theo cách lập trình hướng đối tượng Những game engine này đôi khi còn được gọi là các phần mềm trung gian cho game (game middleware), như ý nghĩa của thật ngữ, chúng cung cấp một nền tảng phần mềm linh hoạt và dễ dàng sử dụng lại với mọi chức năng cốt lõi cần thiết ngay trong nó

để có thể phát triển một ứng dụng game đồng thời giảm giá thành, độ phức tạp, và kịp thời hạn phát hành - tất cả các yếu tố quan trọng trong ngành công nghiệp game đầy cạnh tranh

b) So sánh Unity và các Game Engine khác:

Chúng ta thử hình dung một dây chuyền sản xuất máy tính, chúng ta sẽ hình dung được một 3D Game Engine theo cách tương tự 3D Game Engine giúp các chúng ta tạo ra nhân vật, xe cộ, nhà cửa, các yếu tố môi trường (nước, bầu trời, gió, trọng lực…) và liên kết chúng lại với nhau theo ý muốn một cách dễ dàng hơn Vấn

đề là chúng ta chọn Engine nào hay chọn nồi cơm nào tốt nhất cho mình?

Trang 29

Hiện nay có các engine như: Cry engine, Unreal engine, Source engine, Id Tech engine, Unity engine và những cái tên khác như RenderWare engine, Game Bryo engine Các engine mã nguồn mở bao gồm: Orge engine, Panda3D engine, Irrlicht engine…

Vì sao chọn Unity Engine?

Nếu chúng ta có tiền, có nhiều kinh nghiệm, có một nhóm thật sự giỏi, lúc đó chúng ta mới nên nghĩ đến Unreal engine hay Cry engine… Nếu chúng ta muốn xài

mã nguồn mở cho tiết kiệm thì chúng ta phải bù lại nhiều thời gian và sức lực hơn

để tìm hiểu Orge engine, hay Panda engine,… Lựa chọn sáng giá nhất cho các tân binh trong lĩnh vực 3D, có ít kinh nghiệm, ít tiền, nhưng không muốn phải bỏ quá nhiều công sức tìm hiểu lại những gì người ta đã làm là Unity engine

Unity3D là một engine khá mạnh và tương đối dễ sử dụng, mặc dù sinh sau

đẻ muộn nhưng cũng đã chứng tỏ được khả năng và bản lĩnh của mình qua rất nhiều tựa game nổi tiếng đã được phát hành trên nhiều hệ máy (Samurai II: Vengeance, BeGone, Cordy, Max and the Magic Marker, Muffin Knight, Shadow Era, Zombie Wonderland, Zombieville USA, )

Về mặt đồ họa, Unity không so sánh được với Cry engine nhưng như những gì chúng ta thấy trong hình bên cũng quá đủ để thuyết phục cho những mục tiêu sắp tới của chúng ta Unity không đòi hỏi máy cấu hình cao, thêm nữa Unity đặc biệt chú ý đến sự tiện dụng Việc làm game, làm phim 3D sử dụng Unity engine so với các engine còn lại dễ dàng hơn rất nhiều vì phương châm của Unity engine là engine dành cho các người dùng không chuyên Chúng ta có thể kéo thả, kế thừa, viết scripts, tổ chức các thành phần, import – export các tài nguyên (model, texture, mesh, …) đóng gói các đối tượng hoàn chỉnh và chia sẻ nó một cách dễ dàng với Unity engine

Trang 30

2 Sơ lƣợc về Unity 3D

Hình II.1: Logo của Unity Engine

 Nhà phát triển: Unity Technologies

 Phiên bản mới nhất: 4.6 / 26/11/2014

 Ngôn ngữ sử dụng: C#, JavaScript, Boo

 Phát triển Game cho các hệ điều hành: Windows, Mac OS X (tạo và đóng gói), Wii, iPhone/iPad, Xbox 360, Android, PS3 (chỉ đóng gói, cần giấy phép bổ sung cho từng nền tảng)

 Giấy phép: Độc quyền

 Website: www.unity3d.com

Unity là một 3D Game Engine, là một công cụ thiết kế Game đa nền bởi ngoài web, Engine này còn có khả năng hỗ trợ gần nhƣ toàn bộ các nền tảng hiện có nhƣ Playstation 3, Xbox 360, iOS, Android, Windows…

Các Engine làm game phổ biến hiện nay có thể kể đến gồm CryEngine, Frostbite 3, Unreal Engine… Chất lƣợng game làm từ các Engine này thì khỏi phải bàn cãi Dĩ nhiên, giá thành của chúng không hề rẻ Ngoài ra, những Engine này đều đòi hỏi cấu hình máy tính cao ngất ngƣỡng Vì thế, Unity 3D hiển nhiên trở thành Engine đƣợc ƣa chuộng nhất hiện nay

Trang 31

Unity được sự hỗ trợ của Just-In-Time Compilation (JIT), sử dụng thư viện mã nguồn mở C++ Mono Bằng việc sử dụng JIT, những Engine như Unity có thể tận dụng lợi thế của tốc độ biên dịch Những đoạn mã (code) do chúng ta viết sẽ được Unity biên dịch ra Mono trước khi nó được thực thi Điều này rất quan trọng cho Game để thực thi code vào những thời điểm cần thiết trong suốt thời gian chạy (Runtime) Ngoài thư viện Mono, Unity cũng tận dụng chức năng của những thư viện phần mềm khác vào chức năng của nó, như Engine mô phỏng vật lý PhysicX của Nvidia, OpenGL và DirectX cho kết xuất hình ảnh 3D, OpenAL cho âm thanh Tất cả các thư viện này được xây dựng thành những tính năng tự động hoặc công cụ trực quan vào Unity, vì thế chúng ta không cần lo lắng về việc phải học thế nào để

sử dụng chúng một cách riêng lẽ

Unity có một cộng đồng người dùng rất lớn luôn chia sẻ những Plugin, công

cụ của họ dưới hình thức gói phần mềm bổ sung

Có thể sản xuất các trò chơi theo tiêu chuẩn chuyên nghiệp, xuất bản 3D cho

cả máy tính và các thiết bị di động cũng như sở hữu riêng một Web Player của riêng mình, Unity là một trong những Game Engine có tốc độ phát triển nhanh nhất Unity cũng có phiên bản phát triển Game cho hệ máy Wii của Nintendo và Iphone của Apple, có nghĩa là một khi chúng ta làm chủ được những vấn đề cơ bản, không chỉ phát triển Game cho máy tính cá nhân mà chúng ta còn có thể phát triển Game cho các hệ máy console và thiết bị di động

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ềm thiết kế character tưng ứng thì mới dùng đượ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 trong khi design, nó có hỗ trợ hai chế độ là Scene và Game, rất thuận tiện cho việc test thử các module Game

Trang 32

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ì đóng phí

Unity 3D không phải là Engine có đồ họa đỉnh nhất hiện nay nhưng chất lượng hình ảnh, độ mượt mà, tiện lợi hỗ trợ đa nền tảng… chắc chắn giúp những sản phẩm sử dụng Engine này sẽ nhận được nhiều sự ủng hộ

II CÁC ĐẶC ĐIỂM VÀ TÍNH NĂNG CỦA UNITY

1 Rendering (kết xuất hình ảnh)

Unity hỗ trợ Windows đồ họa DirectX 11 API nhằm cải thiện hiệu suất tính toán shaders (bóng của vật thể), trong đó cung cấp khả năng sử dụng GPU như CPU song song và thêm chi tiết phong phú hơn với các mô hình và môi trường thế giới game với tessellation

Hình II.2: Minh họa Rendering

Để tạo nên vẻ hoang dã cho game, unity sử dụng kỷ thuật vượt truớc ánh sáng

để cho ánh sang cao hơn và độ trung thực bóng tối của vật thể

Các phiên bản gần đây nhất của Unity được xây dựng lại thuật toán nhằm cải thiện hiệu suất hình ảnh đồng thời tăng cường chất lượng hình ảnh sau khi kết xuất Một số hỗ trợ:

 Unity cung cấp sẵn 100 Shaders với đầy đủ các loại phổ biến nhất

 Hỗ trợ Surface Shaders, Occlusion Culling, GLSL Optimizer

Trang 33

 Hỗ trợ LOD

 Lighting (ánh sáng)

Ánh sáng là một điều thiết yếu giúp môi trường trở nên đẹp và thực tế hơn Unity cũng cung cấp nhiều giải pháp đa dạng cho phép chúng ta áp dụng ánh sáng một cách tốt nhất vào môi trường trong trò chơi với nhiều loại nguồn sáng như ánh sáng có hướng (Directional Light), ánh sáng điểm (Point Light), Một số công nghệ và kỹ thuật về ánh sáng được Unity hỗ trợ: Lightmapping, Realtime Shadows, hiệu ứng Sunshafts và Lens Flares

2 Terrains (địa hình)

Terrains còn gọi chung là địa hình bao gồm phần đất nền, đồi núi trong môi trường trò chơi mà trên đó các đối tượng như cây, cỏ, các công trình được dựng lên

Hình II.3: Minh họa công cụ tùy chỉnh địa hình

Unity cung cấp một công cụ điều chỉnh địa hình một cách tinh tế với khả năng chạm khắc, nâng hoặc hạ thấp địa hình Bên cạch đó công cụ còn cung cấp các chổi

vẽ (Brush) với các kích thước khác nhau, có nhiều thông số tùy chỉnh để tạo hình và các loại kết cấu (Texture) cấu tạo nên địa hình Cùng với Terrain Tools là Tree Creator, một công cụ mạnh mẽ cho phép chúng ta tạo ra cây cối với hình dạng, kích thước và kiểu cách đa dạng

Trang 34

Hình II.4: Minh họa công cụ tùy chỉnh địa hình

3 Substances (Texture thông minh)

Substances có thể hiểu đơn giản là một dạng tùy biến Textures nhằm làm đa dạng chúng trong nhiều điều kiện môi trường khác nhau Unity cung cấp khả năng này thông qua các API dựng sẵn trong thư viện, hỗ trợ lập trình viên lập trình để tùy biến hình ảnh được kết xuất của Texture

Hình II.5: So sánh giữa Textures và Substance

Trang 35

4 Physics (vật lí)

Hình II.6: Ảnh minh họa va chạm vật lý

PhysX là một Engine mô phỏng và xử lí vật lý cực kỳ mạnh mẽ đƣợc phát triển bởi nhà sản xuất card đồ họa hàng đầu thế giới NVIDIA Unity đã tích hợp Engine này vào để đảm nhận mọi vấn đề vật lý Một số vấn đề vật lý đƣợc hỗ trợ bởi Unity nhƣ: Rigidbody, Ragdolls, Joints, Colliders, Cloths…

Trang 36

Hình II.7: Minh họa giao diện vật lý

5 Artificial Intelligence (trí thông minh nhân tạo)

Từ phiên bản Unity 3.5 tính năng PathFinding (khả năng tìm đường) được thêm vào các đối tượng có trí thông minh nhân tạo Với các phiên bản trước, để phát triển khả năng tìm đường cho trí thông minh nhân tạo (AI), nhà phát triển phải hoàn toàn tự xây dựng cho mình một hệ thống tìm đường riêng biệt Tuy nhiên ở phiên bản 3.5, Unity hỗ trợ cho chúng ta tính năng Pathfinding cho phép tạo ra khả năng tìm đường cho AI nhờ vào khái niệm lưới định hướng (NavMesh)

Với sự hỗ trợ NavMesh obstacles (vật cản trở trên lưới định hướng) của Unity

4, các nhân vật trong game có thể phản ứng lại với những thay đổi của môi trường một cách sinh động

6 Audio (âm thanh)

Unity cung cấp công cụ mạnh mẽ cho những cảnh cộng hưởng âm thanh Trong game âm thanh được hỗ trợ bởi FMOD, một trong những thư viện rộng lớn nhất thế giới và những bộ công cụ cho việc tạo và phát ra âm thanh tích hợp

Trang 37

7 Scripting (lập trình)

Lập trình là một trong những yếu tố quan trọng nhất trong phát triển Game Lập trình cho phép nhà phát triển tạo nên khả năng tương tác, trí thông minh và yếu

tố Gameplay cho trò chơi

Unity cho phép chúng ta lập trình bằng nhiều ngôn ngữ mạnh mẽ và phổ biến với các lập trình viên như: C#, Java Script và Boo

Unity hỗ trợ lập trình viện gỡ rối một cách dễ dàng bằng cách tích hợp đầy đủ trình gỡ rối kịch bản với MonoDevelop cho cả Windows và Mac Logic game dựa trên nền tản OpenSource.net, MonoDevelop được coi như một công cụ với đầy đủ sức mạnh, tốc độ và linh hoạt của một trong những môi trường lập trình hàng đầu thế giới

9 Materials (Vật liệu, nguyên liệu)

Materials là vậy liệu để xây dựng nên các đối tượng trong game Unity cho phép người dùng dễ dàng nhập vật liệu từ bên ngoài Unity có thể tự động nhập các vật liệu được tạo ra trong các gói mô hình 3D và cài đặt chúng như tài nguyên tái sử dụng Người viết game có thể tạo ra vật liệu trong unity hoặc mua trong Asset Store với hàng trăm kết cấu và vật liệu

Trang 38

Hình II.8: Minh họa vật liệu

III CÁC THÀNH PHẦN TRONG UNITY

1 Assets

Assets là những tài nguyên xây dựng nên một dự án Unity Từ những tập tin hình ảnh, kết cấu(Texture), vật liệu(Materials), mô hình 3D đến các tập tin âm thanh Unity gọi các tập tin mà chúng ta dùng để tạo nên trò chơi là tài sản (Assets) Điều này lí giải tại sao tất cả các tập tin, thư mục của các dự án Unity đều được lưu trữ trong một thư mục có tên là “Assets”

Hình II.9: Thư mục Assets trong Unity

2 Scenes

Trong Unity, chúng ta cần hiểu một cảnh (hay một phân đoạn) nghĩa là một màn chơi riêng biệt hoặc một khu vực hay thành phần có trong nội dung của trò chơi (ví dụ như Game menu) Bằng cách tạo nên nhiều Scenes cho trò chơi, chúng

ta có thể phân phối thời gian tải hoặc kiểm tra các phần khác nhau của trò chơi một cách riêng lẽ

Trang 39

Hình II.10: Các Scene

3 Game Object

Khi Assets được sử dụng trong Scene, chúng trở thành Game Object – một thuật ngữ được sử dụng trong Unity (đặc biệt là trong mảng lập trình) Tất cả các Game Object đều chứa ít nhất một thành phần là Transform Transform là thông tin

về vị trí, góc xoay và tỉ lệ của đối tượng, tất cả được mô tả bởi bộ 3 số X, Y, Z trong

hệ trục tọa độ Thành phần này có thể được tùy biến lại trong quá trình lập trình nhằm thay đổi vị trí, góc quay và tỉ lệ của đối tượng qua các đoạn mã Từ các thành phần cơ bản này, chúng ta sẽ tạo ra Game Object với các thành phần khác, bổ sung chức năng cần thiết để xây dựng nên bất kỳ một thành phần nào trong kịch bản Game mà chúng ta đã tưởng tượng

Trang 40

Hình II.11: GameObject trong cửa sổ Hierarchy

4 Components

Components có nhiều hình thức khác nhau Chúng có thể xác định hành vi, cách xuất hiện,… hay ảnh hưởng đến các khía cạnh khác trong chức năng của Game Object trong trò chơi

Bằng cách “gắn” chúng vào trong Game Object, chúng ta ngay lập tức có thể

áp dụng tác động của chúng lên đối tượng Những Components phổ biến trong quá trình phát triển trò chơi đều được Unity hỗ trợ sẵn Ví dụ như thành phần Rigidbody

đã được đề cập hay các yếu tố đơn giản khác như ánh sáng, Camera và nhiều thành phần khác Để tạo nên các yếu tố tương tác trong trò chơi, chúng ta sẽ sử dụng Script (mã kịch bản), chúng cũng được xem như là một Components trong Unity

Ngày đăng: 08/12/2015, 15:35

HÌNH ẢNH LIÊN QUAN

Hình II.6:  Ảnh minh họa va chạm vật lý - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh II.6: Ảnh minh họa va chạm vật lý (Trang 35)
Hình II.18:  Cửa sổ game - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh II.18: Cửa sổ game (Trang 46)
Hình IV.18:  Minh họa bước 2 - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh IV.18: Minh họa bước 2 (Trang 83)
Hình IV.20:  Minh họa bước 4 - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh IV.20: Minh họa bước 4 (Trang 84)
Hình IV.53:  Lưới định hướng trong game - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh IV.53: Lưới định hướng trong game (Trang 110)
Hình IV.63:  Hình minh họa sơ đồ chuyển trạng thái - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh IV.63: Hình minh họa sơ đồ chuyển trạng thái (Trang 118)
Hình IV.73:  Sơ đồ canh đòn đánh cuối diệt địch - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh IV.73: Sơ đồ canh đòn đánh cuối diệt địch (Trang 127)
Hình IV.75:  Sơ đồ tuần tra không có tướng địch và có đồng minh - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh IV.75: Sơ đồ tuần tra không có tướng địch và có đồng minh (Trang 129)
Hình IV.76:  Sơ đồ tuần tra không tướng địch và không có đồng minh - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh IV.76: Sơ đồ tuần tra không tướng địch và không có đồng minh (Trang 130)
Hình IV.77:  Sơ đồ tuần tra có tướng địch và có đồng minh - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh IV.77: Sơ đồ tuần tra có tướng địch và có đồng minh (Trang 131)
Hình IV.78:  Sơ đồ tuần tra có tướng địch và không có đồng minh - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh IV.78: Sơ đồ tuần tra có tướng địch và không có đồng minh (Trang 132)
Hình V.16:  Địa hình từ một góc nhìn - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh V.16: Địa hình từ một góc nhìn (Trang 152)
Hình V.17:  Địa hình dưới góc nhìn từ trên xuống - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh V.17: Địa hình dưới góc nhìn từ trên xuống (Trang 153)
Hình ảnh một số hiệu ứng - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh ảnh một số hiệu ứng (Trang 159)
Hình V.37:  Hình minh họa thành phần NavMeshAgent - nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba
nh V.37: Hình minh họa thành phần NavMeshAgent (Trang 177)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w