Unity 5.X 3D游戲開發技術詳解與典型案例


Unity 5.X 3D游戲開發技術詳解與典型案例

1Unity基礎以及開發環境的搭建

1.1 Unity基礎知識概覽

1.1.1 初識Unity
1.1.2 Unity的誕生及發展
1.1.3 Unity廣闊的市場前景
1.1.4 獨具特色的Unity

1.2 Unity開發環境的搭建

1.2.1 Windows平台下Unity的下載及安裝
1.2.2 Mac OS平台下Unity的下載及安裝
1.2.3 目標平台的SDK與Unity集成

1.3 第一個Unity程序

1.4 本書案例的導入及運行

1.5 本章小結

2Unity集成開發環境詳解

2.1 Unity集成開發環境的整體布局

2.1.1 Unity集成開發環境的整體布局
2.1.2 菜單欄
2.1.3 工具欄
2.1.4 場景設計面板
2.1.5 游戲預覽面板
2.1.6 游戲組成對象列表
2.1.7 項目資源列表
2.1.8 屬性查看器
2.1.9 狀態欄與控制台
2.1.10 動畫視圖
2.1.11 動畫控制器編輯視圖

2.2 菜單欄

2.2.1 文件(File)
2.2.2 編輯(Edit)
2.2.3 資源(Assets)
2.2.4 游戲對象(GameObject)
2.2.5 組件(Component)
2.2.6 窗口(Window)
2.2.7 幫助(Help)

2.3 本章小結

3Unity腳本程序開發

3.1 Unity腳本概述

3.2 Unity中C 腳本的注意事項

3.2.1 繼承自MonoBehaviour類
3.2.2 類名字必須匹配文件名
3.2.3 使用Awake或Start方法初始化
3.2.4 Unity腳本中協同程序有不同的語法規則
3.2.5 只有滿足特定情況變量才能顯示在屬性查看器中
3.2.6 盡量避免使用構造函數
3.2.7 調試

3.3 Unity腳本的基礎語法

3.3.1 常用操作
3.3.2 記錄時間
3.3.3 訪問游戲對象組件
3.3.4 訪問其他游戲對象
3.3.5 向量
3.3.6 成員變量和靜態成員變量
3.3.7 實例化游戲對象
3.3.8 協同程序和中斷
3.3.9 一些重要的類
3.3.10 性能優化
3.3.11 腳本編譯

3.4 綜合案例

3.4.1 案例策划及准備工作
3.4.2 創建項目及場景搭建
3.4.3 飛機控制腳本實現
3.4.4 攝像機跟隨腳本實現

3.5 本章小結

4Unity 3D圖形用戶界面基礎

4.1 GUI圖形用戶界面系統

4.1.1 圖形用戶界面組件的變量
4.1.2 圖形用戶界面中的常用控件
4.1.3 圖形用戶界面控件綜合案例

4.2 UGUI圖形用戶界面系統

4.2.1 創建UGUI控件
4.2.2 Canvas畫布
4.2.3 EventSystem
4.2.4 RectTransform組件
4.2.5 Panel控件
4.2.6 Button控件
4.2.7 Text控件
4.2.8 Image控件
4.2.9 Raw Image控件
4.2.10 Slider控件
4.2.11 Scrollbar控件
4.2.12 Toggle控件
4.2.13 Input Field控件
4.2.14 UGUI布局管理的使用及相關組件介紹
4.2.15 UGUI中不規則形狀的按鈕的碰撞檢測
4.2.16 Scroll View的制作
4.2.17 UGUI綜合案例——音樂播放器的UI搭建

4.3 預制件(prefab)資源的應用

4.3.1 預制件(prefab)資源的創建
4.3.2 通過prefab資源進而實例化對象

4.4 常用的輸入對象

4.4.1 Touch輸入對象
4.4.2 Input輸入對象

4.5 與銷毀相關的方法

4.5.1 Object.Destroy方法
4.5.2 NetWork.Destroy方法
4.5.3 MonoBehaviour.OnDestroy方法

4.6 本章小結

5Unity 3D第三方2D組件庫——NGUI

5.1 初識NGUI

5.1.1 NGUI背景概述
5.1.2 NGUI的導入
5.1.3 UI層簡介

