Unity 2D遊戲開發秘籍

Unity 2D遊戲開發秘籍

由於Unity強大的功能、持續的改進和驚人的全球社區,Unity是現在世界排名第一的遊戲引擎。使用Unity製作遊戲,只需進行一次設計、編碼,然後就可以將其部署到多個平台,傳遞給海量的玩家,從而獲得最大化的回報。

目錄

第1章 設定Unity開發環境

1.1 歡迎螢幕 1

1.2 Unity界面 2

1.2.1 選單 2

1.2.2 工具列 9

1.2.3 Hierarchy 10

1.2.4 Inspector 10

1.2.5 Project Browser 11

1.2.6 Scene View 12

1.2.7 Game View 13

1.3 小結 13

1.4 練習 14

第2章 了解資產創作

2.1 檔案格式 15

2.1.1 3D格式 15

2.1.2 2D格式 16

2.2 導入資產 16

2.2.1 從Unity內部導入 16

2.2.2 從檔案瀏覽器導入預製資產 17

2.2.3 創建新資產 17

2.3 導入包 18

2.3.1 Unity包 18

2.3.2 定製包 18

2.4 GameObject 19

2.4.1 第一個GameObject 20

2.4.2 創建GameObject 21

2.5 組件 22

2.5.1 創建組件 23

2.5.2 分配組件 23

2.5.3 預設 24

2.6 小結 24

2.7 練習 25

第3章 創建2D精靈

3.1 在2D模式下工作 27

3.1.1 2D行為 28

3.1.2 2D工作區 28

3.2 創建精靈 29

3.2.1 Import Settings 29

3.2.2 Pixels To Units 30

3.2.3 Sprite Editor 30

3.3 精靈打包 32

3.3.1 Packing Tag 33

3.3.2 Sprite Packer 33

3.3.3 額外的Sprite Packing資源 34

3.4 小結 34

3.5 練習 35

第4章 構建遊戲世界

4.1 關卡設計入門 37

4.1.1 設定場景 37

4.1.2 創建路線圖 38

4.1.3 添加細節 39

4.2 四處逛逛我們的場景 39

4.2.1 Scene Gizmo 40

4.2.2 透視與等距 40

4.2.3 攝像機控制 40

4.3 在Unity中操縱對象 41

4.3.1 變換工具 42

4.3.2 Z深度 43

4.3.3 設定 45

4.4 我們的第一個關卡 45

4.4.1 手動定位GameObject 46

4.4.2 使用Snap Settings放置GameObject 47

4.4.3 使用Grid Snapping放置GameObject 47

4.4.4 高效關卡設計 48

4.4.5 添加排序元素 48

4.5 繼續 50

4.6 小結 50

4.7 練習 51

第5章 運動和玩家控制基礎

5.1 在Unity3D中編碼 53

5.1.1 3種語言 53

5.1.2 選擇“正確”的語言 54

5.2 使玩家動起來 54

5.2.1 處理運動的不同方式 54

5.2.2 創建和掛接PlayerController 56

5.3 設定基本的跟隨攝像機 63

5.4 介紹Input Manager 63

5.5 錯誤處理和調試 65

5.5.1 處理異常 65

5.5.2 Try-Catch-Finally——優雅地處理異常 66

5.5.3 Debug.Log() 68

5.5.4 使用斷點暫停代碼執行 68

5.6 小結 71

5.7 練習 71

第6章 為場景添加動畫

6.1 動畫的一些規則 73

6.1.1 動畫原則 73

6.1.2 2D與3D動畫 74

6.1.3 變換與幀動畫 74

6.1.4 腳本動畫 75

6.1.5 導入動畫 76

6.2 創建動畫 76

6.2.1 動畫組件 77

6.2.2 動畫剪輯 77

6.2.3 Animation視窗 78

6.2.4 動畫事件 82

6.3 動畫狀態 83

