| |
定 價:128 元
當前圖書已被 3 所學校薦購過!
查看明細
- 作者:Paris Buttfield-Addison,Jon Manning,Tim Nugent
- 出版時間:2024/10/1
- ISBN:9787519891817
- 出 版 社:中國電力出版社
- 中圖法分類:TP317.6
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開

本書采用經典實例的格式,首先提出問題,然后制定解決方案,最z后再討論如何通過最z佳以及最z直接的方式解決問題。本書非常適合初級到中級Unity開發(fā)人員。本書的主要內容包括:2D和3D圖形。數學、物理以及角色控制。動畫與運動。行為與AI。聲音與音樂。腳本與用戶界面。
想學習Unity游戲開發(fā)嗎?本書內容簡明扼要、通俗易懂,內含大量制作游戲的實用技巧。 Liam Esler 游戲開發(fā)人員,代表作《博德之門2:增強版》、《冰風谷:增強版》以及《永恒之柱》
本書是Unity開發(fā)人員極為寶貴的資源。作者擁有豐富的經驗,針對各種問題提供了簡單易學的解決方案。無論你是初學者還是經驗豐富的開發(fā)人員,都可以從本書中獲益。 Tom Brophy Mountains(獨立游戲《Florence》的開發(fā)商)首席程序員
前言歡迎閱讀本書!本書得以付梓,我們感到無比興奮,同時為自己付出的努力感到無比自豪。希望本書能成為你學習使用Unity 引擎開發(fā)游戲路上的忠實伙伴。Unity 是一個了不起的平臺,隨著使用次數的增加,你會發(fā)現(xiàn)越來越多如何使用Unity 以及為什么使用Unity 的新想法!這一切都令人興奮不已。相信我們,我們就曾有過這樣的體驗。在Secret Lab,我們的大部分視頻游戲都是使用Unity 構建的。在澳大利亞,我們構建的兒童游戲非常出名,同時我們也曾為英國學院游戲獎(British Academy Games Awards,簡稱BAFTA)以及和獨立游戲節(jié)大獎(Independent Games Festival,簡稱IGF)的獲獎游戲《樹林之夜》做出過貢獻。十多年前,我們首次接觸Unity,從那以后從未間斷過使用。在本書中,我們收集了一系列解決常見問題的技巧,這些都是在使用Unity 構建視頻游戲時會反復遇到的問題。盡管本書無法面面俱到,詳細介紹Unity 的每一個小細節(jié),但我們希望能夠涵蓋到視頻游戲開發(fā)日常工作中所涉及的大部分難題。書中的技巧都是我們希望自己在第一次構建游戲時能夠向人請教的問題。我們真心希望能夠幫助到你!使用Unity 是激動人心的時刻。游戲開發(fā)的世界在不斷發(fā)展,越來越壯大、越來越有趣,如今我們使用的工具和技術也超出了往昔任何時刻。讓我們馬上行動起來,創(chuàng)造偉大的游戲!關于本書的更多資源以及我們的其他書籍,請訪問我們的網站(http://www.secretlab.com.au/)。本書使用的資源你可以通過如下鏈接下載書中的代碼:https://github.com/thesecretlab/unity-gamedevelopment-cookbook-1e。此外,本書還有專屬網頁,你可以在那兒找到書中的代碼以及其他下載資源,地址是:http://secretlab.com.au/books/unity-cookbook-1e。本書面向的讀者對象本書假定你對C# 編程語言或C 、Java、Go、Swift、Python 或其他常見編程語言有基本的了解,但無需了解Unity。本書旨在幫助你快速構建并運行游戲。如果你喜歡我們的風格,并想閱讀更多有關Unity 的資料,可以參考《Mobile Game Development with Unity》(鏈接:http://shop.oreilly.com/product/0636920032359.do),以及OReilly 的其他相關書籍。本書中的屏幕截圖都是在macOS 上截取的,但書中介紹的一切技巧普遍適用于Windows、macOS 或Linux 上的Unity。本書的主要內容本書共分為12 章。? 第1 章介紹了使用Unity 需要了解的基本概念:游戲對象、組件、場景以及如何使用Unity 編輯器。? 第2 章介紹了Unity 的腳本接口,這是你通過編寫代碼定義游戲運行方式的途徑。介紹完基本概念后,我們將深入研究一些實際的例子,包括如何編寫保存和加載系統(tǒng)、如何有效地使用對象,以及如何存儲數據才能同時方便代碼和Unity 訪問。? 第3 章學習了如何通過鍵盤輸入、鼠標和游戲手柄等形式獲取用戶的輸入。我們還將討論如何設置能夠對輸入事件(比如用戶點擊)做出反應的游戲對象。? 第4 章介紹了一些基本的數學概念,這些概念是游戲開發(fā)不可或缺的,例如向量、矩陣和四元數等。我們還將探索這些概念的實際用途,例如檢測物體是否在玩家面前。? 第5 章討論了Unity 內置的2D 圖形和物理系統(tǒng)。我們將學習如何顯示、排序精靈以及如何讓它們相互碰撞。? 第6 章介紹了Unity 的材質和著色系統(tǒng):材質和著色器的工作原理,如何在Unity 中構建著色器,以及如何獲得最佳場景效果。? 第7 章學習了如何利用Unity 的3D 物理系統(tǒng)執(zhí)行所需操作,以支持常見的游戲任務,例如拾取和投擲物體,以及創(chuàng)建玩家可以乘坐的移動平臺。? 第8 章介紹了Unity 的動畫系統(tǒng),涵蓋的主題包括如何設置角色以混合不同的動畫狀態(tài),以及如何將玩家移動與角色動畫相結合。我們還介紹了Unity 的攝像機系統(tǒng),并討論了如何設置跟隨目標移動的攝像機。? 第9 章主要討論了創(chuàng)建玩家互動的游戲玩法。我們討論了各種常見的游戲任務,比如管理分配給玩家的任務狀態(tài),記錄賽車是否走了太多捷徑,以及管理游戲中對象之間的傷害處理方式。? 第10 章學習了如何為角色添加大腦,包括檢測何時可以看到玩家的能力,在空間內導航和避開障礙物的能力,以及找出藏在何處不會被看見的能力。? 第11 章介紹了Unity 的音頻系統(tǒng)。我們介紹了播放聲音的基礎知識,還介紹了一些高級功能,例如將音頻路由到多個組,以及在角色說話時自動靜音。? 第12 章介紹了構建供玩家查看和交互的界面的工具。最后一節(jié)介紹了如何通過擴展編輯器在Unity 中構建自己的工具。排版約定本書使用了下述排版約定。斜體(Italic)表示新術語、URL、電子郵件地址、文件名和擴展名。等寬字體(Constant Width)表示程序片段,以及正文中出現(xiàn)的變量、函數名、數據庫、數據類型、環(huán)境變量、語句和關鍵字等。加粗等寬字體(constant width bold)表示應該由用戶輸入的命令或其他文本。等寬斜體(constant width italic)表示應該由用戶輸入的值或根據上下文確定的值替換的文本。使用代碼示例你可以通過如下鏈接下載本書的補充材料(代碼示例,練習等):https://www.secretlab.com.au/books/unity-cookbook-1e。本書的目的是幫助你完成工作。一般來說,你可以在自己的程序或者文檔中使用本書附帶的示例代碼。你無需聯(lián)系我們獲得使用許可,除非你要復制大量的代碼。例如,使用本書中的多個代碼片段編寫程序就無需獲得許可。但以CD-ROM 的形式銷售或者分發(fā)OReilly 書中的示例代碼則需要獲得許可。回答問題時援引本書內容以及書中示例代碼,無需獲得許可。在你自己的項目文檔中使用本書大量的示例代碼時,則需要獲得許可。我們不強制要求署名,但如果你這么做,我們深表感激。署名一般包括書名、作者、出版社和國際標準圖書編號。例如:Unity Game Development Cookbook by Paris Buttfield-Addison, Jon Manning, and Tim Nugent (OReilly). Copyright 2019 SecretLab, 978-1-491-99915-8。如果你覺得自身情況不在合理使用或上述允許的范圍內,請通過郵件和我們聯(lián)系,地址是 permissions@oreilly.com。OReilly 在線學習平臺(OReilly Online Learning)近40 年來,OReilly Media 致力于提供技術和商業(yè)培訓、知識和卓越見解,來幫助眾多公司取得成功。公司獨有的專家和改革創(chuàng)新者網絡通過OReilly 書籍、文章以及在線學習平臺,分享他們的專業(yè)知識和實踐經驗。OReilly 在線學習平臺按照您的需要提供實時培訓課程、深入學習渠道、交互式編程環(huán)境以及來自OReilly 和其他200 多家出版商的大量書籍與視頻資料。更多信息,請訪問網站:https://www.oreilly.com/。聯(lián)系我們任何有關本書的意見或疑問,請按照以下地址聯(lián)系出版社。美國:OReilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中國:北京市西城區(qū)西直門南大街2 號成銘大廈C 座807 室(100035)奧萊利技術咨詢(北京)有限公司這本書有專屬網頁,你可以在那兒找到本書的勘誤、示例和其他信息。地址是:http://bit.ly/unity-game-dev-cb。如果你對本書有一些評論或技術上的建議,請發(fā)送電子郵件到errata@oreilly.com.cn。要了解OReilly 圖書、培訓課程、會議和新聞的更多信息,請訪問我們的網站,地址是:http://www.oreilly.com。我們的Facebook:http://facebook.com/oreilly。我們的Twitter:http://twitter.com/oreillymedia。我們的YouTube:http://youtube.com/oreillymedia。致謝Jon 想感謝他的母親、父親以及整個大家庭中的其他人給予的巨大支持。Paris 想感謝偉大的母親,沒有她,自己將一事無成,也沒有任何熱情。近期他的母親就要提交博士學位以供評估,他相信母親一定能取得成功。Tim 想感謝父母和家人陪著他渡過平淡的每一天。本書得以付梓,我們要感謝Rachel Roumeliotis,她的能力和建議對于本書以及我們共同編寫的所有其他書籍來說都是無價的。我們非常期待經常與她聯(lián)絡。感謝本書的編輯Jeff Bleiel。你在工作中非常冷靜、頭腦清晰而又充滿熱情,與你共事的時光身心愉悅。我們希望將來能與你合作共創(chuàng)更多的書籍!感謝撰寫本書的過程中所有給予過幫助的OReilly Media 員工,你們都無愧于各自領域的專家。OReilly Media 擁有大量才華橫溢的員工、合同工以及其他人才。他們在工作中都有著令人驚訝的出色表現(xiàn)。非常感謝Tony Gray 和蘋果大學聯(lián)盟(Apple University Consortium,簡稱AUC)給予我們以及上述相關人員的巨大推動力。沒有你們的支持,就沒有這本書。還有Tony,如今你也在寫書了!還要感謝Neal Goldstein,在他的循循善誘下,我們才有了創(chuàng)作本書的想法,當之無愧的首功之臣。我們感謝MacLab 眾人(他們很清楚自己的目標,并帶領著Admiral Dolphin 團隊走向下一個神話)的支持,以及Christopher Lue 教授、Leonie Ellis 副教授和塔斯馬尼亞大學的工作人員。感謝Mars G. 給予的支持,還要感謝Dave J. 的咖啡。如果你有機會來澳大利亞塔斯馬尼亞州的霍巴特,一定要去Yellow Bernard 喝杯咖啡 最好喝的咖啡。感謝技術審閱者們給予的全面且專業(yè)的建議,為我們提供了很大幫助。最后,非常感謝您購買我們的書,在此至上最真誠的謝意!如果您有任何反饋,請發(fā)送電子郵件至lab@secretlab.com.au,或者通過推特聯(lián)系我們@thesecretlab。
Paris Buttfield-Addison博士是一名游戲設計師、計算研究人員,他對法律充滿了興趣,同時也是游戲開發(fā)工作室Secret Lab的聯(lián)合創(chuàng)始人。Jon Manning博士是一名精通Swift、C#以及Objective-C等技術的軟件工程師。作為Secret Lab的合伙創(chuàng)始人,他創(chuàng)建了流行框架Yarn Spinner,并參與制作了英國學院游戲獎(British Academy Games Awards,BAFTA)獲獎游戲《樹林之夜》。Tim Nugent是一名移動應用開發(fā)人員、游戲設計師以及計算研究人員。
目錄 前言 1 第1 章 初識Unity 9 1.1 初次嘗試Unity 9 1.2 游戲對象.19 1.3 組件 20 1.4 預制件 .24 1.5 場景 26 1.6 管理資產.26 1.7 構建Unity 項目 27 1.8 Preferences 29 第2 章 腳本 31 2.1 MonoBehaviour .31 2.2 回調函數.36 2.3 創(chuàng)建不依賴于幀率的行為 .38 2.4 訪問組件.40 2.5 查找對象.42 2.6 協(xié)程 43 2.7 單例 47 2.8 加載關卡(場景) .50 2.9 將數據存儲到磁盤 .54 2.10 保存和加載游戲狀態(tài) .55 2.11 使用對象池管理對象 .71 2.12 使用ScriptableObject 將數據存儲到Assets 80 第3 章 輸入 83 3.1 鍵盤輸入.83 3.2 鼠標輸入.84 3.3 鎖定或隱藏鼠標光標 86 3.4 游戲手柄.86 3.5 自定義Unity 的輸入系統(tǒng) 88 3.6 響應來自事件系統(tǒng)的指針事件 92 第4 章 數學 97 4.1 使用向量存儲不同維度的坐標 98 4.2 三維空間旋轉 104 4.3 使用矩陣表示三維空間的變化 .106 4.4 角度 111 4.5 計算到目標的距離 112 4.6 計算目標的角度 114 第5 章 二維圖形 . 117 5.1 導入精靈 117 5.2 向場景添加精靈 119 5.3 創(chuàng)建精靈動畫 120 5.4 使用2D 物理系統(tǒng)創(chuàng)建精靈 121 5.5 自定義精靈的碰撞形狀 122 5.6 復合碰撞體 .124 5.7 精靈打包器 .125 5.8 對二維對象施加力 127 5.9 創(chuàng)建傳送帶 .128 5.10 使用自定義材質的精靈 .130 5.11 管理精靈的排序 .132 5.12 排序組 134 5.13 創(chuàng)建2.5D 場景 136 第6 章 三維圖形 . 139 6.1 創(chuàng)建簡單的材質 139 6.2 通過腳本控制材質的屬性 141 6.3 創(chuàng)建無光照材質 143 6.4 使用紋理設置材質 144 6.5 創(chuàng)建使用著色器的材質 146 6.6 使用后期處理設置泛光效果 147 6.7 使用高動態(tài)范圍顏色 .151 6.8 可編程渲染管線 154 6.9 使用著色器圖創(chuàng)建著色器 157 6.10 使用著色器圖創(chuàng)建發(fā)光效果 158 6.11 公開著色器圖的屬性 161 6.12 著色器的動畫效果 163 6.13 控制動畫著色器的速度 .165 6.14 通過子圖重用圖組件 166 6.15 使用著色器圖實現(xiàn)溶解效果 168 6.16 烘焙光照與實時光照 171 6.17 烘焙發(fā)光源 173 6.18 靜態(tài)物體在動態(tài)物體上投射陰影 .174 6.19 使用光照探針調節(jié)光照 .176 6.20 使用反射探針 .178 6.21 偽造動態(tài)發(fā)光物體 182 6.22 從磁盤加載紋理 184 6.23 渲染到紋理 186 6.24 保存截圖 188 第7 章 物理和角色控制 191 7.1 FixedUpdate 191 7.2 鼠標視角192 7.3 控制3D 角色 .195 7.4 與開關或對象交互 199 7.5 撿起或放下物體 201 7.6 檢測兩個物理對象何時接觸 208 7.7 檢測物體何時進入觸發(fā)區(qū)域 210 7.8 實現(xiàn)移動平臺 211 7.9 站于平臺上 .214 7.10 被物體推動 218 第8 章 動畫與運動 223 8.1 為對象添加動畫 224 8.2 基本人物動作 228 8.3 反向動力學 233 8.4 遮罩運動238 8.5 混合運動243 8.6 同時應用導航與動畫 .247 8.7 電影攝像機跟拍 251 8.8 自動切換攝像機 254 8.9 保持多個對象在視圖內 255 8.10 軌道攝像機 256 第9 章 游戲進程 . 259 9.1 管理任務259 9.2 管理生命值 .276 9.3 創(chuàng)建俯視視角的攝像機 280 9.4 通過拖拽矩形框選擇多個對象 .283 9.5 創(chuàng)建菜單結構 287 9.6 創(chuàng)建帶輪子的車輛 292 9.7 防止翻車296 9.8 創(chuàng)建加速器 .297 9.9 創(chuàng)建圍繞目標旋轉的攝像機 299 9.10 創(chuàng)建不會穿墻而過的軌道攝像機 .303 9.11 檢測玩家何時繞賽道一圈 .304 第10 章 行為與AI . 315 10.1 定義AI 實體和玩家的移動路徑 315 10.2 確保游戲中的實體按照規(guī)定路徑移動 317 10.3 讓敵人檢測何時能看到玩家 319 10.4 生成高質量隨機點分布(泊松圓盤采樣) .325 10.5 讓敵人尋找藏身地 331 10.6 構建和使用狀態(tài)機 337 第11 章 聲音和音樂 343 11.1 播放聲音 343 11.2 設置混音器 346 11.3 音頻效果 348 11.4 發(fā)送與接收效果 .350 11.5 閃避 .352 11.6 使用多個音頻區(qū) .353 11.7 通過代碼播放音頻 355 11.8 使用聲音管理器 .356 第12 章 用戶界面 361 12.1 UI 控件 362 12.2 主題控件 367 12.3 UI 動畫 370 12.4 創(chuàng)建列表項 373 12.5 列表項淡出 378 12.6 創(chuàng)建位置指示器 381 12.7 自定義編輯器 .386 12.8 屬性繪制器 391 12.9 特性繪制器 397 12.10 資產處理 .400 12.11 編寫導入器腳本 402 12.12 向導程序 .406
|