Unity游戲設計與實現-南夢宮一線程序員的開發實例-(修訂版) 版權信息
- ISBN:9787115448996
- 條形碼:9787115448996 ; 978-7-115-44899-6
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Unity游戲設計與實現-南夢宮一線程序員的開發實例-(修訂版) 本書特色
本書的作者是日本知名游戲公司萬代南夢宮的資深開發人員,書中通過10個不同類型的游戲實例,展示了真正的游戲設計和實現過程。本書的重點不在于講解Unity的各種功能細節,而在于介紹核心玩法的設計和實現思路。每個實例都從一個idea開始,不斷豐富,進而自然而然地推出各種概念,引導讀者思考必要的數據結構和編程方法。掌握了這些思路,即便換成另外一種引擎,也可以輕松地開發出同類型的游戲。
Unity游戲設計與實現-南夢宮一線程序員的開發實例-(修訂版) 內容簡介
十個典型的開發實例,覆蓋基本游戲類型
1. 怪物——點擊動作游戲
2. 迷你拼圖——拼圖游戲
3. 地牢吞噬者——吃豆游戲
4. In the Dark Water——3D聲音探索游戲
5. 搖滾女孩——節奏游戲
6. 噬星者——全方位滾動射擊游戲
7. 吃月亮——消除動作解謎游戲
8. 貓跳紙窗——跳躍動作游戲
9. 村子里的傳說——角色扮演游戲
10. 迷蹤賽道——駕駛游戲
南夢宮資深開發者執筆,重點講解設計思路和實現細節,公開靈感來源
每個實例都從一個idea開始,不斷豐富,將玩法規則具體化之后,進而規劃各功能模塊,引導你思考必要的數據結構和編程方法,讓你真實感受游戲的完善過程。
詳略得當,風格細膩,附帶完整的工程源碼
結合豐富的插圖,重點解析各類型游戲的實現思路和核心功能,讀者可下載隨書附帶的工程源碼了解游戲的完整實現。部分章節還提供了試驗工程。
修訂版基于Unity5全面升級,并對Unity的重要概念進行了梳理十個典型的開發實例,覆蓋基本游戲類型
1. 怪物——點擊動作游戲
2. 迷你拼圖——拼圖游戲
3. 地牢吞噬者——吃豆游戲
4. In the Dark Water——3D聲音探索游戲
5. 搖滾女孩——節奏游戲
6. 噬星者——全方位滾動射擊游戲
7. 吃月亮——消除動作解謎游戲
8. 貓跳紙窗——跳躍動作游戲
9. 村子里的傳說——角色扮演游戲
10. 迷蹤賽道——駕駛游戲
南夢宮資深開發者執筆,重點講解設計思路和實現細節,公開靈感來源
每個實例都從一個idea開始,不斷豐富,將玩法規則具體化之后,進而規劃各功能模塊,引導你思考必要的數據結構和編程方法,讓你真實感受游戲的完善過程。
詳略得當,風格細膩,附帶完整的工程源碼
結合豐富的插圖,重點解析各類型游戲的實現思路和核心功能,讀者可下載隨書附帶的工程源碼了解游戲的完整實現。部分章節還提供了試驗工程。
修訂版基于Unity5全面升級,并對Unity的重要概念進行了梳理
Unity游戲設計與實現-南夢宮一線程序員的開發實例-(修訂版) 目錄
第0章 游戲開發前的準備 1
0.1 Unity入門 Concept 2
0.1.1 概要 2
0.1.2 游戲對象 3
0.1.3 組件 5
0.1.4 資源 8
0.1.5 流程 10
0.1.6 場景 11
0.1.7 預設 13
0.1.8 小結 16
0.2 先來復習一下Unity的基礎知識吧 Concept 17
0.2.1 腳本一覽 17
0.2.2 本章小節 18
0.2.3 本章開發的小游戲 18
0.3 入門教程(上)——創建項目 Tips 18
0.3.1 概要 18
0.3.2 創建新項目 19
0.3.3 創建地面(創建游戲對象) 20
0.3.4 創建場景,保存項目 21
0.3.5 調整場景視圖的攝像機 23
0.3.6 創建方塊和小球(創建游戲對象并調整坐標) 24
0.3.7 運行游戲 27
0.3.8 攝像機的便捷功能 28
0.3.9 修改游戲對象的名字 28
0.3.10 模擬物理運動(添加Rigidbody組件) 29
0.3.11 讓玩家角色跳起來(添加游戲腳本) 30
0.3.12 修改游戲對象的顏色(創建材質) 35
0.3.13 調整游戲畫面的尺寸(調整播放器設置) 36
0.3.14 小結 38
0.4 入門教程(下)——讓游戲更有趣 Tips 38
0.4.1 概要 38
0.4.2 讓小球飛起來(物理運動和速度) 38
0.4.3 創建大量小球(預設游戲對象) 39
0.4.4 整理項目視圖 41
0.4.5 發射小球(通過腳本創建游戲對象) 43
0.4.6 刪除畫面外的小球(通過腳本刪除游戲對象) 46
0.4.7 防止玩家角色在空中起跳(發生碰撞時的處理) 48
0.4.8 禁止玩家角色旋轉(抑制旋轉) 50
0.4.9 讓玩家角色不被彈開(設置重量) 51
0.4.10 讓小球強烈反彈(設置物理材質) 52
0.4.11 消除“漂浮感”(調整重力大小) 54
0.4.12 調整攝像機的位置 56
0.4.13 修復空中起跳的bug(區分碰撞對象) 57
0.4.14 小結 63
0.5 關于預設 Tips 64
0.5.1 概要 64
0.5.2 改良“小方塊”游戲對象 64
0.5.3 預設與對象實例 65
0.5.4 預設和實例的變更 67
0.5.5 小結 70
0.6 C#和JavaScript的對比 Tips 71
0.6.1 概要 71
0.6.2 類的定義 72
0.6.3 變量的定義 72
0.6.4 函數的定義 73
0.6.5 作用域 74
0.6.6 靜態函數和靜態變量的定義 74
0.6.7 泛型方法的調用 74
0.6.8 Bool類型和字符串類型 75
0.6.9 數組 75
0.6.10 小結 75
第1章 點擊動作游戲——怪物 77
1.1 玩法介紹 How to
Play 78
1.2 簡單的操作和爽快感 Concept 80
1.2.1 腳本一覽 80
1.2.2 本章小節 82
1.3 無限滾動的背景 Tips 82
1.3.1 關聯文件 82
1.3.2 概要 82
1.3.3 背景組件的顯示位置 83
1.3.4 小結 85
1.4 無限滾動的背景的改良 Tips 85
1.4.1 關聯文件 85
1.4.2 概要 86
1.4.3 稍作嘗試 86
1.4.4 背景組件顯示位置的改良 87
1.4.5 小結 89
1.5 怪物出現模式的管理 Tips 89
1.5.1 關聯文件 89
1.5.2 概要 89
1.5.3 怪物出現的時間點 90
1.5.4 怪物出現模式的變化 92
1.5.5 小結 96
1.6 武士和怪物的碰撞檢測 Tips 96
1.6.1 關聯文件 96
1.6.2 概要 96
1.6.3 分別對各個怪物進行碰撞檢測時的問題 97
1.6.4 把怪物編成小組 98
1.6.5 小結 100
1.7 得分高低的判定 Tips 100
1.7.1 概要 100
1.7.2 武士的攻擊判定 100
1.7.3 判斷在多近的距離斬殺 101
1.7.4 小結 104
1.8 使被砍中的怪物向四處飛散 Tips 104
1.8.1 概要 104
1.8.2 想象一下“圓錐體” 104
1.8.3 具體的計算方法 106
1.8.4 小結 108
第2章 拼圖游戲——迷你拼圖 109
2.1 玩法介紹 How to
Play 110
排列拼圖碎片,拼出*后的圖案! 110
2.2 流暢的拖曳操作 Concept 112
2.2.1 腳本一覽 112
2.2.2 本章小節 112
2.3 點住碎片的任意位置拖動 Tips 114
2.3.1 關聯文件 114
2.3.2 概要 114
2.3.3 透視變換和逆透視變換 114
2.3.4 被點擊處即為光標的位置 114
2.3.5 測試拖曳碎片的中心 117
2.3.6 小結 118
2.4 打亂拼圖碎片 Tips 118
2.4.1 關聯文件 118
2.4.2 概要 118
2.4.3 設置拼圖碎片的坐標為隨機數 118
2.4.4 改進策略 119
2.4.5 小結 124
第3章 吃豆游戲——地牢吞噬者 125
3.1 玩法介紹 How to
Play 126
3.2 適時進退和逆轉的機會 Concept 128
3.2.1 腳本一覽 128
3.2.2 本章小節 130
3.3 平滑的網格移動 Tips 130
3.3.1 關聯文件 130
3.3.2 概要 130
3.3.3 能夠改變方向的時機 131
3.3.4 穿過網格的時機 131
3.3.5 小結 133
3.4 地圖數據 Tips 134
3.4.1 關聯文件 134
3.4.2 概要 134
3.4.3 文本文件的格式 134
3.4.4 擴展編輯器的功能 139
3.4.5 小結 141
3.5 攝像機變焦功能的運用 Tips 141
3.5.1 關聯文件 141
3.5.2 概要 141
3.5.3 調整策略 142
3.5.4 攝像機的視野 143
3.5.5 緩動動畫 145
3.5.6 變焦效果的代碼實現 146
3.5.7 小結 149
3.6 幽靈的AI Tips 149
3.6.1 關聯文件 149
3.6.2 概要 149
3.6.3 跟蹤的算法 150
3.6.4 埋伏等待型、包圍攻擊型和隨機型 153
3.6.5 觀察幽靈的行動 155
3.6.6 小結 157
第4章 3D聲音探索游戲——In the Dark Water 159
4.1 玩法介紹 How to
Play 160
4.2 只依靠聲音 Concept 162
4.2.1 腳本一覽 162
4.2.2 本章小節 164
4.3 僅依靠聲音定位 Tips 164
4.3.1 概要 164
4.3.2 3D 聲音的特性 164
4.3.3 用于實驗的項目 166
4.3.4 小結 167
4.4 3D聲音的控制 Tips 167
4.4.1 關聯文件 167
4.4.2 概要 167
4.4.3 3D 聲音的設置 167
4.4.4 按一定間隔發出聲音 168
4.4.5 聲音的淡出 169
4.4.6 小結 170
4.5 潛水艇的操縱 Tips 171
4.5.1 關聯文件 171
4.5.2 概要 171
4.5.3 操作方法 171
4.5.4 轉彎速度的衰減 173
4.5.5 小結 177
4.6 聲納的制作方法 Tips 177
4.6.1 概要 177
4.6.2 Perspective和Ortho 178
4.6.3 Dark Water的聲納攝像機 179
4.6.4 攝像機和對象的層 180
4.6.5 稍作嘗試 183
4.6.6 攝像機的視口 184
4.6.7 小結 185
第5章 節奏游戲——搖滾女孩 187
5.1 玩法介紹 How to
Play 188
5.2 Band-girl的世界 Concept 189
5.2.1 腳本一覽 190
5.2.2 本章小節 190
5.3 顯示點擊時刻的節拍標記 Tips 192
5.3.1 關聯文件 192
5.3.2 概要 192
5.3.3 定位單元 192
5.3.4 標記的顯示 195
5.3.5 小結 198
5.4 判斷是否配合了音樂點擊 Tips 198
5.4.1 關聯文件 198
5.4.2 概要 198
5.4.3 得分高低的判斷 198
5.4.4 避免重復判斷 200
5.4.5 小結 205
5.5 演出數據的管理和執行 Tips 205
5.5.1 關聯文件 205
5.5.2 概要 205
5.5.3 事件數據的檢索 205
5.5.4 定位單元和執行單元 207
5.5.5 小結 211
5.6 其他調整功能 Tips 211
5.6.1 關聯文件 211
5.6.2 概要 211
5.6.3 什么是turn
around 212
5.6.4 顯示時刻的偏移值 212
5.6.5 定位條 214
5.6.6 顯示標記的行號 216
5.6.7 小結 216
第6章 全方位滾動射擊游戲——噬星者 217
6.1 玩法介紹 How to
Play 218
6.2 功能強大的激光制導 Concept 219
6.2.1 腳本一覽 220
6.2.2 本章小節 220
6.3 索敵激光的碰撞檢測 Tips 222
6.3.1 關聯文件 222
6.3.2 概要 222
6.3.3 索敵激光的碰撞檢測 222
6.3.4 碰撞網格的生成方法 224
6.3.5 確認碰撞網格 229
6.3.6 小結 229
6.4 不會重復的鎖定 Tips 230
6.4.1 關聯文件 230
6.4.2 概要 230
6.4.3 鎖定的管理 230
6.4.4 小結 233
6.5 制導激光 Tips 233
6.5.1 關聯文件 233
6.5.2 概要 233
6.5.3 根據TrailRenderer生成網格 233
6.5.4 制導激光的移動 234
6.5.5 稍作嘗試 238
6.5.6 小結 238
6.6 消息窗口 Tips 239
6.6.1 關聯文件 239
6.6.2 概要 239
6.6.3 消息隊列和顯示緩沖區 239
6.6.4 小結 244
第7章 消除動作解謎游戲——吃月亮 245
7.1 玩法介紹 How to
Play 246
7.2 爽快的連鎖和有趣的方塊移動 Concept 248
7.2.1 腳本一覽 248
7.2.2 本章小節 250
7.3 同色方塊相鄰與否的判斷 Tips 250
7.3.1 關聯文件 250
7.3.2 概要 250
7.3.3 連結與連鎖 250
7.3.4 不停地檢測相鄰方塊 251
7.3.5 遞歸調用 253
7.3.6 用于測試連結檢測的項目 256
7.3.7 防止無限循環檢測 257
7.3.8 小結 258
7.4 方塊的初始設置 Tips 259
7.4.1 關聯文件 259
7.4.2 概要 259
7.4.3 顏色的選擇方法 259
7.4.4 隨機選取方塊的擺放位置 262
7.4.5 小結 264
7.5 動畫的父子構造關系 Tips 264
7.5.1 關聯文件 264
7.5.2 概要 264
7.5.3 方塊的運動 264
7.5.4 動畫的父子構造——用于測試的項目 267
7.5.5 《吃月亮》中面板的位置和角度的計算 272
7.5.6 小結 274
7.6 方塊的平滑移動 Tips 274
7.6.1 關聯文件 274
7.6.2 概要 274
7.6.3 數組的索引和畫面上的位置 275
7.6.4 桶列方法 277
7.6.5 小結 280
第8章 跳躍動作游戲——貓跳紙窗 281
8.1 玩法介紹 How to
Play 282
8.2 刺激的跳躍 Concept 284
8.2.1 腳本一覽 284
8.2.2 本章小節 286
8.3 角色的狀態管理 Tips 286
8.3.1 關聯文件 286
8.3.2 概要 286
8.3.3 角色的動作 286
8.3.4 狀態的遷移 287
8.3.5 狀態管理的流程 288
8.3.6 小結 292
8.4 可以控制高度的跳躍 Tips 293
8.4.1 關聯文件 293
8.4.2 概要 293
8.4.3 跳躍的物理規律 293
8.4.4 自由控制跳躍高度的操作 294
8.4.5 小結 297
8.5 窗戶紙的碰撞檢測 Tips 297
8.5.1 關聯文件 297
8.5.2 概要 297
8.5.3 “碰撞”的內部實現機制 297
8.5.4 窗戶對象 299
8.5.5 矛盾的碰撞結果 299
8.5.6 平滑地穿過格子眼 309
8.5.7 小結 312
第9章 角色扮演游戲——村子里的傳說 313
9.1 玩法介紹 How to
Play 314
9.2 移動簡單,人人都是主人公 Concept 316
9.2.1 腳本一覽 316
9.2.2 本章小節 318
9.3 事件和Actor Tips 318
9.3.1 關聯文件 318
9.3.2 概要 318
9.3.3 事件 318
9.3.4 事件的數據結構 322
9.3.5 Actor 324
9.3.6 事件的執行 327
9.3.7 試著執行一個事件 330
9.3.8 小結 332
9.4 游戲內參數 Tips 332
9.4.1 關聯文件 332
9.4.2 概要 332
9.4.3 游戲內參數 332
9.4.4 小結 336
9.5 事件文件的讀取 Tips 336
9.5.1 關聯文件 336
9.5.2 概要 336
9.5.3 文件的讀取 336
9.5.4 小結 340
9.6 特殊的事件 Tips 341
9.6.1 關聯文件 341
9.6.2 概要 341
9.6.3 選項指令 341
9.6.4 寶箱事件 343
9.6.5 進入屋子的事件 345
9.6.6 小結 346
第10章 駕駛游戲——迷蹤賽道 347
10.1 玩法介紹 How to
Play 348
10.2 自行創建,即作即用 Concept 350
10.2.1 腳本一覽 350
10.2.2 本章小節 352
10.2.3 關于Car
Tutorial腳本 352
10.3 透視變換和逆透視變換 Tips 352
10.3.1 關聯文件 352
10.3.2 概要 352
10.3.3 透視變換 353
10.3.4 逆透視變換 355
10.3.5 小結 357
10.4 多邊形網格的生成方法 Tips 358
10.4.1 關聯文件 358
10.4.2 概要 358
10.4.3 生成道路的中心線 359
10.4.4 多邊形的生成方法 361
10.4.5 生成道路多邊形 362
10.4.6 急轉彎時的多邊形重疊 367
10.4.7 用于測試多邊形生成的項目 368
10.4.8 小結 368
10.5 模型的變形 Tips 368
10.5.1 關聯文件 368
10.5.2 概要 368
10.5.3 變形后頂點的位置坐標 369
10.5.4 小結 373
10.6 點綴實例 Tips 373
10.6.1 關聯文件 373
10.6.2 概要 373
10.6.3 生成基準線 374
10.6.4 把樹木設置到基準線上 378
10.6.5 小結 382
后記 383
展開全部
Unity游戲設計與實現-南夢宮一線程序員的開發實例-(修訂版) 作者簡介
加藤政樹就職于日本著名的游戲制造商南夢宮。除產品開發外,還負責公司內部中間件的開發和技術研究、高端項目支持、新游戲的研發等工作。近年來也開始致力于NPR(Non Photorealistic Rendering)的研究。代表作品有Fitness
Party、Muscle March。