Unity 開發案例全書(微課視頻版)
張堯、劉寧寧
- 出版商: 清華大學
- 出版日期: 2025-09-01
- 售價: $419
- 語言: 簡體中文
- ISBN: 7302700648
- ISBN-13: 9787302700647
-
相關分類:
遊戲引擎 Game-engine
下單後立即進貨 (約4週~6週)
商品描述
作者簡介
目錄大綱
目 錄
第 1 章 進入Unity的世界 ······················ 1
視頻講解:13 分鐘
1.1初識 Unity 引擎 ································· 1
1.1.1 Unity 簡介 ······························ 1
1.1.2 Unity 歷史沿革 ························ 2
1.1.3 Unity 應用領域 ························ 4
1.2 Unity 的配置與運行 ························· 10
1.2.1 Unity Hub 的下載和安裝 ·········· 10
1.2.2 Unity Hub 的授權與激活 ·········· 12
1.2.3 Unity 的下載和安裝 ················ 15
1.2.4 Unity 的中文漢化 ··················· 18
1.3 運行 Unity 程序 ······························· 20
1.3.1 新建 Unity 項目 ····················· 20
1.3.2 打開 Unity 項目 ····················· 22
1.3.3 運行 Unity 項目 ····················· 23
1.3.4 編寫 Hello World 程序 ············· 23
代碼 1-1 用 Unity 編寫 Hello World 程序 ······························· 26
1.3.5 初識 Unity 的 API ··················· 27
代碼 1-2 Awake 函數的使用 ············· 28
代碼 1-3 Update、FixedUpdate、 LateUpdate 函數的調用順序 ··· 29
1.3.6 課後習題 ······························ 30
1.4 Unity 編輯器簡介 ···························· 30
1.4.1 窗口布局 ······························ 30
1.4.2 菜單欄 ································· 35
1.4.3 工具欄 ································· 40
1.4.4 工作視圖 ······························ 41
1.4.5 重要概念 ······························ 44
第 2 章 使用Unity制作2D遊戲(《2048》遊戲實現) ················· 47
視頻講解:10 分鐘
2.1 遊戲玩法與目標······························· 48
2.1.1 核心玩法 ······························ 48
2.1.2 玩家目標 ······························ 48
2.2 設計思路 ········································ 48
2.2.1 分析規則 ······························ 48
2.2.2 分析實現 ······························ 49
2.3 實現過程 ········································ 49
2.3.1 新建項目 ······························ 49
2.3.2 導入資源 ······························ 50
2.3.3 素材處理 ······························ 51
2.3.4 實現代碼 ······························ 53
代碼 2-1 創建背景 ························· 54
代碼 2-2 修改 Card.cs 腳本 ··············· 55
代碼 2-3 修改 GameManager.cs 腳本 ··· 56
代碼 2-4 在 GameManager 腳本 添加 CreateCard 函數··········· 57
代碼 2-5 MoveUp 函數 ···················· 58
代碼 2-6 MoveDown 函數 ················ 59
代碼 2-7 MoveLeft 函數 ··················· 60
代碼 2-8 MoveRight 函數 ················· 61
2.4 總結及習題 ····································· 62
2.4.1 本章小結 ······························ 62
2.4.2 課後習題 ······························ 62
第 3 章 使用Unity制作3D遊戲(《3D迷宮探險》) ··················· 63
視頻講解:6 分鐘
3.1 遊戲簡介 ········································ 63
3.1.1 玩法介紹 ······························ 63
3.1.2 關鍵要素 ······························ 64
3.2 設計思路 ········································ 64
3.2.1 需求分析 ······························ 64
3.2.2 設計實現 ······························ 64
3.3 實現過程 ······································· 64
3.3.1 新建項目 ······························ 64
3.3.2 導入資源 ······························ 65
3.3.3 搭建場景 ······························ 66
3.3.4 設置出入口 ··························· 68
3.3.5 添加角色 ······························ 68
3.3.6 實現角色移動 ························ 69
代碼 3-1 實現角色移動 ··················· 69
3.3.7 出入口邏輯 ··························· 71
代碼 3-2 出入口邏輯 ······················ 71
3.4 總結及習題 ···································· 72
3.4.1 本章小結 ······························ 72
3.4.2 課後習題 ······························ 72
第 4 章 使用 Unity 實現AR識物(接入 SDK) ··························· 73
視頻講解:23 分鐘
4.1 AR 技術 ········································ 73
4.1.1 AR 簡介 ······························· 74
4.1.2 AR 的特點 ···························· 74
4.1.3 AR 的應用領域 ······················ 74
4.1.4 AR 的工作原理 ······················ 75
4.2 實現過程 ······································· 75
4.2.1 獲取 EasyAR 的 Key ················ 75
4.2.2 下載 EasyAR 的 SDK ··············· 77
4.2.3 新建項目 ······························ 78
4.2.4 導入 EasyAR 的 SDK ··············· 79
4.2.5 快速入門 ······························ 80
4.2.6 實現 AR 交互 ························ 86
代碼 4-1 顏色切換控制腳本實現 ······· 87
4.3 總結及習題 ···································· 88
4.3.1 本章小結 ······························ 88
4.3.2 課後習題 ······························ 88
第 5 章 使用Unity制作VR項目(拆解案例) ··························· 89
視頻講解:20 分鐘
5.1 VR 技術 ········································ 89
5.1.1 應用簡介 ······························ 89
5.1.2 應用方向 ······························ 90
5.2 場景搭建制作 ·································· 90
5.2.1 新建項目 ······························ 90
5.2.2 導入資源 ······························ 91
5.3 實現過程 ········································ 92
5.3.1 搭建場景 ······························ 92
5.3.2 制作飛機尾翼火焰噴射特效 ······ 96
5.3.3 實現飛機飛行 ······················ 100
代碼 5-1 AircraftMove.cs 腳本 ········· 101
5.3.4 搭建零件拆解場景 ················ 102
5.3.5 實現飛機零件拆解 ················ 103
代碼 5-2 實現飛機零件拆解 ··········· 104
代碼 5-3 實現動畫移動 ················· 105
5.4 總結及習題 ··································· 106
5.4.1 本章小結 ···························· 106
5.4.2 課後習題 ···························· 107
第 6 章 使用Unity實現答題系統 ··········· 108
視頻講解:11 分鐘
6.1 應用簡介 ······································ 108
6.1.1 核心組成部分 ······················ 108
6.1.2 應用領域 ···························· 109
6.2 分析實現 ······································ 109
6.2.1 功能分析 ···························· 109
6.2.2 實現分析 ···························· 109
6.3 實現過程 ······································ 110
6.3.1 新建項目 ···························· 110
6.3.2 準備題庫 ···························· 110
6.3.3 搭建 UI ································111
6.3.4 讀取文檔 ···························· 112
代碼 6-1 讀取文檔 ······················· 112
6.3.5 加載題目 ···························· 113
代碼 6-2 加載題目 ······················· 113
6.3.6 實現按鈕功能 ······················ 116
代碼 6-3 實現按鈕功能 ················· 116
6.3.7 判斷題目對錯 ······················ 118
代碼 6-4 完整的 AnswerControl.cs 腳本 ······························ 119
6.4 總結及習題 ··································· 123
6.4.1 本章小結 ····························· 123
6.4.2 課後習題 ····························· 123
第 7 章 使用Unity實現天氣預報系統 ····································· 124
視頻講解:26 分鐘
7.1 應用簡介 ······································ 124
7.1.1 應用特點 ····························· 124
7.1.2 應用功能 ····························· 125
7.2 設計思路 ······································ 125
7.2.1 功能分析 ····························· 125
7.2.2 實現分析 ····························· 125
7.3 實現過程 ······································ 126
7.3.1 新建項目 ····························· 126
7.3.2 搭建 UI ······························· 127
7.3.3 獲取位置信息 ······················· 127
代碼 7-1 獲取位置信息 ·················· 127
代碼 7-2 位置信息解析類 ··············· 129
7.3.4 將城市名字轉換為城市代碼編號 ··································· 130
代碼 7-3 獲取城市代碼編號 ············ 131
代碼 7-4 城市代碼編號解析類 ········· 132
7.3.5 獲取天氣信息 ······················· 132
代碼 7-5 獲取天氣信息 ·················· 132
代碼 7-6 天氣信息解析類 ··············· 134
代碼 7-7 整體代碼 ························ 136
7.3.6 數據展示 ····························· 140
代碼 7-8 聲明變量 ························ 140
代碼 7-9 將數據顯示到 UI 上 ·········· 141
7.4 總結及習題 ··································· 144
7.4.1 本章小結 ····························· 144
7.4.2 課後習題 ····························· 145
第 8 章 使用Unity實現聊天室 ············· 146
視頻講解:15 分鐘
8.1 應用簡介 ······································ 146
8.1.1 功能概述 ····························· 146
8.1.2 技術實現要點 ······················· 147
8.2 Socket 編程 ··································· 147
8.2.1 Socket 簡介·························· 147
8.2.2 Socket 的基本函數················· 148
8.2.3 Socket 中 TCP 的三次握手 ······ 150
8.3 實現過程 ······································ 151
8.3.1 搭建 UI ······························· 152
8.3.2 編寫服務器端代碼 ················ 153
代碼 8-1 在 MessageData 腳本中設置消息協議 ························ 155
代碼 8-2 修改 ClientController.cs 腳本內容 ······························ 155
代碼 8-3 修改 Program.cs 腳本,設置服務器端的主要參數 ········· 158
8.3.3 編寫客戶端代碼 ··················· 159
代碼 8-4 客戶端連接程序代碼 ········ 160
代碼 8-5 Chat UI Controller.cs 腳本 ··· 163
8.3.4 聊天室運行 ························· 166
8.4 總結及習題 ··································· 168
8.4.1 本章小結 ···························· 168
8.4.2 課後習題 ···························· 168
第 9 章 使用Unity實現換裝遊戲 ··········· 169
視頻講解:62 分鐘
9.1 應用簡介 ······································ 169
9.1.1 功能概述 ···························· 169
9.1.2 換裝方式 ···························· 170
9.1.3 換裝原理 ···························· 170
9.2 實現分析 ······································ 170
9.2.1 流程分析 ···························· 170
9.2.2 模型的基本結構 ··················· 170
9.3 實現過程 ······································ 172
9.3.1 場景搭建 ···························· 172
9.3.2 模型設置 ···························· 174
9.3.3 換裝資源加載及數據保存 ······· 177
代碼 9-1 換裝資源加載 ················· 177
9.3.4 換裝邏輯實現 ······················ 179
代碼 9-2 實現換裝邏輯 ················· 179
9.3.5 增加換裝資源 ······················ 182
代碼 9-3 加載男孩的換裝資源 ········ 183
9.3.6 搭建 UI ······························· 186
9.3.7 按鈕事件綁定 ······················· 189
代碼 9-4 修改 AvatarSys.cs 腳本實現按鈕事件 ························ 189
代碼 9-5 實現按鈕事件綁定 ············ 194
9.4 總結及習題 ··································· 197
9.4.1 本章小結 ····························· 197
9.4.2 課後習題 ····························· 197
第 10 章 使用Unity實現3D照片墻 ········ 198
視頻講解:9 分鐘
10.1 應用簡介 ···································· 198
10.1.1 應用概述 ························· 198
10.1.2 應用場景 ························· 199
10.1.3 設計思路 ························· 199
10.2 實現過程 ···································· 199
10.2.1 新建項目 ························· 199
10.2.2 搭建場景 ························· 200
10.2.3 實現 3D 照片墻 ················· 202
代碼 10-1 設置 Image 的位置 ········ 202
代碼 10-2 實現圖片的左右拖動 ····· 204
10.2.4 效果展示 ························· 207
10.3 總結及習題 ································· 208
10.3.1 本章小結 ························· 208
10.3.2 課後習題 ························· 209
第 11 章 使用Unity實現接入ChatGPT ····························· 210
視頻講解:20 分鐘
11.1 ChatGPT ····································· 210
11.1.1 ChatGPT 簡介 ··················· 210
11.1.2 應用場景 ························· 211
11.1.3 設計思路 ························· 211
11.2 實現過程 ···································· 211
11.2.1 新建項目 ························· 211
11.2.2 獲取ChatGPT的請求 key ···· 212
11.2.3 創建網絡請求 ··················· 213
代碼 11-1 定義向 ChatGPT 發送的信息的數據結構 ··········· 213
代碼 11-2 定義從 ChatGPT 返回的 信息的數據結構 ··········· 213
代碼 11-3 使用 UnityWebRequest 發送 Post 請求 ·············· 214
代碼 11-4 自定義驗證類 ·············· 215
代碼 11-5 請求 ChatGPT 並返回 數據及數據結構代碼 ····· 215
11.2.4 顯示回答 ························· 222
11.2.5 實現 ChatGPT 聊天功能 ······ 222
代碼 11-6 對話歷史存檔功能 ········ 222
11.2.6 運行程序 ························· 228
11.3 總結及習題 ································· 229
11.3.1 本章小結 ························· 229
11.3.2 課後習題 ························· 229