6.3.1 動畫器控制器 83

6.3.2 動畫器組件 84

6.3.3 Animator視窗 84

6.3.4 編輯玩家控制器 86

6.4 使用狀態機 89

6.4.1 轉換 89

6.4.2 任意狀態 90

6.4.3 混合樹 90

6.5 小結 90

6.6 練習 90

第7章 設定玩家物理和碰撞器

7.1 了解物理學 93

7.1.1 質量 93

7.1.2 重力 94

7.1.3 力 94

7.2 2D與3D 94

7.2.1 6DoF 94

7.2.2 Z深度 94

7.2.3 旋轉 95

7.3 Physics 2D Settings 95

7.3.1 通用物理設定 95

7.3.2 圖層碰撞矩陣 96

7.4 剛體 97

7.5 碰撞器 98

7.5.1 Circle Collider 98

7.5.2 Box Collider 99

7.5.3 Edge Collider 99

7.5.4 Polygon Collider 99

7.6 物理材質 100

7.7 約束 101

7.8 小結 105

7.9 練習 105

第8章 創建和套用玩法系統

8.1 Unity的觸發器體

(Trigger Volume) 107

8.1.1 Trigger2D函式 107

8.1.2 為GameObject添加觸發器組件 108

8.2 創建檢查點 108

8.2.1 為Checkpoint Component編寫腳本 108

8.2.2 調整檢查點觸發器的尺寸和位置 109

8.3 使用檢查點與重生 111

8.3.1 準備Pit觸發器體(Trigger Volume) 111

8.3.2 為Pit觸發器組件編寫腳本 112

8.4 創建收集物品 114

8.4.1 為收集物品準備浮動硬幣預設 115

8.4.2 為CoinPickup組件編寫腳本 115

8.4.3 為收集物品準備彈出硬幣預設 116

8.4.4 準備硬幣盒預設 117

8.4.5 為硬幣盒組件編寫腳本 119

8.4.6 為CoinSpawner組件編寫腳本 120

8.4.7 整合遊戲 121

8.4.8 少許最佳化 122

8.5 跟蹤玩家的統計 123

8.6 小結 125

8.7 練習 125

第9章 創建危險和困難

9.1 創建第一個敵人 127

9.1.1 準備Slime敵人GameObject 127

9.1.2 繼承和EnemyController組件 128

9.1.3 為敵人Slime組件編寫腳本 129

9.1.4 為關卡添加牆壁 131

9.1.5 處理與其他Slime的碰撞 132

9.1.6 為Slime添加動畫 133

9.2 處理傷害 134

9.2.1 在PlayerStats組件編寫腳本傷害 134

9.2.2 創建傷害觸發器 135

9.2.3 穿過玩家的空間 136

9.2.4 為Pit添加傷害 137

9.2.5 添加受到傷害後暫時免疫 138

9.2.6 免疫視覺表現,古典辦法 140

9.3 處理玩家死亡 142

9.4 擴展平台 143

9.4.1 準備移動平台預設 143

9.4.2 編寫Flight Point組件腳本 144

9.5 創建第二種敵人 146

9.5.1 準備Fly敵人GameObject 146

9.5.2 將動畫添加到Fly 147

9.5.3 編寫FlyController組件的腳本 148

9.5.4 調整FlightPoints腳本 149

9.6 維護敵人部署 150

9.6.1 準備出生觸發器 151

9.6.2 編寫出生觸發器組件的腳本 151

9.7 淺談挑戰 153

9.8 小結 153

9.9 練習 153

第10章 創建選單和界面元素

10.1 UI設計 155

10.1.1 diegetic 155

10.1.2 non-diegetic 156

10.1.3 meta 156

10.1.4 spatial 156

10.2 Unity原生(Native)GUI 156

10.2.1 GUI Style(樣式) 157

10.2.2 GUI Skin 157

10.2.3 GUI控制項 158

