本書分實戰項目篇與開發理論篇。其中,開發理論篇,從初學者容易入門的角度分為上部分(1~14章)與下部分(15~29章)。上部分內容包括游戲歷史與Unity發展概述、Unity界面與3D模型入門、Unity地形光源音頻系統、腳本基礎、GUI、3D模型與動畫制作等;下部分內容包括3D數學、圖形學、粒子系統、Mecanim動畫系統、導航尋路、項目研發優化策略、游戲移植與手指觸控技術、光照烘焙、UGUI等。
劉化君:南京工程學院通信學院院長、教授,電子工業出版社優秀作者。長期從事「計算機網絡與通信」的教學與科研工作。主持完成江蘇省高校自然科學基金項目3項,以及多項省市重點計算機網絡項目;發表學術論文60余篇,出版著作和教材16部。獲國家級教學成果二等獎1項,山東省教育廳科技進步獎著作二等獎1項。
目錄
實戰項目篇
項目一 瘋狂酷跑: 跑酷類實戰項目
1. 游戲背景
2. 功能介紹
3. 技術架構
項目二 生化危機: 射擊類實戰項目
1. 游戲背景
2. 功能介紹
3. 技術架構
開發理論篇上部分
第1章 游戲歷史與Unity發展概述
1.1 「錢途」無限的游戲開發領域
1.1.1 Unity版本快速迭代升級
1.1.2 Unity 技術應用范圍
1.1.3 強大的跨平台性
1.2 電子游戲發展史
1.3 游戲引擎與Unity的發展歷程
1.3.1 什麼是游戲引擎
1.3.2 游戲引擎的功能
1.3.3 為什麼需要使用游戲引擎
1.3.4 游戲引擎的發展
1.3.5 Unity 游戲引擎的特點
1.3.6 Unity游戲引擎的主要特性
1.3.7 Unity 游戲引擎的發展歷史
1.4 Unity安裝
1.4.1 Unity 下載與安裝
1.4.2 Unity 的資源商店(Asset Store)
第2章 Unity 界面與3D模型入門
2.1 了解Unity編輯器界面
2.1.1 掌握Unity 編輯器的布局與調整
2.1.2 了解Unity 編輯器各個重要視圖與作用
2.2 3D模型入門操作
2.2.1 3D 模型的位移旋轉與縮放
2.2.2 3D模型操作快捷方式
2.2.3 選擇3D模型的「正」方向
2.2.4 使用屬性窗口進行精確調整
2.3 開發Unity 「Hello World」
Unity3D/2D游戲開發零基礎到精通目錄2.4 本章練習與總結
第3章 3D模型基礎
3.1 Unity 編輯器進一步講解
3.1.1 Unity菜單
3.1.2 項目(Project)視圖
3.1.3 場景(Scene)視圖
3.1.4 視圖顯示模式
3.1.5 場景視圖的查看與導航
3.2 世界、局部與左手坐標系
3.2.1 現實世界的「世界坐標」與「局部坐標」
3.2.2 演示兩種坐標的差異
3.2.3 使用腳本方式演示差異
3.2.4 什麼是「左手坐標系」
3.2.5 使用控制台(Console)窗口進行代碼調試
3.3 腳本知識入門
3.3.1 鍵盤與鼠標輸入代碼
3.3.2 環繞旋轉
3.4 小項目開發: 地球環繞太陽旋轉
3.5 本章練習與總結
3.6 案例開發任務
第4章 地形編輯器
4.1 創建基本地形
4.1.1 繪制貼圖紋理
4.1.2 制作各種地形
4.1.3 種植樹木與花草
4.2 觀察虛擬世界
4.3 擴展地形編輯
4.4 本章練習與總結
4.5 案例開發任務
第5章 光源
5.1 概述
5.2 光源的分類與重要參數
5.3 典型光源場景制作
5.4 本章練習與總結
5.5 案例開發任務
第6章 音頻
6.1 概述
6.2 音頻剪輯屬性
6.3 音頻監聽與音頻源組件
6.4 音頻混響器與濾波器組件
6.5 本章練習與總結
6.6 案例開發任務
第7章 Unity腳本程序基礎
7.1 Unity 腳本編輯器介紹
7.1.1 什麼是.Net 框架
7.1.2 什麼是Mono 與MonoDevelop
7.1.3 什麼是Visual Studio
7.2 腳本程序基礎
7.2.1 建立腳本的重要注意事項
7.2.2 項目工程分層設計
7.2.3 如何更改腳本模版
7.3 Unity 重要腳本函數
7.3.1 Unity事件函數
7.3.2 Untiy重要核心類學習
7.3.3 GameObject 類
7.3.4 MonoBehaviour類
7.3.5 Transform類
7.3.6 Time類
7.4 本章練習與總結
7.5 案例開發任務
第8章 GUI
8.1 概述
8.2 GUI腳本控件
8.3 GUILayout自動布局
8.4 幀的概念
8.5 繪制貼圖
8.6 GUI皮膚
8.7 本章練習與總結
8.8 案例開發任務
第9章 3D模型與動畫制作
9.1 概述
9.2 3DMax 軟件基本使用
9.3 3D模型尺寸單位設置
9.4 3DMax 模型制作與導出Unity流程
9.5 模型導出丟失貼圖問題
9.6 3D文字的制作與動畫
9.7 角色Legacy 動畫
9.8 Animation 動畫工具
9.9 自定義資源包的導入與導出
9.1 0本章練習與總結
9.1 1案例開發任務
第10章 物理學模擬(初級)
10.1 概述
10.2 剛體與碰撞體
10.3 物理材質
10.4 腳本控制剛體
10.5 本章練習與總結
10.6 案例開發任務
第11章 碰撞體與觸發器
11.1 概述
11.2 碰撞體的分類與作用
11.3 碰撞檢測事件函數
11.4 觸發檢測事件函數
11.5 本章練習與總結
11.6 案例開發任務
第12章 協程與調用函數
12.1 協程定義與功能
12.2 調用函數定義與功能
12.3 協程與調用函數的區別與適用范圍
12.4 本章練習與總結
12.5 案例開發任務
第13章 數據傳值技術
13.1 概述
13.2 SendMessage 簡單傳值
13.3 SendMessage 高級傳值
13.4 本章練習與總結
13.5 案例開發任務
第14章 Unity核心類與腳本生命周期
14.1 概述
14.2 GameObject 核心類
14.3 Transform核心類
14.4 Time核心類
14.5 MonoBehaviour核心類
14.6 Unity腳本生命周期
14.6.1 Unity 事件函數調用順序
14.6.2 事件函數禁用與啟用規律
14.7 Unity偽多線程揭秘
14.8 Unity 重要應用類
14.9 Unity 輸入管理器
14.10 本章練習與總結
14.11 案例開發任務
開發理論篇下部分
第15章 3D數學與3D圖形學
15.1 3D數學
15.1.1 坐標系統
15.1.2 向量
15.2 3D圖形學
15.3 Unity 3D圖形渲染
15.3.1 網格過濾器(Mesh Fillter)
15.3.2 網格渲染器(Mesh Renderer)
15.3.3 蒙皮網格渲染器(Skinned Mesh Renderer)
15.4 貼圖
15.4.1 二維貼圖
15.4.2 立方體貼圖(Cubemap)
15.4.3 視頻貼圖
15.4.4 渲染貼圖
15.5 材質
15.5.1 材質球
15.5.2 材質球屬性
15.5.3 材質球分類
15.6 着色器(Shader)
15.6.1 概述
15.6.2 基本原理:圖形渲染管線
15.6.3 着色器的分類與基本結構
15.6.4 固定渲染管線着色器
15.6.5 表面着色器
15.7 本章練習與總結
第16章 物理學模擬(高級)
16.1 鉸鏈關節
16.2 彈簧關節
16.3 固定關節
16.4 角色關節
16.5 布料模擬
16.6 本章練習與總結
第17章 粒子系統
17.1 概述
17.2 基本粒子組件屬性
17.3 基本粒子系統示例
17.4 Unity內置粒子系統包
17.5 粒子系統的腳本調用方式
17.6 本章練習與總結
第18章 Mecanim 動畫系統
18.1 概述
18.2 制作Mecanim 動畫系統
18.2.1 步驟1:制作Avatar替身
18.2.2 步驟2:設置動畫狀態機(Animator Controller)
18.2.3 步驟3:設置動畫循環
18.2.4 步驟4:使用代碼控制角色動畫
18.3 融合術技術
18.4 動畫層與身體蒙版
18.5 動畫復用技術
18.6 本章練習與總結
第19章 導航尋路
19.1 基本導航尋路
19.2 斜坡與跳躍
19.3 使用OffMeshLink 組件
19.4 網格分層
19.5 Nav mesh Obstacle組件
19.6 本章練習與總結
第20章 項目研發常用優化策略
20.1 遮擋剔除(Occlusion Culling)
20.2 層級細節(LOD)
20.3 項目調優工具數據分析器(Profiler)
20.4 項目優化策略
20.4.1 項目優化之Draw Call
20.4.2 項目優化之模型與圖像方面
20.4.3 項目優化之光照與攝像機方面
20.4.4 項目優化之程序優化方面
20.4.5 項目優化之Unity系統設置方面
20.4.6 項目優化之良好開發與使用習慣
20.5 本章練習與總結
第21章 Unity 游戲移植與手指觸控識別
21.1 JDK 安裝與環境參數配置
21.1.1 下載與安裝JDK
21.1.2 設置JDK 環境
21.2 Android 虛擬機的安裝與配置
21.2.1 下載 Android SDK
21.2.2 更新環境變量
21.2.3 配置 Android SDK 的API版本
21.2.4 配置Android SDK(模擬器)
21.2.5 啟動Android SDK (模擬器)
21.3 Unity相應配置
21.4 手指觸控識別
21.4.1 手指觸控API
21.4.2 手指觸控常見方式
21.5 本章練習與總結
第22章 光照烘焙技術
22.1 概述
22.2 靜態光照烘焙(Lightmapping)
22.3 燈光探測器 (Light Probes)
22.4 本章練習與總結
第23章 UGUI界面開發技術
23.1 概述
23.2 UGUI基礎控件
23.2.1 Canvas畫布控件
23.2.2 EventSystem控件
23.2.3 Panel 控件
23.2.4 Text控件
23.2.5 Image控件
23.2.6 Button控件
23.2.7 Button事件系統
23.3 Anchor錨點與屏幕自適應
23.4 UGUI高級控件
23.4.1 Toggle控件
23.4.2 Slider控件
23.4.3 Scrollbar控件
23.4.4 Scroll Rect 復合控件
23.4.5 TabPage標簽頁面
23.5 本章練習與總結
第24章 軟件重構思想
24.1 軟件重構的重要性
24.2 項目示例
24.3 本章練習與總結
第25章 射線
25.1 射線概述
25.2 項目示例講解
25.2.1 射擊場景開發
25.2.2 角色尋路開發
25.3 本章練習與總結
第26章 數據持久化技術
26.1 PlayerPrefs持久化技術
26.2 XML持久化技術
26.3 本章練習與總結
第27章 預加載與對象緩沖池技術
27.1 概述
27.2 簡單對象緩沖池技術
27.3 高級對象緩沖池技術
27.4 本章練習與總結
第28章 Unity2D
28.1 概述
28.2 項目示例講解
28.3 本章練習與總結
第29章 網絡基礎與資源動態加載技術
29.1 網絡概述
29.2 多線程技術
29.2.1 多線程的定義
29.2.2 多線程的優先級
29.2.3 多線程的狀態控制
29.2.4 多線程的線程同步
29.3 Socket(套接字)技術
29.3.1 網絡基礎知識
29.3.2 Socket定義
29.3.3 面向連接的Socket
29.3.4 無連接的Socket
29.3.5 同步Socket
29.3.6 異步Socket
29.4 網絡下載WWW類
29.5 資源動態加載AssetBundle技術
29.6 本章練習與總結
附錄A 全國Unity游戲研發職位筆試面試真題集錦
A.1 :算法題庫集錦
A.2 :C#語言基礎題庫集錦
A.3 :Unity基礎理論題庫集錦
A.4 :Unity實踐類題庫集錦
A.5 :邏輯推理/智力題庫集錦
附錄B Unity開發常見錯誤與分析
附錄C 游戲開發職位簡歷模板
項目一 瘋狂酷跑: 跑酷類實戰項目
1. 游戲背景
2. 功能介紹
3. 技術架構
項目二 生化危機: 射擊類實戰項目
1. 游戲背景
2. 功能介紹
3. 技術架構
開發理論篇上部分
第1章 游戲歷史與Unity發展概述
1.1 「錢途」無限的游戲開發領域
1.1.1 Unity版本快速迭代升級
1.1.2 Unity 技術應用范圍
1.1.3 強大的跨平台性
1.2 電子游戲發展史
1.3 游戲引擎與Unity的發展歷程
1.3.1 什麼是游戲引擎
1.3.2 游戲引擎的功能
1.3.3 為什麼需要使用游戲引擎
1.3.4 游戲引擎的發展
1.3.5 Unity 游戲引擎的特點
1.3.6 Unity游戲引擎的主要特性
1.3.7 Unity 游戲引擎的發展歷史
1.4 Unity安裝
1.4.1 Unity 下載與安裝
1.4.2 Unity 的資源商店(Asset Store)
第2章 Unity 界面與3D模型入門
2.1 了解Unity編輯器界面
2.1.1 掌握Unity 編輯器的布局與調整
2.1.2 了解Unity 編輯器各個重要視圖與作用
2.2 3D模型入門操作
2.2.1 3D 模型的位移旋轉與縮放
2.2.2 3D模型操作快捷方式
2.2.3 選擇3D模型的「正」方向
2.2.4 使用屬性窗口進行精確調整
2.3 開發Unity 「Hello World」
Unity3D/2D游戲開發零基礎到精通目錄2.4 本章練習與總結
第3章 3D模型基礎
3.1 Unity 編輯器進一步講解
3.1.1 Unity菜單
3.1.2 項目(Project)視圖
3.1.3 場景(Scene)視圖
3.1.4 視圖顯示模式
3.1.5 場景視圖的查看與導航
3.2 世界、局部與左手坐標系
3.2.1 現實世界的「世界坐標」與「局部坐標」
3.2.2 演示兩種坐標的差異
3.2.3 使用腳本方式演示差異
3.2.4 什麼是「左手坐標系」
3.2.5 使用控制台(Console)窗口進行代碼調試
3.3 腳本知識入門
3.3.1 鍵盤與鼠標輸入代碼
3.3.2 環繞旋轉
3.4 小項目開發: 地球環繞太陽旋轉
3.5 本章練習與總結
3.6 案例開發任務
第4章 地形編輯器
4.1 創建基本地形
4.1.1 繪制貼圖紋理
4.1.2 制作各種地形
4.1.3 種植樹木與花草
4.2 觀察虛擬世界
4.3 擴展地形編輯
4.4 本章練習與總結
4.5 案例開發任務
第5章 光源
5.1 概述
5.2 光源的分類與重要參數
5.3 典型光源場景制作
5.4 本章練習與總結
5.5 案例開發任務
第6章 音頻
6.1 概述
6.2 音頻剪輯屬性
6.3 音頻監聽與音頻源組件
6.4 音頻混響器與濾波器組件
6.5 本章練習與總結
6.6 案例開發任務
第7章 Unity腳本程序基礎
7.1 Unity 腳本編輯器介紹
7.1.1 什麼是.Net 框架
7.1.2 什麼是Mono 與MonoDevelop
7.1.3 什麼是Visual Studio
7.2 腳本程序基礎
7.2.1 建立腳本的重要注意事項
7.2.2 項目工程分層設計
7.2.3 如何更改腳本模版
7.3 Unity 重要腳本函數
7.3.1 Unity事件函數
7.3.2 Untiy重要核心類學習
7.3.3 GameObject 類
7.3.4 MonoBehaviour類
7.3.5 Transform類
7.3.6 Time類
7.4 本章練習與總結
7.5 案例開發任務
第8章 GUI
8.1 概述
8.2 GUI腳本控件
8.3 GUILayout自動布局
8.4 幀的概念
8.5 繪制貼圖
8.6 GUI皮膚
8.7 本章練習與總結
8.8 案例開發任務
第9章 3D模型與動畫制作
9.1 概述
9.2 3DMax 軟件基本使用
9.3 3D模型尺寸單位設置
9.4 3DMax 模型制作與導出Unity流程
9.5 模型導出丟失貼圖問題
9.6 3D文字的制作與動畫
9.7 角色Legacy 動畫
9.8 Animation 動畫工具
9.9 自定義資源包的導入與導出
9.1 0本章練習與總結
9.1 1案例開發任務
第10章 物理學模擬(初級)
10.1 概述
10.2 剛體與碰撞體
10.3 物理材質
10.4 腳本控制剛體
10.5 本章練習與總結
10.6 案例開發任務
第11章 碰撞體與觸發器
11.1 概述
11.2 碰撞體的分類與作用
11.3 碰撞檢測事件函數
11.4 觸發檢測事件函數
11.5 本章練習與總結
11.6 案例開發任務
第12章 協程與調用函數
12.1 協程定義與功能
12.2 調用函數定義與功能
12.3 協程與調用函數的區別與適用范圍
12.4 本章練習與總結
12.5 案例開發任務
第13章 數據傳值技術
13.1 概述
13.2 SendMessage 簡單傳值
13.3 SendMessage 高級傳值
13.4 本章練習與總結
13.5 案例開發任務
第14章 Unity核心類與腳本生命周期
14.1 概述
14.2 GameObject 核心類
14.3 Transform核心類
14.4 Time核心類
14.5 MonoBehaviour核心類
14.6 Unity腳本生命周期
14.6.1 Unity 事件函數調用順序
14.6.2 事件函數禁用與啟用規律
14.7 Unity偽多線程揭秘
14.8 Unity 重要應用類
14.9 Unity 輸入管理器
14.10 本章練習與總結
14.11 案例開發任務
開發理論篇下部分
第15章 3D數學與3D圖形學
15.1 3D數學
15.1.1 坐標系統
15.1.2 向量
15.2 3D圖形學
15.3 Unity 3D圖形渲染
15.3.1 網格過濾器(Mesh Fillter)
15.3.2 網格渲染器(Mesh Renderer)
15.3.3 蒙皮網格渲染器(Skinned Mesh Renderer)
15.4 貼圖
15.4.1 二維貼圖
15.4.2 立方體貼圖(Cubemap)
15.4.3 視頻貼圖
15.4.4 渲染貼圖
15.5 材質
15.5.1 材質球
15.5.2 材質球屬性
15.5.3 材質球分類
15.6 着色器(Shader)
15.6.1 概述
15.6.2 基本原理:圖形渲染管線
15.6.3 着色器的分類與基本結構
15.6.4 固定渲染管線着色器
15.6.5 表面着色器
15.7 本章練習與總結
第16章 物理學模擬(高級)
16.1 鉸鏈關節
16.2 彈簧關節
16.3 固定關節
16.4 角色關節
16.5 布料模擬
16.6 本章練習與總結
第17章 粒子系統
17.1 概述
17.2 基本粒子組件屬性
17.3 基本粒子系統示例
17.4 Unity內置粒子系統包
17.5 粒子系統的腳本調用方式
17.6 本章練習與總結
第18章 Mecanim 動畫系統
18.1 概述
18.2 制作Mecanim 動畫系統
18.2.1 步驟1:制作Avatar替身
18.2.2 步驟2:設置動畫狀態機(Animator Controller)
18.2.3 步驟3:設置動畫循環
18.2.4 步驟4:使用代碼控制角色動畫
18.3 融合術技術
18.4 動畫層與身體蒙版
18.5 動畫復用技術
18.6 本章練習與總結
第19章 導航尋路
19.1 基本導航尋路
19.2 斜坡與跳躍
19.3 使用OffMeshLink 組件
19.4 網格分層
19.5 Nav mesh Obstacle組件
19.6 本章練習與總結
第20章 項目研發常用優化策略
20.1 遮擋剔除(Occlusion Culling)
20.2 層級細節(LOD)
20.3 項目調優工具數據分析器(Profiler)
20.4 項目優化策略
20.4.1 項目優化之Draw Call
20.4.2 項目優化之模型與圖像方面
20.4.3 項目優化之光照與攝像機方面
20.4.4 項目優化之程序優化方面
20.4.5 項目優化之Unity系統設置方面
20.4.6 項目優化之良好開發與使用習慣
20.5 本章練習與總結
第21章 Unity 游戲移植與手指觸控識別
21.1 JDK 安裝與環境參數配置
21.1.1 下載與安裝JDK
21.1.2 設置JDK 環境
21.2 Android 虛擬機的安裝與配置
21.2.1 下載 Android SDK
21.2.2 更新環境變量
21.2.3 配置 Android SDK 的API版本
21.2.4 配置Android SDK(模擬器)
21.2.5 啟動Android SDK (模擬器)
21.3 Unity相應配置
21.4 手指觸控識別
21.4.1 手指觸控API
21.4.2 手指觸控常見方式
21.5 本章練習與總結
第22章 光照烘焙技術
22.1 概述
22.2 靜態光照烘焙(Lightmapping)
22.3 燈光探測器 (Light Probes)
22.4 本章練習與總結
第23章 UGUI界面開發技術
23.1 概述
23.2 UGUI基礎控件
23.2.1 Canvas畫布控件
23.2.2 EventSystem控件
23.2.3 Panel 控件
23.2.4 Text控件
23.2.5 Image控件
23.2.6 Button控件
23.2.7 Button事件系統
23.3 Anchor錨點與屏幕自適應
23.4 UGUI高級控件
23.4.1 Toggle控件
23.4.2 Slider控件
23.4.3 Scrollbar控件
23.4.4 Scroll Rect 復合控件
23.4.5 TabPage標簽頁面
23.5 本章練習與總結
第24章 軟件重構思想
24.1 軟件重構的重要性
24.2 項目示例
24.3 本章練習與總結
第25章 射線
25.1 射線概述
25.2 項目示例講解
25.2.1 射擊場景開發
25.2.2 角色尋路開發
25.3 本章練習與總結
第26章 數據持久化技術
26.1 PlayerPrefs持久化技術
26.2 XML持久化技術
26.3 本章練習與總結
第27章 預加載與對象緩沖池技術
27.1 概述
27.2 簡單對象緩沖池技術
27.3 高級對象緩沖池技術
27.4 本章練習與總結
第28章 Unity2D
28.1 概述
28.2 項目示例講解
28.3 本章練習與總結
第29章 網絡基礎與資源動態加載技術
29.1 網絡概述
29.2 多線程技術
29.2.1 多線程的定義
29.2.2 多線程的優先級
29.2.3 多線程的狀態控制
29.2.4 多線程的線程同步
29.3 Socket(套接字)技術
29.3.1 網絡基礎知識
29.3.2 Socket定義
29.3.3 面向連接的Socket
29.3.4 無連接的Socket
29.3.5 同步Socket
29.3.6 異步Socket
29.4 網絡下載WWW類
29.5 資源動態加載AssetBundle技術
29.6 本章練習與總結
附錄A 全國Unity游戲研發職位筆試面試真題集錦
A.1 :算法題庫集錦
A.2 :C#語言基礎題庫集錦
A.3 :Unity基礎理論題庫集錦
A.4 :Unity實踐類題庫集錦
A.5 :邏輯推理/智力題庫集錦
附錄B Unity開發常見錯誤與分析
附錄C 游戲開發職位簡歷模板
網路書店
類別
折扣
價格
-
新書$528