5.2 NGUI菜單介紹

5.2.1 “Selection”菜單
5.2.2 “Create”菜單
5.2.3 “Attach”菜單
5.2.4 “Tween”菜單
5.2.5 “Open”菜單
5.2.6 其他菜單

5.3 控件工具的使用

5.3.1 圖片精靈——Sprite
5.3.2 文本標簽——Label
5.3.3 圖片精靈——Texture
5.3.4 組件容器——Widget
5.3.5 錨點——Anchor
5.3.6 面板——Panel
5.3.7 滾動視圖——Scroll View
5.3.8 網格——Grid
5.3.9 表格——Table

5.4 UI庫中默認組件的制作

5.4.1 按鈕——Colored Button
5.4.2 復選框——Colored Checkbox
5.4.3 水平滾動條——Colored Horizontal Scroll Bar
5.4.4 滑塊——Colored Slider
5.4.5 彈出列表——Colored Popup List
5.4.6 輸入框——Control-Simple Input Field

5.5 雜項

5.5.1 Atlas圖集制作
5.5.2 中文字體制作
5.5.3 動畫曲線編輯

5.6 一個NGUI的綜合案例

5.6.1 界面一制作
5.6.2 界面二制作
5.6.3 界面三制作

5.7 本章小結

6物理引擎

6.1 剛體

6.1.1 剛體特性
6.1.2 物理管理器

6.2 碰撞器

6.2.1 碰撞器的添加
6.2.2 碰撞過濾
6.2.3 物理材質

6.3 粒子系統

6.3.1 粒子系統的簡介
6.3.2 粒子系統的特性
6.3.3 粒子系統的綜合使用

6.4 關節

6.4.1 鉸鏈關節的特性
6.4.2 鉸鏈關節的創建
6.4.3 固定關節的特性
6.4.4 固定關節的創建
6.4.5 彈簧關節的特性
6.4.6 彈簧關節的創建
6.4.7 角色關節的特性
6.4.8 角色關節的創建
6.4.9 可配置關節的特性
6.4.10 可配置關節的創建
6.4.11 關節綜合案例——機械手

6.5 交通工具

6.5.1 車輪碰撞器添加
6.5.2 車輪碰撞器的特性
6.5.3 車輪碰撞器的應用

6.6 布料

6.6.1 蒙皮網格
6.6.2 布料特性
6.6.3 布料的簡單案例

6.7 力場

6.7.1 力場組件特性
6.7.2 力場綜合案例

6.8 物理引擎在動畫系統中的使用

6.8.1 場景的搭建
6.8.2 腳本的開發
6.8.3 運行效果

6.9 物理引擎綜合案例

6.9.1 場景的搭建
6.9.2 界面的搭建
6.9.3 腳本的開發
6.9.4 案例開發總結

6.10本章小結

7着色器——Shader

7.1 初識着色器

7.1.1 着色器概述
7.1.2 ShaderLab語法基礎
7.1.3 着色器中涉及的各種空間概念

7.2 着色器的3種形態

7.2.1 固定管線着色器
7.2.2 頂點片元着色器
7.2.3 表面着色器

7.3 表面着色器

7.3.1 表面着色器基礎知識
7.3.2 通過表面着色器實現體積霧

7.4 渲染通道的通用指令

7.4.1 設置LOD數值
7.4.2 渲染隊列
7.4.3 混合模式介紹
7.4.4 Alpha測試
7.4.5 深度測試
7.4.6 通道遮罩
7.4.7 面的剔除操作
7.4.8 抓屏操作

7.5 着色器的組織和優化

7.5.1 着色器的組織和復用
7.5.2 移動平台上的優化

7.6 綜合案例

7.6.1 案例策划及准備工作
7.6.2 創建項目及場景搭建
7.6.3 着色器及相關腳本的開發
7.6.4 結點對象的創建及相關腳本的開發

7.7 本章小結

83D游戲開發的常用技術

8.1 天空盒的應用

8.1.1 Unity天空盒資源
8.1.2 開發實際需要的天空盒

8.2 3D拾取技術

8.3 視頻貼圖

8.3.1 基礎知識
8.3.2 視頻貼圖案例

