Unity 開發案例全書(微課視頻版)

張堯、劉寧寧

  • 出版商: 清華大學
  • 出版日期: 2025-09-01
  • 售價: $419
  • 語言: 簡體中文
  • ISBN: 7302700648
  • ISBN-13: 9787302700647
  • 相關分類: 遊戲引擎 Game-engine
  • 下單後立即進貨 (約4週~6週)

  • Unity 開發案例全書(微課視頻版)-preview-1
  • Unity 開發案例全書(微課視頻版)-preview-2
  • Unity 開發案例全書(微課視頻版)-preview-3
Unity 開發案例全書(微課視頻版)-preview-1

商品描述

"本書深入探討 Unity 在多個領域的應用,包括但不限於實時渲染、交互設計、建築可視化、模擬仿真等。 本書第 1 章為新手提供了詳盡的 Unity 引擎入門知識;第 2 章~第 3 章,通過兩個具體的項目案例,深入 探討了 Unity 在遊戲開發領域的應用;第 4 章~第 11 章,進一步拓展了 Unity 的應用領域,涵蓋了 AR 識物、 VR 項目、答題系統、天氣預報系統、聊天室、換裝遊戲、3D 照片墻以及 ChatGPT 接入等多個項目案例。每個 案例都詳細講解了開發流程、功能實現以及關鍵技術的突破,為讀者提供了豐富的實戰經驗和技能提升機會。 此外,本書關註 Unity 的前沿技術和**發展,介紹**的工具、插件和**實踐,幫助讀者跟上時代的步伐, 不斷提升自己的技能。 本書是一本集理論、實踐與創新於一體的 Unity 開發寶典,無論是 Unity 新手,還是有一定經驗的開發者, 都能從中獲得寶貴的啟示和提升。"

作者簡介

張堯,Unity3D領域優質創作者,精通C#,雲原生入門級開發者認證,助理工程師,CSDN 2022年度博客之星,CSDN博客專家,華為雲雲享專家,InfoQ專家博主,阿裏雲博客專家。

目錄大綱

目 錄 

第 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