10.2.4 Compound Controls(複合控制項) 158

10.2.5 GUI Class 158

10.2.6 GUI Layout 159

10.2.7 GUI Text 159

10.2.8 GUI Texture 159

10.3 創建閃屏 160

10.4 標題螢幕 161

10.5 遊戲結束螢幕 162

10.6 遊戲勝利螢幕 163

10.7 HUD 164

10.7.1 創建視覺 165

10.7.2 創建腳本 166

10.8 小結 172

10.9 練習 172

第11章 為GameObjects套用效果

11.1 Shuriken粒子系統介紹 173

11.1.1 術語解析 173

11.1.2 創建粒子系統 174

11.2 粒子系統的模組和屬性 175

11.2.1 粒子系統基本屬性 175

11.2.2 其他粒子系統模組 176

11.2.3 粒子系統曲線 176

11.3 給遊戲添加粒子特效 177

11.3.1 為硬幣箱創建粒子特效 177

11.3.2 連線硬幣箱粒子特效 179

11.3.3 為傷害創造粒子特效 180

11.3.4 通過代碼調用Damage Particle System 182

11.3.5 粒子小樂趣 183

11.4 Unity的音頻系統 183

11.4.1 音頻源組件 184

11.4.2 音頻監聽器組件 185

11.4.3 音頻混響區組件 186

11.5 為玩家添加聲音 186

11.5.1 為行走循環添加腳步聲 186

11.5.2 為跳躍事件添加聲音 188

11.5.3 為傷害事件添加聲音 189

11.6 為收集系統添加聲音 191

11.6.1 為硬幣箱使用音效 191

11.6.2 為收集硬幣添加聲音 191

11.7 套用些許最佳化 192

11.7.1 改進攝像機 192

11.7.2 改進玩家死亡 195

11.8 小結 199

11.9 練習 199

第12章 組織和最佳化

12.1 組織資產 201

12.1.1 組織預設 202

12.1.2 標籤 202

12.1.3 層次 203

12.2 組織腳本和代碼 205

12.2.1 組織腳本檔案 206

12.2.2 組織代碼 206

12.3 最佳化 213

12.3.1 預設 213

12.3.2 物理學 214

12.3.3 繪製調用 215

12.3.4 三角形數量 216

12.3.5 批處理 217

12.3.6 Rendering Statistics視窗 217

12.4 小結 218

12.5 練習 218

第13章 整合所有內容

13.1 把關卡連線在一起 221

13.1.1 準備勝利觸發器預設 221

13.1.2 創建勝利觸發器腳本 223

13.1.3 獲取硬幣值 225

13.2 連線“介紹”螢幕 226

13.3 贏或輸:重回遊戲 228

13.3.1 從遊戲結束恢復 228

13.3.2 勝利後從頭開始 230

13.4 生成和部署遊戲 231

13.4.1 Web Player的Build Settings 232

13.4.2 PC、Mac和Linux Build Settings 232

13.4.3 跨平台播放器的設定 233

13.4.4 Web Player的Player Settings 233

13.4.5 正確設定遊戲 234

13.4.6 生成Web Player的遊戲 235

13.4.7 將遊戲部署到Web 235

13.4.8 部署後 235

13.5 前進 236

13.5.1 打磨遊戲的注意事項 236

13.5.2 貨幣化 236

13.6 最後的話 238

第14章 UGUI

14.1 UGUI組件 241

14.2 創建示例界面 242

14.2.1 Canvas組件 243

14.2.2 Rect Transform 245

14.2.3 UI Rect工具 247

14.2.4 添加Mask組件 248

14.2.5 Event System和事件觸發器 248

14.3 小結 249

附錄 JavaScript代碼示例

玩家腳本 251

收集腳本 257

敵人腳本 258

遊戲系統腳本 260

GUI腳本 263

危險腳本 268

系統腳本 270

相關詞條

熱門詞條

聯絡我們