8.4 動態字體

8.5 重力加速度傳感器

8.6 PlayerPrefs類

8.7 虛擬按鈕與搖桿的使用

8.7.1 下載並導入標准資源包
8.7.2 虛擬按鈕和搖桿使用的案例

8.8 聲音

8.8.1 聲音類型
8.8.2 音頻管理器——AudioManager
8.8.3 音頻監聽器——Audio Listener
8.8.4 音頻源——Audio Source
8.8.5 音頻效果——Audio Effects
8.8.6 音頻混響區——Audio Reverb Zones
8.8.7 簡單的聲音控制案例
8.8.8 混音器——AudioMixer

8.9 水特效

8.9.1 基礎知識
8.9.2 案例

8.10 霧特效

8.10.1 案例效果與基本原理
8.10.2 場景搭建及開發步驟

8.11 本章小結

9光影效果的使用

9.1 光源

9.1.1 點光源(Point Light)
9.1.2 定向光源(Directional Light)
9.1.3 聚光燈光源(Spot Light)
9.1.4 區域光光源(Area Light)
9.1.5 發光材質

9.2 光照貼圖的烘焙與使用

9.2.1 對場景進行光照烘焙
9.2.2 光照烘焙參數詳解

9.3 法線貼圖

9.3.1 在Unity中使用法線貼圖
9.3.2 如何在3D Max中制作法線貼圖

9.4 鏡子的開發

9.4.1 場景的搭建
9.4.2 鏡面着色器的開發
9.4.3 C 腳本的開發

9.5 真實的水面效果開發

9.5.1 基本原理
9.5.2 場景的搭建
9.5.3 C 腳本的開發
9.5.4 鏡面着色器的開發

9.6 Unity 3D光照系統中的高級功能

9.6.1 渲染路徑與顏色空間
9.6.2 Cookies
9.6.3 Flare鏡頭光暈
9.6.4 Culling Mask光照過濾
9.6.5 陰影的設置
9.6.6 Light Probes光探頭

9.7 Unity 3D 5.0中新增的光照功能詳解

9.7.1 基於物理學的標准着色器
9.7.2 反射探頭(Reflection Probe)
9.7.3 全局光照技術詳解

10模型與動畫

10.1 3D模型導入

10.1.1 主流3D建模軟件的介紹
10.1.2 Unity與建模軟件單位的比例關系
10.1.3 將3D模型導入Unity

10.2 網格Mesh

10.2.1 網格過濾器(Mesh Filter)
10.2.2 Mesh屬性和方法介紹
10.2.3 Mesh的使用
10.2.4 使用Mesh使物體變形的一個簡單案例

10.3 第三方切割工具庫Shatter Toolkit的使用

10.3.1 Shatter Toolkit簡介
10.3.2 使用Shatter Toolkit的一個簡單案例

10.4 舊版動畫系統

10.4.1 導入角色動畫資源
10.4.2 動畫控制器(Animation)
10.4.3 動畫腳本
10.4.4 使用舊版動畫系統的簡單案例

10.5 Mecanim動畫系統

10.5.1 角色動畫的配置
10.5.2 動畫控制器的創建
10.5.3 動畫控制器的配置
10.5.4 角色動畫的重定向
10.5.5 角色動畫的混合——創建動畫混合樹
10.5.6 角色動畫的混合——混合類型介紹
10.5.7 Mecanim中的代碼控制
10.5.8 案例分析

10.6 本章小結

11地形與尋路技術

11.1 地形引擎

11.1.1 地形的創建
11.1.2 灰度圖的使用

11.2 拖尾渲染器--Trail Renderer

11.2.1 背景介紹
11.2.2 拖尾渲染器屬性介紹
11.2.3 拖尾渲染器的使用
11.2.4 產生汽車輪胎拖痕案例
11.2.5 產生汽車剎車痕案例

11.3 自動尋路技術

11.3.1 基礎知識
11.3.2 一個簡單的案例

11.4 本章小結

12游戲資源更新

12.1 AssetBundle資源包

12.1.1 AssetBundle簡介
12.1.2 創建AssetBundle
12.1.3 AssetBundle的下載
12.1.4 AssetBundle的加載和卸載
12.1.5 關於AssetBundle
12.1.6 本節小結

