Unity游戲引擎是由Unity Technologies公司開發的一個讓玩家輕松創建諸如三維視頻游戲、建築可視化、實時三維動畫等內容的跨平台綜合游戲開發工具。當前很多熱門的游戲(比如Temple Run)都是使用Unity開發的。
本書采用直觀易懂的方法,為零基礎的讀者講解了游戲開發的基本知識,並通過4個完整的游戲示例來演示Unity游戲開發的方法和技巧。
本書分為24章,其內容包括Unity簡介、創建和使用游戲對象、高效使用Unity圖形資源管線、在3D對象上應用着色器和紋理、利用Unity的地形和環境工具集來生成逼真的游戲世界、使用預制件(prefabs)快速創建可重用的游戲對象、創建直觀的游戲用戶界面、使用Unity的Shuriken離子系統創建游戲特效、充分使用Unity全新的Mecanim動畫系統、在游戲中集成2D/3D環境音效、使用移動設備加速計和多觸摸顯示屏、將桌面游戲移植道移動平台上,以及部署游戲。
本書適合對使用Unity進行游戲開發感興趣的零基礎讀者學習;有過其他游戲平台開發經驗,打算向Unity平台轉移的讀者也可以通過本書迅速上手。
Mike Geig既是一位經驗豐富的教師,也是一位經驗豐富的游戲開發人員,他在這兩個領域都具有很深的造詣。Mike目前在斯塔克州立學院和克利夫蘭藝術學院講授游戲設計和開發,他還擔任Unity Technologies的屏幕錄制師,並且是Unity的Learn(學習)部門的成員。他的Pearson視頻Game Development Essentials with Unity 4
LiveLessons是關於Unity的非常重要的作品。Mike曾經激情洋溢,並在Facebook上具有超過100萬的「同黨」。
目錄
第1章 Unity簡介1
1.1 安裝Unity1
1.2 開始認識Unity編輯器4
1.2.1 Project對話框4
1.2.2 Unity界面5
1.2.3 Project視圖7
1.2.4 Hierarchy視圖9
1.2.5 Inspector視圖10
1.2.6 Scene視圖11
1.2.7 Game視圖13
1.2.8 致敬:工具欄14
1.3 導航Unity的Scene視圖15
1.3.1 Hand工具15
1.3.2 Flythrough模式16
1.4 小結16
1.5 問與答17
1.6 測驗17
1.6.1 問題17
1.6.2 答案17
1.6.3 練習17
第2章 游戲對象19
2.1 維度和坐標系統19
2.1.1 在3D中放入一個維度19
2.1.2 使用坐標系統20
2.1.3 世界坐標與局部坐標21
2.2 游戲對象22
2.3 變換23
2.3.1 平移23
2.3.2 旋轉24
2.3.3 縮放25
2.3.4 變換的風險26
2.3.5 變換和嵌套的對象27
2.4 小結27
2.5 問與答27
2.6 測驗27
2.6.1 問題28
2.6.2 答案28
2.6.3 練習28
第3章 模型、材質和紋理29
3.1 模型的基礎知識29
3.1.1 內置的3D對象30
3.1.2 導入模型31
3.1.3 模型和Asset Store32
3.2 紋理、着色器和材質33
3.2.1 紋理34
3.2.2 着色器35
3.2.3 材質35
3.2.4 再論着色器36
3.3 小結38
3.4 問與答38
3.5 測驗38
3.5.1 問題38
3.5.2 答案38
3.5.3 練習39
第4章 地形40
4.1 地形生成40
4.1.1 在項目中添加地形40
4.1.2 高度圖雕刻42
4.1.3 Unity地形雕刻工具44
4.2 地形紋理46
4.2.1 導入地形資源46
4.2.2 紋理化地形47
4.3 小結49
4.4 問與答49
4.5 測驗49
4.5.1 問題49
4.5.2 答案49
4.5.3 練習50
第5章 環境51
5.1 生成樹木和青草51
5.1.1 繪制樹木51
5.1.2 繪制青草53
5.1.3 地形設置55
5.2 環境效果56
5.2.1 天空盒56
5.2.2 把天空盒添加給攝像機57
5.2.3 把天空盒添加到場景中57
5.2.4 霧58
5.2.5 鏡頭光暈58
5.2.6 水59
5.3 角色控制器60
5.3.1 添加角色控制器60
5.3.2 修正游戲世界62
5.4 小結62
5.5 問與答62
5.6 測驗62
5.6.1 問題63
5.6.2 答案63
5.6.3 練習63
第6章 燈光和攝像機64
6.1 燈光64
6.1.1 點光源65
6.1.2 聚光燈66
6.1.3 定向燈光67
6.1.4 利用對象創建燈光68
6.1.5 暈輪68
6.1.6 Cookie69
6.2 攝像機71
6.2.1 攝像機的具體分析71
6.2.2 多部攝像機72
6.2.3 拆分屏幕和圖片中的圖片73
6.3 圖層75
6.3.1 處理圖層75
6.3.2 使用圖層76
6.4 小結78
6.5 問與答78
6.6 測驗78
6.6.1 問題78
6.6.2 答案79
6.6.3 練習79
第7章 第1款游戲:Amazing Racer80
7.1 設計80
7.1.1 理念81
7.1.2 規則81
7.1.3 需求82
7.2 創建游戲世界82
7.2.1 雕刻游戲世界82
7.2.2 添加環境83
7.2.3 角色控制器84
7.3 游戲化84
7.3.1 添加游戲控制對象85
7.3.2 添加腳本87
7.3.3 把腳本連接在一起88
7.4 游戲測試89
7.5 小結90
7.6 問與答90
7.7 測驗90
7.7.1 問題91
7.7.2 答案91
7.7.3 練習91
第8章 編寫 第1部分的腳本92
8.1 腳本93
8.1.1 創建腳本93
8.1.2 附加腳本95
8.1.3 一個基本腳本的詳細分析96
8.2 變量98
8.2.1 創建變量98
8.2.2 變量作用域99
8.2.3 公共和私有99
8.3 運算符100
8.3.1 算術運算符100
8.3.2 賦值運算符101
8.3.3 相等性運算符101
8.3.4 邏輯運算符102
8.4 條件語句103
8.4.1 if語句103
8.4.2 if/else語句104
8.4.3 if/else if語句104
8.5 迭代106
8.5.1 while循環106
8.5.2 for循環106
8.6 小結107
8.7 問與答107
8.8 測驗108
8.8.1 問題108
8.8.2 答案108
8.8.3 練習108
第9章 編寫 第2部分的腳本109
9.1 方法109
9.1.1 方法的具體分析110
9.1.2 編寫方法112
9.2 輸入114
9.2.1 輸入的基礎知識114
9.2.2 編寫輸入腳本115
9.2.3 特定的鍵輸入116
9.2.4 鼠標輸入117
9.3 訪問局部組件118
9.4 訪問其他對象119
9.4.1 查找其他對象119
9.4.2 修改對象組件122
9.5 小結122
9.6 問與答123
9.7 測驗123
9.7.1 問題123
9.7.2 答案123
9.7.3 練習124
第10章 碰撞125
10.1 剛體125
10.2 碰撞126
10.2.1 碰撞器127
10.2.2 物理材質129
10.3 觸發器130
10.4 光線投射131
10.5 小結133
10.6 問與答133
10.7 測驗134
10.7.1 問題134
10.7.2 答案134
10.7.3 練習134
第11章 第2款游戲:Chaos Ball135
11.1 設計135
11.1.1 理念136
11.1.2 規則136
11.1.3 需求136
11.2 舞台136
11.2.1 創建舞台137
11.2.2 紋理化138
11.2.3 超級彈性材質139
11.2.4 完成舞台140
11.3 游戲實體140
11.3.1 玩家140
11.3.2 混亂球141
11.3.3 彩球142
11.4 控制對象143
11.4.1 球門143
11.4.2 游戲控制器145
11.5 改進游戲147
11.6 小結147
11.7 問與答147
11.8 測驗148
11.8.1 問題148
11.8.2 答案148
11.8.3 練習148
第12章 預設149
12.1 預設的基礎知識149
12.1.1 預設的術語150
12.1.2 預設的結構150
12.2 處理預設151
12.2.1 向場景中添加預設實例153
12.2.2 繼承154
12.2.3 中斷預設155
12.3 通過代碼實例化預設156
12.4 小結156
12.5 問與答156
12.6 測驗157
12.6.1 問題157
12.6.2 答案157
12.6.3 練習157
第13章 圖形用戶界面159
13.1 GUI的基礎知識159
13.2 GUI控件161
13.2.1 標簽162
13.2.2 方框162
13.2.3 按鈕163
13.2.4 重復按鈕163
13.2.5 切換開關164
13.2.6 工具欄164
13.2.7 文本框165
13.2.8 文本區166
13.2.9 滑塊166
13.3 自定義167
13.3.1 GUI樣式167
13.3.2 GUI皮膚170
13.4 小結172
13.5 問與答172
13.6 測驗172
13.6.1 問題172
13.6.2 答案
13.6.3 練習
第14章 角色控制器
14.1 角色控制器
14.1.1 添加角色控制器
14.1.2 角色控制器的屬性
14.2 用於角色控制器的腳本
14.2.1控制器腳本編程
14.2.2 CollisionFlags
14.2.3 碰撞
14.3 構建控制器
14.3.1 初始設置
14.3.2 運動
14.3.3 重力
14.3.4 跳躍
14.3.5 推動對象
14.3.6 完整的代碼清單
14.4 小結
14.5 問與答
14.6 測驗
14.6.1 問題
14.6.2 答案
14.6.3 練習
第15章 第3款游戲:Captain Blaster
15.1 設計
15.1.1 理念
15.1.2 規則
15.1.3 需求
15.2 游戲世界
15.2.1 攝像機
15.2.2 背景
15.2.3 游戲實體
15.2.4 玩家
15.2.5 流星
15.2.6 子彈
15.2.7 觸發器
15.3 控制
15.3.1 游戲控制
15.3.2 流星腳本
15.3.3 流星再生
15.3.4 觸發器腳本
15.3.5 玩家腳本
15.3.6 子彈腳本
15.4 改進
15.5 小結
15.6 問與答
15.7 測驗
15.7.1 問題
15.7.2 答案
15.7.3 練習
第16章 粒子系統
16.1 粒子系統
16.1.1 粒子
16.1.2 Unity粒子系統
16.1.3 粒子系統控制選項
16.2 粒子系統模塊
16.2.1 默認模塊
16.2.2 Emission模塊
16.2.3 Shape模塊
16.2.4 Velocity over Lifetime模塊
16.2.5 Limit Velocity over Lifetime模塊
16.2.6 Force over Lifetime模塊
16.2.7 Color over Lifetime模塊
16.2.8 Color by Speed模塊
16.2.9 Size over Lifetime模塊
16.2.10 Size by Speed模塊
16.2.11 Rotation over Lifefime模塊
16.2.12 Rotation by Speed模塊
16.2.13 External Forces模塊
16.2.14 Collision模塊
16.2.15 Sub Emitter模塊
16.2.16 Texture Sheet模塊
16.2.17 Renderer模塊
16.3 曲線編輯器
16.4 小結
16.5 問與答
16.6 測驗
16.6.1 問題
16.6.2 答案
16.6.3 練習
……
第17章 動回
第18章 動畫器
第19章 第4款游戲:Gauntlet Runner
第20章 音頻
第21章 移動開發
第22章 游戲修改
第23章 潤色和部署
第24章 結束語
1.1 安裝Unity1
1.2 開始認識Unity編輯器4
1.2.1 Project對話框4
1.2.2 Unity界面5
1.2.3 Project視圖7
1.2.4 Hierarchy視圖9
1.2.5 Inspector視圖10
1.2.6 Scene視圖11
1.2.7 Game視圖13
1.2.8 致敬:工具欄14
1.3 導航Unity的Scene視圖15
1.3.1 Hand工具15
1.3.2 Flythrough模式16
1.4 小結16
1.5 問與答17
1.6 測驗17
1.6.1 問題17
1.6.2 答案17
1.6.3 練習17
第2章 游戲對象19
2.1 維度和坐標系統19
2.1.1 在3D中放入一個維度19
2.1.2 使用坐標系統20
2.1.3 世界坐標與局部坐標21
2.2 游戲對象22
2.3 變換23
2.3.1 平移23
2.3.2 旋轉24
2.3.3 縮放25
2.3.4 變換的風險26
2.3.5 變換和嵌套的對象27
2.4 小結27
2.5 問與答27
2.6 測驗27
2.6.1 問題28
2.6.2 答案28
2.6.3 練習28
第3章 模型、材質和紋理29
3.1 模型的基礎知識29
3.1.1 內置的3D對象30
3.1.2 導入模型31
3.1.3 模型和Asset Store32
3.2 紋理、着色器和材質33
3.2.1 紋理34
3.2.2 着色器35
3.2.3 材質35
3.2.4 再論着色器36
3.3 小結38
3.4 問與答38
3.5 測驗38
3.5.1 問題38
3.5.2 答案38
3.5.3 練習39
第4章 地形40
4.1 地形生成40
4.1.1 在項目中添加地形40
4.1.2 高度圖雕刻42
4.1.3 Unity地形雕刻工具44
4.2 地形紋理46
4.2.1 導入地形資源46
4.2.2 紋理化地形47
4.3 小結49
4.4 問與答49
4.5 測驗49
4.5.1 問題49
4.5.2 答案49
4.5.3 練習50
第5章 環境51
5.1 生成樹木和青草51
5.1.1 繪制樹木51
5.1.2 繪制青草53
5.1.3 地形設置55
5.2 環境效果56
5.2.1 天空盒56
5.2.2 把天空盒添加給攝像機57
5.2.3 把天空盒添加到場景中57
5.2.4 霧58
5.2.5 鏡頭光暈58
5.2.6 水59
5.3 角色控制器60
5.3.1 添加角色控制器60
5.3.2 修正游戲世界62
5.4 小結62
5.5 問與答62
5.6 測驗62
5.6.1 問題63
5.6.2 答案63
5.6.3 練習63
第6章 燈光和攝像機64
6.1 燈光64
6.1.1 點光源65
6.1.2 聚光燈66
6.1.3 定向燈光67
6.1.4 利用對象創建燈光68
6.1.5 暈輪68
6.1.6 Cookie69
6.2 攝像機71
6.2.1 攝像機的具體分析71
6.2.2 多部攝像機72
6.2.3 拆分屏幕和圖片中的圖片73
6.3 圖層75
6.3.1 處理圖層75
6.3.2 使用圖層76
6.4 小結78
6.5 問與答78
6.6 測驗78
6.6.1 問題78
6.6.2 答案79
6.6.3 練習79
第7章 第1款游戲:Amazing Racer80
7.1 設計80
7.1.1 理念81
7.1.2 規則81
7.1.3 需求82
7.2 創建游戲世界82
7.2.1 雕刻游戲世界82
7.2.2 添加環境83
7.2.3 角色控制器84
7.3 游戲化84
7.3.1 添加游戲控制對象85
7.3.2 添加腳本87
7.3.3 把腳本連接在一起88
7.4 游戲測試89
7.5 小結90
7.6 問與答90
7.7 測驗90
7.7.1 問題91
7.7.2 答案91
7.7.3 練習91
第8章 編寫 第1部分的腳本92
8.1 腳本93
8.1.1 創建腳本93
8.1.2 附加腳本95
8.1.3 一個基本腳本的詳細分析96
8.2 變量98
8.2.1 創建變量98
8.2.2 變量作用域99
8.2.3 公共和私有99
8.3 運算符100
8.3.1 算術運算符100
8.3.2 賦值運算符101
8.3.3 相等性運算符101
8.3.4 邏輯運算符102
8.4 條件語句103
8.4.1 if語句103
8.4.2 if/else語句104
8.4.3 if/else if語句104
8.5 迭代106
8.5.1 while循環106
8.5.2 for循環106
8.6 小結107
8.7 問與答107
8.8 測驗108
8.8.1 問題108
8.8.2 答案108
8.8.3 練習108
第9章 編寫 第2部分的腳本109
9.1 方法109
9.1.1 方法的具體分析110
9.1.2 編寫方法112
9.2 輸入114
9.2.1 輸入的基礎知識114
9.2.2 編寫輸入腳本115
9.2.3 特定的鍵輸入116
9.2.4 鼠標輸入117
9.3 訪問局部組件118
9.4 訪問其他對象119
9.4.1 查找其他對象119
9.4.2 修改對象組件122
9.5 小結122
9.6 問與答123
9.7 測驗123
9.7.1 問題123
9.7.2 答案123
9.7.3 練習124
第10章 碰撞125
10.1 剛體125
10.2 碰撞126
10.2.1 碰撞器127
10.2.2 物理材質129
10.3 觸發器130
10.4 光線投射131
10.5 小結133
10.6 問與答133
10.7 測驗134
10.7.1 問題134
10.7.2 答案134
10.7.3 練習134
第11章 第2款游戲:Chaos Ball135
11.1 設計135
11.1.1 理念136
11.1.2 規則136
11.1.3 需求136
11.2 舞台136
11.2.1 創建舞台137
11.2.2 紋理化138
11.2.3 超級彈性材質139
11.2.4 完成舞台140
11.3 游戲實體140
11.3.1 玩家140
11.3.2 混亂球141
11.3.3 彩球142
11.4 控制對象143
11.4.1 球門143
11.4.2 游戲控制器145
11.5 改進游戲147
11.6 小結147
11.7 問與答147
11.8 測驗148
11.8.1 問題148
11.8.2 答案148
11.8.3 練習148
第12章 預設149
12.1 預設的基礎知識149
12.1.1 預設的術語150
12.1.2 預設的結構150
12.2 處理預設151
12.2.1 向場景中添加預設實例153
12.2.2 繼承154
12.2.3 中斷預設155
12.3 通過代碼實例化預設156
12.4 小結156
12.5 問與答156
12.6 測驗157
12.6.1 問題157
12.6.2 答案157
12.6.3 練習157
第13章 圖形用戶界面159
13.1 GUI的基礎知識159
13.2 GUI控件161
13.2.1 標簽162
13.2.2 方框162
13.2.3 按鈕163
13.2.4 重復按鈕163
13.2.5 切換開關164
13.2.6 工具欄164
13.2.7 文本框165
13.2.8 文本區166
13.2.9 滑塊166
13.3 自定義167
13.3.1 GUI樣式167
13.3.2 GUI皮膚170
13.4 小結172
13.5 問與答172
13.6 測驗172
13.6.1 問題172
13.6.2 答案
13.6.3 練習
第14章 角色控制器
14.1 角色控制器
14.1.1 添加角色控制器
14.1.2 角色控制器的屬性
14.2 用於角色控制器的腳本
14.2.1控制器腳本編程
14.2.2 CollisionFlags
14.2.3 碰撞
14.3 構建控制器
14.3.1 初始設置
14.3.2 運動
14.3.3 重力
14.3.4 跳躍
14.3.5 推動對象
14.3.6 完整的代碼清單
14.4 小結
14.5 問與答
14.6 測驗
14.6.1 問題
14.6.2 答案
14.6.3 練習
第15章 第3款游戲:Captain Blaster
15.1 設計
15.1.1 理念
15.1.2 規則
15.1.3 需求
15.2 游戲世界
15.2.1 攝像機
15.2.2 背景
15.2.3 游戲實體
15.2.4 玩家
15.2.5 流星
15.2.6 子彈
15.2.7 觸發器
15.3 控制
15.3.1 游戲控制
15.3.2 流星腳本
15.3.3 流星再生
15.3.4 觸發器腳本
15.3.5 玩家腳本
15.3.6 子彈腳本
15.4 改進
15.5 小結
15.6 問與答
15.7 測驗
15.7.1 問題
15.7.2 答案
15.7.3 練習
第16章 粒子系統
16.1 粒子系統
16.1.1 粒子
16.1.2 Unity粒子系統
16.1.3 粒子系統控制選項
16.2 粒子系統模塊
16.2.1 默認模塊
16.2.2 Emission模塊
16.2.3 Shape模塊
16.2.4 Velocity over Lifetime模塊
16.2.5 Limit Velocity over Lifetime模塊
16.2.6 Force over Lifetime模塊
16.2.7 Color over Lifetime模塊
16.2.8 Color by Speed模塊
16.2.9 Size over Lifetime模塊
16.2.10 Size by Speed模塊
16.2.11 Rotation over Lifefime模塊
16.2.12 Rotation by Speed模塊
16.2.13 External Forces模塊
16.2.14 Collision模塊
16.2.15 Sub Emitter模塊
16.2.16 Texture Sheet模塊
16.2.17 Renderer模塊
16.3 曲線編輯器
16.4 小結
16.5 問與答
16.6 測驗
16.6.1 問題
16.6.2 答案
16.6.3 練習
……
第17章 動回
第18章 動畫器
第19章 第4款游戲:Gauntlet Runner
第20章 音頻
第21章 移動開發
第22章 游戲修改
第23章 潤色和部署
第24章 結束語
網路書店
類別
折扣
價格
-
新書87折$256