內容簡介

涵蓋了整個開發過程,從最初的概念、計划、設計到創建和部署游戲的最后步驟,闡述了Unity新集成的2D工具集,涵蓋了精靈、2D物理、游戲腳本、音頻和動畫等主題。

《Unity2D游戲開發秘籍》自始至終專注於使用最簡單和成本最低的游戲開發方法,依靠免費軟件和游戲資產,《Unity2D游戲開發秘籍》為你提供了開發游戲所需要的一切。

約翰遜(Matthew Johnson),是Firebr and Games公司的3D主美,他已從事游戲開發7年多,制作了十多款AAA級賽車游戲,如雲斯頓賽車(NASCAR)、風火輪賽車(Hot Wheels)和極品飛車系列(Needf or Speed)。他曾在幾乎所有的平台上都發布過游戲,包括PC、Wii—U、iOS、Android和Steam。

James A. Henley,致力於游戲開發十多年,主要產品包括質量效應(Mass Effect)、龍騰世紀(Dragon Age)、星球大戰(Star Wars)和Sky landers。他最初是通過無冬之夜插件社區進入游戲行業。James在Edmonton和Austin工作室工作了8年,期間擔任過各種設計職位。
 

目錄

第1章 設置Unity開發環境 1
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章 了解資產創作 15
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精靈 27
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章 構建游戲世界 37
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章 運動和玩家控制基礎 53
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章 為場景添加動畫 73
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章 設置玩家物理和碰撞器 93
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章 創建和應用玩法系統 107
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章 創建危險和困難 127
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章 創建菜單和界面元素 155
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應用效果 173
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章 組織和優化 201
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章 整合所有內容 221
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 241
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
玩家腳本 251
收集腳本 257
敵人腳本 258
游戲系統腳本 260
GUI腳本 263
危險腳本 268
系統腳本 270
網路書店 類別 折扣 價格
  1. 新書
    87
    $260