12.2 Lua熱更新

12.2.1 熱更新的基本介紹
12.2.2 Lua的基本情況介紹
12.2.3 SimpleFramework框架介紹
12.2.4 熱更新案例
12.2.5 本節小結

12.3 本章小結

13多線程技術與網絡開發

13.1 多線程技術

13.1.1 基本知識
13.1.2 多線程技術用於大量計算
13.1.3 多線程技術在網絡開發中的應用

13.2 WWW類

13.2.1 用WWW類訪問網絡資源
13.2.2 場景搭建
13.2.3 C 腳本的編寫

13.3 網絡類——Network

13.3.1 靜態變量
13.3.2 靜態方法
13.3.3 消息發送

13.4 基於Unity Network開發網絡游戲

13.4.1 非授權服務器和授權服務器
13.4.2 Network View 網絡視圖組件
13.4.3 案例的效果預覽
13.4.4 案例場景的搭建
13.4.5 項目主體腳本的開發
13.4.6 服務器和客戶端的發布

13.5 基於Socket開發Unity網絡游戲

13.5.1 網絡游戲架構簡介
13.5.2 案例的效果預覽與資源准備
13.5.3 案例場景的搭建
13.5.4 服務器端的開發
13.5.5 客戶端的開發

13.6本章小結

14Unity 2D游戲開發

14.1 Unity 2D基礎介紹

14.1.1 Unity 2D項目的創建
14.1.2 Unity 2D功能簡要介紹
14.1.3 Unity 2D游戲開發工作流程的簡要介紹

14.2 Unity 2D核心功能對象——Sprite

14.2.1 Sprite對象的創建和基本用法
14.2.2 換幀動畫的制作
14.2.3 制作換幀動畫的具體步驟

14.3 Unity 2D中的物理引擎

14.3.1 2D剛體
14.3.2 2D碰撞器
14.3.3 2D關節
14.3.4 使用2D物理引擎制作撞冰塊案例

14.4 一個完整的2D游戲案例

14.4.1 游戲玩法以及功能概述
14.4.2 游戲的策划及准備工作
14.4.3 游戲的架構
14.4.4 菜單場景
14.4.5 游戲場景

14.5 本章小結

15常用性能優化技術

15.1 程序性能的分析

15.1.1 Profiler使用方法
15.1.2 Profiler的參數說明

15.2 代碼的斷點調試

15.2.1 通過MonoDevelop調試
15.2.2 Microsoft Visual Studio Tools for Unity的使用

15.3 優化事項

15.3.1 遮擋剔除技術
15.3.2 批處理技術
15.3.3 移動平台的優化技巧

15.4 本章小結

16綜合案例——指間足球

16.1 背景以及功能概述

16.1.1 游戲背景概述
16.1.2 游戲功能簡介

16.2 游戲的策划及准備工作

16.2.1 游戲的策划
16.2.2 使用Unity開發游戲前的准備工作

16.3 游戲的架構

16.3.1 各個場景的簡要介紹
16.3.2 游戲架構簡介

16.4 游戲主場景

16.4.1 場景搭建
16.4.2 主攝像機設置及腳本開發
16.4.3 守門員游戲對象相關腳本開發
16.4.4 檢測板游戲對象相關腳本開發
16.4.5 提示板游戲對象相關腳本的開發
16.4.6 門框游戲對象相關腳本的開發
16.4.7 其他腳本的開發

16.5 游戲界面的開發

16.5.1 主菜單界面的搭建
16.5.2 主菜單界面監聽腳本的開發
16.5.3 游戲界面的搭建
16.5.4 游戲界面監聽腳本的開發
16.5.5 游戲暫停界面監聽腳本的開發

16.6 游戲的優化與改進

思維導圖

Unity 5.X 3D游戲開發技術詳解與典型案例

防止博客圖床圖片失效,防止圖片源站外鏈:

http://www.processon.com/chart_image/5e5b2f02e4b069f82a1a52d1.png)

思維導圖在線編輯鏈接:

https://www.processon.com/view/5e5b2f02e4b069f82a1a52ce


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM