從零構建Unity 3D遊戲:開發與設計實戰 ( 簡體 字) |
作者:(美)安東尼•大衛斯 | 類別:1. -> 多媒體 -> 遊戲引擎 -> Unity |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 56450 詢問書籍請說出此書號!【有庫存】 NT售價: 395 元 |
出版日:2/1/2024 |
頁數:230 |
光碟數:0 |
|
站長推薦: |
印刷: | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111748779 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:很高興我們能一起學習3D遊戲開發的知識。首先介紹一下本書的作者分工: Anthony Davis,高級技術美術設計師,負責撰寫本書、管理專案、製作特效和著色器以及打磨專案。 Travis Baptiste,3D美術設計師,負責美術指導、遊戲建模、遊戲角色動畫以及幫助定義遊戲中的故事設計。 Russell Craig,高級軟體工程師,負責編寫遊戲腳本和遊戲玩法。 Ryan Stunkel,音效設計師,負責創建和實現專案中的所有音效。 為確保盡可能利用好我們加起來50多年的集體經驗(本書的每一頁都包含4 個人的共同努力),我們在整本書上花了6個多月的時間並對初稿進行了兩次修訂,以確保用最合適的用例來解釋新概念,而且最重要的是提供一種可行的教學方法。最後,我們相信自己成功創作了一本書,這本書將我們在遊戲開發領域塑造的職業軌跡前移了3到5年。 本書涵蓋了使用Unity設計和開發3D遊戲的方方面面。我們將介紹如何設計、創建和實現遊戲角色、環境、UI、音效和玩法。 本書目標 本書的目標是讓每一位元讀者建立正確的思維方式來思考3D遊戲,然後向讀者展示我們創建遊戲的所有步驟。歡迎新手閱讀本書,但是書中主題的難度可能會快速提升。雖然有難度,但如果堅持下去,你將會快速掌握遊戲開發的知識。本書的主要目標讀者是那些對遊戲開發有一定瞭解的人,但無論你的經驗如何,我們都希望為你帶來一次愉快的學習之旅。我們將涵蓋的概念很快就會變得複雜,包括遊戲角色、程式設計、設計模式以及我們將要學習的其他內容。 為了充分利用本書,建議你遵循下面的步驟: 通讀各章,讀完每章後有意地停頓一下來思考這些概念。 如果某些知識點對你來說是全新的,請查看我們在GitHub中的項目,看看實際動手是否有助於進一步理解它。如果沒有,請上網搜索相關概念進一步研究。 本書的設計初衷是讓你瞭解我們的學習方法,然後通過研究項目理解所有基礎知識。更重要的是要理解我們先前為什麼要這樣設計。我們也花了不少時間去學習 Unity 介面的基礎知識,但之後就可以通過大量的線上資源學習技術了。 你在本書中可能找不到某些內容,比如如何為角色建模、綁定(rig)角色或製作角色動畫。我們很少談論這個過程,因為這個過程需要單獨去練習。我們更多談及的是為什麼以某種方式設計遊戲角色,以?明你以同樣的方式進行遊戲開發。項目中包含了所有動畫,因此構建完成後的產品就是成品。這是一種強有力的學習方式,我們會教你為什麼專案會以這種方式完成。通過這種方式,你可以看到最終結果,並且可以發揮創造力並按照自己的想法進行設計,還可以在閱讀章節的同時使用新工具自行完成整個過程。 最後,在深入學習之前,我們建議你打開本書的GitHub倉庫,導航到Builds資料夾看一看。這將幫助你瞭解我們的團隊是如何將內容以完整的形式組合在一起的。看完之後,你可以想像我們從零開始構建這個項目時所經歷的一切。 本書讀者對象 本書特別適合對製作3D遊戲感興趣的入門讀者,書中內容既涉及基礎知識,也包括一些高級話題。 此外,本書對那些已經在開發遊戲但還想學習更多知識的讀者也會有幫助,因為書中涵蓋了廣泛的技巧和知識。 本書內容 第一部分:計畫和設計 第1章介紹三維(3D)的概念和本書將要用到的一些術語。 第2章先介紹設計的基礎知識,然後引導讀者安裝Unity並創建第一個項目。 第3章奠定程式設計基礎,通過解釋邏輯基礎知識和Visual Studio的基本用法來介紹C#的強大功能。 第二部分:構建 第4章介紹在設計3D角色的同時考慮如何將它們用於綁定和動畫。 第5章引導你思考遊戲的環境以及我們為設計和構建環境所做的工作。 第6章花一些時間思考遊戲機制以及使用者需要什麼樣的交互,還包括專案中的交互所需的程式設計。 第7章增加一些複雜主題,包括與物理設置的交互和更加高級的程式設計概念。 第8章介紹Unity的畫布元件以及如何在任意專案上開發整體遊戲介面。 第三部分:打磨和細化 第9章介紹渲染的基礎以及相關的系統,深入講解如何使用視覺特效系統增進你的遊戲世界與用戶的情感聯繫。 第10章講解Unity中的音效系統,並為聲音設計奠定堅實的基礎。 第11章教你如何使用Unity構建最終可運行的遊戲,並講解測試方法,根除可以避免的錯誤以製作更好的遊戲產品。 第12章介紹用來完善專案的內容,包括專門的粒子系統、光照、藝術定義和聲音潤色。 第13章介紹Unity提供的一些其他服務,以防你的專案所需的那些在前面的章節中沒有涵蓋到,例如多人遊戲或混合現實相關的內容。 如何充分利用本書 請注意本書不是一個示例教程,而是開發3D遊戲時的一本參考書。我們只討論幾個簡單的示例。請盡可能從中學習相應的邏輯原理並將其應用到你的專案中。 請對涵蓋的主題做好筆記,我們加大了在物理引擎部分的程式設計難度。 |
內容簡介:本書介紹使用Unity設計和開發3D遊戲的各方面知識,包括如何設計、創建和實現遊戲角色、環境、UI、音效等。全書分為三部分:第一部分介紹基礎知識,包括3D術語、安裝Unity並創建項目的方法以及C#的相關知識;第二部分介紹3D角色的設計、遊戲環境設計、遊戲機制及專案交互、如何在任意專案上開發整體遊戲介面等;第三部分從視覺效果、音效、遊戲測試、渲染等維度對遊戲進行打磨和細化,以提供更好的用戶體驗。本書配有豐富的隨書資源,便於讀者查找。 |
目錄:第1章 基礎入門2 1.1 擁抱3D2 1.1.1 坐標系統2 1.1.2 向量系統3 1.1.3 攝像機3 1.1.4 面、邊、點和網格4 1.1.5 材質、紋理和著色器4 1.1.6 剛體物理6 1.1.7 碰撞檢測6 1.2 Unity介面6 1.2.1 場景視圖和層級結構7 1.2.2 檢視器8 1.2.3 專案視窗9 1.2.4 遊戲視圖10 1.2.5 管理器10 1.3 基本的Unity概念11 1.3.1 資源11 1.3.2 場景12 1.3.3 遊戲對象12 1.3.4 組件12 1.3.5 腳本12 1.3.6 預製件13 1.3.7 13 1.4 小結13 第2章 設計和原型14 2.1 遊戲設計基礎14 2.1.1 遊戲設計文檔14 2.1.2 深思熟慮後的決定15 2.1.3 反覆運算產品16 2.1.4 概念設計17 2.2 第一個Unity項目18 2.2.1 Unity Hub18 2.2.2 選擇Unity版本19 2.2.3 選擇範本19 2.2.4 程式化的渲染管線19 2.3 原型20 2.3.1 線上框圖或紙上創作21 2.3.2 灰盒21 2.3.3 概念驗證22 2.3.4 小可用產品 22 2.3.5 垂直切片23 2.4 小結23 第3章 程式設計24 3.1 搭建環境24 3.2 基礎知識26 3.2.1 變數27 3.2.2 資料類型27 3.2.3 程式邏輯29 3.2.4 方法33 3.3 小結35 第二分 構建 第4章 遊戲角色 38 4.1 設計和概念38 4.1.1 提問38 4.1.2 構思時間39 4.2 綁定41 4.2.1 動畫——第一原則41 4.2.2 變形41 4.2.3 層級42 4.2.4 骨骼或關節43 4.2.5 正向動力學/反向動力學43 4.2.6 約束44 4.2.7 變形器44 4.2.8 控制45 4.2.9 基於物理的動畫45 4.2.10 人體反向動力學系統45 4.2.11 動畫46 4.3 角色控制器46 4.3.1 內置的角色控制器47 4.3.2 剛體角色控制器47 4.4 編寫角色的動作腳本47 4.4.1 在Unity中初始化48 4.4.2 空閒動畫52 4.4.3 代碼入口53 4.4.4 RequireComponent屬性53 4.4.5 更新代碼54 4.4.6 方法56 4.5 小結57 第5章 繪製環境59 5.1 草圖59 5.1.1 靈感板61 5.1.2 舞臺設計62 5.2 塗蓋63 5.2.1 Unity Terrain工具63 5.2.2 3D地形72 5.3 小結79 第6章 交互與玩法80 6.1 遊戲迴圈80 6.2 機制工具箱82 6.2.1 資源管理82 6.2.2 風險與回報82 6.2.3 空間感知83 6.2.4 收集83 6.2.5 探索83 6.2.6 限制84 6.3 設計與實現84 6.4 我們的項目85 6.4.1 梯85 6.4.2 環形解謎90 6.4.3 狹小的空間97 6.4.4 交互體98 6.5 小結99 第7章 剛體和物理交互100 7.1 剛體組件100 7.1.1 品質101 7.1.2 阻力101 7.1.3 角阻力101 7.1.4 使用重力101 7.1.5 Is Kinematic選項102 7.1.6 值102 7.1.7 碰撞檢測103 7.1.8 約束104 7.1.9 區塊105 7.2 設計與實現105 7.3 心靈感應與物理交互105 7.3.1 岩石掉落106 7.3.2 破損的底座106 7.3.3 解謎107 7.4 小結115 第8章 使用者介面和功能表116 8.1 使用者介面117 8.1.1 敘事UI——敘事(是), 遊戲內(是)117 8.1.2 非敘事UI——敘事(否), 遊戲內(否)118 8.1.3 空間UI——敘事(否), 遊戲內(是)119 8.1.4 元UI——敘事(是),遊戲 內(否)119 8.2 UI元素120 8.2.1 主菜單120 8.2.2 倉庫系統121 8.2.3 生命值的表示121 8.2.4 遊戲物品交互系統121 8.3 項目中的UI 122 8.3.1 主菜單122 8.3.2 出菜單123 8.3.3 空間提示框124 8.4 Unity UI124 8.4.1 Unity畫布系統124 8.4.2 Unity UI對象130 8.4.3 實現134 8.5 小結138 第三分 打磨和細化 第9章 視覺效果140 9.1 視覺效果概述140 9.2 Shader Graph141 9.2.1 安裝142 9.2.2 創建142 9.2.3 Shader Graph介面143 9.2.4 常用的節點151 9.3 粒子系統155 9.3.1 Shuriken155 9.3.2 VFX Graph156 9.4 小結159 第10章 聲音效果160 10.1 聲音設計160 10.2 聲音設計的五個元素161 10.2.1 聲源161 10.2.2 絡162 10.2.3 音調163 10.2.4 頻率163 10.2.5 分層164 10.3 可擴展的聲音設計165 10.4 專案中的音效設計與實現166 10.4.1 播放第一個音效166 10.4.2 2D音效167 10.4.3 3D音效168 10.4.4 3D音效設置169 10.5 通過玩家交互觸發聲音174 10.6 小結177 第11章 構建與測試178 11.1 使用Unity構建遊戲178 11.1.1 目標平臺179 11.1.2 CPU架構179 11.1.3 伺服器相關構建179 11.1.4 複製PDB檔180 11.1.5 創建Visual Studio解決方案180 11.1.6 開發構建180 11.1.7 自動連接探查器180 11.1.8 深度分析支持180 11.1.9 腳本調試180 11.1.10 只構建腳本181 11.1.11 壓縮方法181 11.2 測試181 11.2.1 功能測試182 11.2.2 性能測試183 11.2.3 遊戲測試187 11.2.4 浸泡測試188 11.2.5 當地語系化測試188 11.3 用戶體驗188 11.3.1 品牌推廣188 11.3.2 設計188 11.3.3 可用性189 11.3.4 初的問題189 11.3.5 第一個謎題189 11.3.6 引入次要機制190 11.3.7 解謎191 11.4 小結191 第12章 打磨192 12.1 概覽192 12.2 敲定資源193 12.2.1 統一資源的風格193 12.2.2 細節法線194 12.2.3 清理隱藏面建築196 12.2.4 紋理混合197 12.2.5 環境淩亂198 12.2.6 細節網格199 12.2.7 效199 12.2.8 過場動畫211 12.2.9 副動畫212 12.3 光照212 12.3.1 3D形式212 12.3.2 提供靈感212 12.3.3 遊戲玩法設計212 12.3.4 Unity光照213 12.4 聲音的潤色219 12.4.1 通過動畫事件觸發聲音219 12.4.2 將用於聲音的事件標記在動畫上221 12.5 小結225 第13章 其他Unity工具226 13.1 Unity遊戲服務226 13.1.1 多人遊戲工具226 13.1.2 XR件228 13.1.3 機器學代理228 13.1.4 Bolt視覺化腳本229 13.2 小結230 |
序: |