【有庫存】NT售價: 650 元
本書對Unity集成開發環境的界面、腳本的編寫和眾多高級特效的實現進行了詳細的介紹。內容深入淺出,是一本適合不同需求、不同開發水平的讀者的技術寶典。全書共13章。第1章簡要介紹Unity的誕生、特點、集成開發環境的搭建及運行機制;第2章對Unity集成開發環境進行詳細的介紹;第3章介紹Unity中腳本的編寫;第4章主要對Unity開發過程中經常使用的組件及對象進行詳細的介紹;第5章介紹Unity集成開發環境中完整的物理引擎體系,包括剛體、碰撞體、關節、交通工具、布料及粒子系統等知識;第6章介紹Unity中著色器的開發和著色器語言,能為讀者學習各種高級特效打下良好的基礎;第7章介紹游戲開發過程中經常使用的一些著色特效,如邊緣發光、描邊效果、菲涅爾效果等;第8章介紹天空盒、3D拾取、重力加速度傳感器、虛擬按鈕與搖桿、聲音、水特效及霧特效等常用開發技術;第9章介紹Unity中經常使用的光影效果,主要包括各種光源、陰影、光照貼圖、光探頭、法線貼圖、鏡頭光暈及反射探頭等相關知識;第10章介紹Unity中模型的網格概念及新舊動畫系統;第11章詳細介紹Unity自帶的地形引擎、拖尾渲染器及自動尋路技術等知識;第12章介紹AssetBundle資源包的使用及Lua熱更新;第13章介紹Unity中的多線程技術與網絡開發。為了便于讀者學習,本書附贈的資源包含了書中所有案例的完整源代碼,可以較大限度地幫助讀者快速掌握Unity 3D游戲開發技術。
第 1章 Unity基礎及集成開發環境的搭建 11.1 Unity基礎知識概覽 11.1.1 初識Unity 11.1.2 Unity廣闊的市場前景 11.1.3 Unity的特點 11.2 Unity集成開發環境的搭建 31.2.1 Windows平臺下Unity的下載及安裝 31.2.2 目標平臺的SDK與Unity的集成 51.3 第 一個Unity程序 61.4 本書案例的導入及運行 101.5 本章小結 13第 2章 Unity集成開發環境詳解 142.1 Unity集成開發環境 142.1.1 Unity集成開發環境的整體布局 142.1.2 菜單欄 152.1.3 工具欄 152.1.4 Scene窗口 162.1.5 Game窗口 182.1.6 Hierarchy面板 192.1.7 Project面板 202.1.8 Inspector面板 212.1.9 狀態欄與控制臺 212.1.10 Animation窗口 212.1.11 動畫控制器編輯窗口 212.2 菜單欄 212.2.1 File 222.2.2 Edit 232.2.3 Assets 282.2.4 GameObject 312.2.5 Component 342.2.6 Window 382.3 本章小結 40第3章 Unity腳本程序開發 413.1 Unity腳本概述 413.2 Unity中C#腳本的注意事項 413.3 Unity腳本的基礎語法 433.3.1 對游戲對象的常用操作 433.3.2 記錄時間 433.3.3 訪問游戲對象組件 443.3.4 訪問其他游戲對象 453.3.5 向量 473.3.6 成員變量 483.3.7 實例化游戲對象 493.3.8 協同程序及其中斷 503.3.9 一些重要的類 503.3.10 特定文件夾 553.3.11 腳本編譯 563.3.12 與銷毀相關的方法 563.3.13 性能優化 583.4 綜合案例 583.4.1 案例策劃及準備工作 593.4.2 創建項目及搭建場景 593.4.3 飛機控制腳本的編寫 603.4.4 攝像機跟隨腳本的編寫 633.5 本章小結 64第4章 Unity圖形用戶界面基礎 654.1 圖形用戶界面 654.1.1 圖形用戶界面的控制變量 654.1.2 圖形用戶界面中的常用控件 714.1.3 圖形用戶界面中的常用方法 864.1.4 圖形用戶界面控件綜合案例 934.2 UGUI系統 954.2.1 UGUI系統的基礎知識 954.2.2 UGUI控件 974.2.3 UGUI布局管理器及相關組件介紹 1044.2.4 UGUI中不規則形狀的按鈕的碰撞檢測 1064.2.5 屏幕自適應和錨點 1074.2.6 UGUI綜合案例—音樂播放器的UI搭建 1074.3 Prefab資源的應用 1134.3.1 Prefab資源的創建 1134.3.2 利用Prefab資源實例化游戲對象 1144.3.3 Prefab的編輯 1144.4 常用的輸入對象 1154.4.1 Touch對象 1154.4.2 Input對象 1174.5 本章小結 121第5章 物理引擎 1225.1 剛體 1225.1.1 剛體特性 1225.1.2 物理管理器 1295.2 鉸接體 1305.2.1 鉸接體的屬性 1315.2.2 鉸接體的創建 1315.2.3 運行效果 1355.3 碰撞體 1355.3.1 碰撞體的添加 1365.3.2 碰撞過濾 1375.3.3 觸發器 1395.3.4 碰撞檢測 1395.3.5 物理材質 1405.3.6 碰撞體交互 1415.4 關節 1425.4.1 鉸鏈關節的屬性 1425.4.2 鉸鏈關節的創建 1435.4.3 固定關節的屬性 1445.4.4 固定關節的創建 1445.4.5 彈簧關節的屬性 1445.4.6 彈簧關節的創建 1455.4.7 角色關節的屬性 1455.4.8 角色關節的創建 1465.4.9 可配置關節的屬性 1465.4.10 可配置關節的創建 1475.4.11 關節綜合案例—機械手 1485.5 交通工具 1525.5.1 車輪碰撞體的添加 1535.5.2 車輪碰撞體的屬性 1535.5.3 車輪碰撞體的應用 1535.6 布料 1575.6.1 蒙皮網格渲染器屬性 1585.6.2 布料屬性 1585.6.3 布料的簡單案例 1595.7 力場 1605.7.1 力場組件的屬性 1605.7.2 力場綜合案例 1615.8 角色控制器 1615.8.1 角色控制器組件的屬性 1615.8.2 角色控制器的案例 1625.9 粒子系統 1625.9.1 粒子系統的簡介 1625.9.2 粒子系統的屬性 1635.9.3 通過腳本控制粒子系統 1735.9.4 粒子系統的綜合應用 1805.10 物理引擎在動畫系統中的使用 1855.10.1 場景的搭建 1855.10.2 腳本的開發 1875.10.3 運行效果 1875.11 物理引擎綜合案例 1885.11.1 場景的搭建 1885.11.2 界面的搭建 1925.11.3 腳本的開發 1935.11.4 案例開發總結 1955.12 本章小結 196第6章 著色器和著色語言 1976.1 初識著色器 1976.1.1 著色器概述 1976.1.2 材質、著色器與貼圖 1986.1.3 ShaderLab語法基礎 1986.1.4 著色器中涉及的各種空間概念 2046.2 渲染管線 2066.2.1 OpenGL渲染管線 2066.2.2 DirectX渲染管線 2126.2.3 Unity可編程渲染階段 2136.3 著色器的3種形態 2136.3.1 固定管線著色器 2136.3.2 頂點片元著色器 2146.3.3 表面著色器 2196.4 表面著色器的基礎知識及應用 2206.4.1 表面著色器的基礎知識 2206.4.2 通過表面著色器實現體積霧 2256.5 渲染通道的通用指令 2306.5.1 設置LOD數值 2306.5.2 渲染隊列 2326.5.3 混合操作 2336.5.4 Alpha測試 2356.5.5 深度測試 2366.5.6 模板測試 2396.5.7 通道遮罩 2426.5.8 面的剔除操作 2436.5.9 抓屏操作 2456.6 曲面細分著色器 2466.6.1 固定數量的曲面細分 2466.6.2 基于距離的曲面細分 2486.6.3 基于邊緣長度的曲面細分 2496.6.4 Phong曲面細分 2516.7 幾何著色器 2526.8 Standard Shader 2546.8.1 什么是基于物理的著色 2546.8.2 材質編輯器 2546.9 著色器的組織、復用和移動平臺上的優化 2566.9.1 著色器的組織和復用 2576.9.2 移動平臺上的優化 2616.10 Shader Graph 2636.10.1 Shader Graph環境安裝 2636.10.2 創建一個Shader Graph 2636.11 著色器綜合案例 2636.11.1 著色器綜合案例一 2646.11.2 著色器綜合案例二 2786.12 本章小結 281第7章 常用著色器特效 2827.1 頂點動畫 2827.1.1 基本原理 2827.1.2 開發步驟 2837.2 紋理動畫 2857.2.1 基本原理 2857.2.2 開發步驟 2867.3 邊緣發光 2877.3.1 基本原理 2877.3.2 開發步驟 2877.4 描邊效果 2897.4.1 基本原理 2897.4.2 開發步驟 2907.5 遮擋透視效果 2927.5.1 基本原理 2927.5.2 開發步驟 2927.6 菲涅爾效果 2937.6.1 基本原理 2937.6.2 立方體紋理技術 2947.6.3 開發步驟 2947.7 高斯模糊 2977.7.1 基本原理 2977.7.2 開發步驟 2987.8 Bloom效果 3017.8.1 基本原理 3017.8.2 開發步驟 3017.9 景深 3047.9.1 基本原理 3047.9.2 開發步驟 3047.10 積雪效果 3067.10.1 基本原理 3067.10.2 開發步驟 3077.11 浴室玻璃 3097.11.1 基本原理 3097.11.2 開發步驟 3097.12 消融效果 3117.12.1 基本原理 3117.12.2 開發步驟 3117.13 能量罩 3137.13.1 基本原理 3137.13.2 開發步驟 3137.14 本章小結 316第8章 3D游戲開發的常用技術 3178.1 立方貼圖技術的應用 3178.1.1 Unity天空盒 3178.1.2 Cubemap的應用 3208.1.3 HDR天空盒設置 3228.2 3D拾取技術 3248.2.1 3D拾取技術簡介 3248.2.2 切換可拾取性 3268.3 視頻播放器——Video Player 3278.3.1 視頻的屬性 3278.3.2 視頻播放器應用案例 3288.4 動態字體 3308.5 重力加速度傳感器 3318.6 PlayerPrefs類 3338.7 虛擬按鈕與搖桿的使用 3348.7.1 下載并導入標準資源包 3358.7.2 使用虛擬按鈕和搖桿的案例 3358.8 線的渲染——Line Renderer 3378.9 Render Texture的應用 3398.10 聲音——Audio 3418.10.1 聲音類型 3418.10.2 音頻管理器 3418.10.3 音頻監聽器 3428.10.4 音頻源 3428.10.5 音頻效果 3468.10.6 音頻混響區 3498.10.7 簡單的聲音控制案例 3508.10.8 混音器 3518.10.9 錄音 3578.11 Cinemachine相機 3598.11.1 Cinemachine相機的下載與安裝 3598.11.2 Cinemachine相機的使用方法 3598.12 Timeline的使用 3608.13 多場景編輯——Multi-Scene Editing 3618.13.1 多場景編輯的基礎操作 3618.13.2 多場景編輯的高級操作 3638.13.3 多場景編輯模式還存在的問題 3648.14 水特效 3648.14.1 基礎知識 3648.14.2 水特效案例 3658.15 霧特效 3678.15.1 霧效果基本原理 3678.15.2 場景搭建及開發步驟 3678.16 3D場景中的其他特效 3718.16.1 光源周圍的光暈 3718.16.2 面板渲染 3718.16.3 投影器 3728.17 本章小結 372第9章 光影效果的使用 3739.1 渲染路徑與顏色空間 3739.1.1 渲染路徑 3739.1.2 顏色空間 3749.2 光源 3759.2.1 點光源 3759.2.2 平行光光源 3769.2.3 聚光燈光源 3779.2.4 區域光光源 3779.2.5 發光材質 3789.2.6 Cookies 3789.2.7 光照過濾 3789.3 陰影 3799.3.1 陰影質量 3799.3.2 陰影性能 3819.4 光照貼圖 3819.4.1 對場景進行光照烘焙 3819.4.2 光照烘焙參數詳解 3839.5 光探頭 3869.5.1 Light Probes的使用 3869.5.2 Light Probes應用細節 3889.5.3 LPPV光探頭代理 3889.6 法線貼圖 3909.6.1 在Unity中使用法線貼圖 3919.6.2 如何在3ds Max中制作法線貼圖 3939.7 鏡頭光暈——Flare 3949.8 反射探頭 3959.8.1 反射探頭的使用 3959.8.2 反射探頭屬性詳解 3979.9 鏡子的開發 3999.9.1 場景的搭建 3999.9.2 鏡面著色器的開發 4029.9.3 C#腳本的開發 4039.10 真實水面效果的開發 4059.10.1 基本原理 4069.10.2 場景的搭建 4079.10.3 C#腳本的開發 4079.10.4 鏡面著色器的開發 4109.11 本章小結 412第 10章 模型與動畫 41310.1 3D模型導入 41310.1.1 主流3D建模軟件的介紹 41310.1.2 Unity與建模軟件單位的比例關系 41410.1.3 將3D模型導入Unity 41510.2 網格——Mesh 41610.2.1 網格過濾器 41610.2.2 Mesh的屬性和方法 41610.2.3 Mesh的使用 41710.2.4 使用Mesh使物體變形的簡單案例 41710.3 第三方切割工具庫Shatter Toolkit的使用 42210.3.1 Shatter Toolkit簡介 42210.3.2 使用Shatter Toolkit的簡單 案例 42410.4 舊版動畫系統 43110.4.1 導入角色動畫資源 43110.4.2 動畫控制器 43210.4.3 動畫腳本 43310.4.4 使用舊版動畫系統的簡單 案例 43410.5 Mecanim動畫系統 43710.5.1 角色動畫的配置 43710.5.2 動畫控制器的創建 44310.5.3 動畫控制器的配置 44310.5.4 角色動畫的重定向 44610.5.5 角色動畫的混合—— 創建動畫混合樹 44910.5.6 角色動畫的混合—— 混合類型介紹 45010.5.7 Mecanim中的代碼 控制 45110.5.8 案例分析 45610.6 動畫變形——Blend Shapes 45910.7 本章小結 462第 11章 地形與尋路技術 46311.1 地形引擎 46311.1.1 地形的創建 46311.1.2 灰度圖的使用 46811.2 樹編輯器 46911.2.1 屬性介紹 46911.2.2 簡單案例 47111.3 拖尾渲染器——Trail Renderer 47311.3.1 背景介紹 47311.3.2 拖尾渲染器屬性介紹 47311.3.3 拖尾渲染器的使用 47411.3.4 產生汽車輪胎剎車痕 案例 47411.4 自動尋路技術 47811.4.1 基礎知識 47811.4.2 簡單案例 47911.5 本章小結 483第 12章 游戲資源更新 48412.1 AssetBundle資源包 48412.1.1 AssetBundle簡介 48412.1.2 創建AssetBundle 48412.1.3 AssetBundle的下載 48712.1.4 AssetBundle的加載和 卸載 48912.1.5 關于AssetBundle 49012.1.6 本節小結 49112.2 Lua熱更新 49112.2.1 熱更新的基本介紹 49212.2.2 XLua的基本介紹 49312.2.3 XLua框架介紹 49412.2.4 XLua常用方法介紹 49512.2.5 XLua熱更新案例 49712.2.6 熱更新服務器配置 50212.2.7 本節小結 50412.3 本章小結 504第 13章 多線程技術與網絡開發 50513.1 多線程技術 50513.1.1 多線程技術的基礎 知識 50513.1.2 多線程技術用于大量 計算 50613.1.3 多線程技術在網絡開發中的 應用 50813.2 UnityWebRequest類 51113.2.1 用UnityWebRequest類下載 網絡資源 51213.2.2 場景搭建 51213.3 JSON 51413.3.1 JSON的基礎知識 51413.3.2 JSON的解析 51413.4 網絡類——Network 51513.4.1 靜態變量 51513.4.2 靜態方法 51813.4.3 消息發送 52313.5 基于MLAPI開發網絡游戲 52413.5.1 非授權服務器和授權 服務器 52413.5.2 Network Manager組件 52413.5.3 使用MLAPI進行開發 52513.6 基于Photon服務器開發網絡 游戲 52913.6.1 環境搭建 52913.6.2 案例的效果預覽 53013.6.3 案例場景的搭建 53013.6.4 腳本的編寫 53113.7 本章小結 533