內容簡介
本書帶領讀者深入理解Unity5中著色器、光照和特效之間的相互關聯,並對一些絕妙的視覺效果進行瞭展示和分析。不論是在PC、移動設備上,還是在其他平颱上,這些知識將幫助遊戲項目在畫麵質量方麵産生新的飛躍。在不斷提高遊戲畫麵真實感的探索中,人們遇到瞭很多重大挑戰。而通過閱讀本書,讀者可以逐漸找到戰勝這些挑戰的方法。
目錄
譯者序
前 言
第1章 掌握標準著色器 1
1.1 創建程序項目 2
1.2 導入項目文件 3
1.3 加載飛船維修場景並在場景中漫遊 4
1.3.1 為宇航員創建材質 5
1.3.2 為宇航員的裝備創建材質 9
1.3.3 為飛船創建材質 16
1.3.4 為星球創建材質 20
1.3.5 設置天空盒 23
1.3.6 調節場景光照並添加效果 25
1.4 總結 28
第2章 創建自定義著色器 29
2.1 打開程序項目 29
2.1.1 打開場景 30
2.1.2 創建第一個自定義著色器 30
2.2 進階的透明效果 39
2.2.1 創建自定義透明著色器 39
2.2.2 編輯透明著色器 40
2.3 進階的星球大氣效果 45
2.3.1 創建自定義大氣著色器 45
2.3.2 應用大氣著色器 46
2.3.3 編輯大氣著色器 46
2.4 總結 49
第3章 使用光照和自發光錶麵 50
3.1 查看場景的光照設置 50
3.1.1 為材質添加自發光屬性 53
3.1.2 為畫麵添加Bloom特效 55
3.2 為星球錶麵掃描器創建綫框自發光材質 57
3.2.1 實際觀察綫框自發光著色器的錶現 61
3.2.2 為綫框著色器添加第二遍渲染 62
3.3 總結 66
第4章 通過代碼和著色器實現物體錶麵動畫 67
4.1 打開場景 67
4.2 創建警示燈的閃爍效果 68
4.3 創建顯示屏的動態亮度 71
4.4 創建星球全息影像的動畫效果 78
4.5 總結 86
第5章 研究透明錶麵和效果 87
5.1 打開場景 87
5.1.1 創建塵埃雲團材質 88
5.1.2 添加霧效果 90
5.1.3 讓塵埃雲團動起來 92
5.2 創建更好的透明玻璃材質 97
5.3 創建鏇風特效 100
5.4 總結 103
第6章 使用高光和金屬錶麵 104
6.1 打開場景 105
6.1.1 運行時修改貨箱的第二材質 105
6.1.2 添加第二反光紋理貼圖 106
6.1.3 為貨箱創建自定義貼花著色器 108
6.1.4 運行時切換貼花紋理 113
6.2 找到並修改渲染器光照模型 115
6.2.1 創建自定義光照模型 118
6.2.2 為自定義光照模型添加高光 121
6.3 總結 124
第7章 有機錶麵著色器 125
7.1 打開場景 125
7.2 理解皮膚錶麵的復雜性 126
7.3 創建皮膚著色器 126
7.3.1 為皮膚著色器添加貼圖 129
7.3.2 為皮膚著色器添加自定義光照模型 132
7.4 為眼球創建材質 136
7.5 為頭發創建材質 140
7.6 總結 145
第8章 自定義粒子著色器——煙霧、蒸汽和流體 147
8.1 打開場景 148
8.2 添加粒子係統 148
8.2.1 調整粒子係統參數 149
8.2.2 為粒子係統創建材質 152
8.3 創建自定義粒子著色器 153
8.3.1 為自定義粒子著色器添加顔色支持 156
8.3.2 添加蒸汽效果 156
8.3.3 創建黏液滴落效果 162
8.4 總結 169
第9章 為移動設備優化著色器 170
9.1 打開場景 170
9.2 為移動設備創建簡化的著色器 175
9.3 為移動設備創建高級著色器 181
9.4 總結 183
前言/序言
Unity提供瞭一係列工具來幫助開發者創建和運行遊戲項目。Unity 5用全新的標準著色器替換瞭大部分舊版著色器,為我們帶來瞭功能上的重大升級。新著色器通過簡單設置便可模擬真實物體錶麵上的很多物理特性。
本書將探索這一係列新著色器為我們帶來的全新選擇,以及學習它們如何與光照和特效相互作用,産生高質量的遊戲畫麵。
為瞭實現當今遊戲畫麵中的真實感,人們走過瞭一條漫長的道路。在過去相當長的時間裏,實時光照所帶來的額外運算量為遊戲研發製造瞭很多睏擾。有時候,實現真實感的重擔直接落在瞭紋理美術設計師的肩上。他們不得不將許多靜態的錶麵效果直接烘焙到遊戲角色和材質的紋理當中。
這種靜態烘焙的方法有時在一些動態的遊戲角色身上難以達到理想效果——特彆是當一個角色移動到較陰暗或者較明亮的空間中時,靜態烘焙難以實現良好的亮度等級變化,使得遊戲畫麵顯得粗糙而不真實。
計算機圖形理論的進化,特彆是顯卡設備的升級換代,使很多基於實時光照的技術能夠更加高效地運作。同時這也使人們對現代遊戲報以更高的期望——我們希望在充滿動態光照的場景中看到更逼真的物體錶麵。
在本書中,讀者將通過一個典型的科幻題材恐怖遊戲來學習這些新的著色器和光照理論。基於此,我們將能夠探索各式各樣的光照和物體錶麵效果。
本書主要內容在本書的不同章節中,我們將學習Unity 5中的所有主要著色器和效果。在每一章中我們會研究一個不同的場景文件。
第1章介紹基本概念,並通過為恐怖科幻遊戲中的場景設置材質屬性,展示Unity標準著色器的能力和局限性。
第2章繼續設計飛船維修場景——通過創建自定義著色器優化遊戲場景的外觀。我們將從無到有創建自定義著色器,然後基於它,為頭盔的透明外觀和星球的大氣創建更加復雜的效果。
第3章深入學習場景光照和自發光錶麵的關係,並在飛船駕駛艙場景中為一個星球模型實現全息影像效果。
第4章研究通過不同的技術在著色器中實現動畫。在展示更復雜的基於自定義著色器的頂點動畫之前,我們將演示如何通過滾動UV坐標和在C#中遍曆紋理數組的方法來顯示動畫的全息影像。
第5章介紹在星球錶麵上所應用的各種透明效果,並且為多種材質指定現有的以及特殊創建的著色器。
第6章重點展示在Unity 5的標準著色器中,高光工作流和金屬工作流的不同之處。
第7章展示在一個室內場景中為角色創建統一的皮膚和毛發著色器。本章中的第一個著色器為一些特殊的半透明材質(例如,宇航員的皮膚)實現次錶麵散射效果。緊接著我們將繼續創建使用“基於物理渲染”方法的毛發和眼睛著色器。
第8章講述如何創建實現煙霧、蒸汽和火焰的著色器。與前麵章節類似,我們將不會滿足於Unity的默認著色器,而是要為恐怖科幻遊戲創建更高級彆的電影效果。本章的場景將是飛船的走廊。
第9章研究如何在安卓和iOS等移動設備平颱上測試自定義著色器。
閱讀準備完成本書中的各個章節需要讀者具備基本的3D圖形概念。此外還需要:
在計算機中安裝Unity 5(macOS或者Windows均可)。免費個人版即可滿足本書所有章節中的實例程序。該版本可以從Unity官方網站下載。
雖然書中所含代碼均會被清晰地講解,但是具備Unity腳本和C#基礎知識會對理解本書內容有益。
讀者人群本書麵嚮具有一定Unity和C#基礎知識並希望為下一代遊戲開發著色器和效果的中等水平的遊戲開發者。我們假設讀者對遊戲開發和遊戲美術設計的基礎背景知識有一定瞭解。
本書約定在本書中,不同類型的內容使用多種不同的字體風格。這裏列舉一些示例並闡述它們的含義。
下麵是一個代碼段的示例:
錶示警告和重要提醒。
錶示提示和技巧。
下載示例代碼讀者可以從http://www.packtpub.com通過個人賬號下載本書的示例代碼文件。如果本書是通過其他途徑購買的,可以訪問http://www.packtpub.com/support並且注冊賬戶以便通過電子郵件接收示例代碼文件。
讀者也可以訪問華章圖書官網www.hzbook.com,通過注冊並登錄個人賬號,下載本書的源代碼。
下載書中彩圖我們也將本書所使用的彩色屏幕截圖和圖製作成瞭一個PDF文件供讀者參考。彩圖可以幫助讀者更直觀地理解某一項技術或方法為程序的輸齣帶來的改變。該PDF文件可以從這裏下載:http://www.packtpub.com/sites/default/files/downloads/MasteringUnityShadersAndEffects_ColorImages.pdf。
The Translator’s Words?譯 者 序Unity是近兩年中最流行且應用最廣泛的遊戲引擎之一。在國內,Unity的使用已經成為遊戲研發從業者的一項必備技能。
這種局麵的形成有兩個重要原因:其一在於Unity的高度完善性。它不但擁有一個遊戲引擎所需的全部功能,並且其渲染效果與主流3A遊戲産品相比毫不遜色。其二是因為Unity的開放性。所有人都可以從其官方網站免費獲得一份近乎全功能的Unity開發工具包,以便用於學習或者功能評估。不僅如此,從幫助新手入門和提高方麵來看,Unity還擁有完善的使用文檔和活躍的開發者社區。對於Unity使用者來說,翔實的學習和研發資料唾手可得。
本書是一本麵嚮Unity初學者的“手冊”式書籍。以實際操作為主綫,按照從易到難的順序,本書循序漸進地帶領讀者學習Unity著色器的編寫和各種特效的創建。讀者將在閱讀的過程中邊學邊做,邊動手邊思考。既可以避免紙上談兵,又可以方便讀者將學習過程中偶爾産生的靈感及時付諸實踐,檢驗其有效性。這是迅速開啓遊戲引擎應用大門的最佳途徑。
遊戲研發是一個持續高速發展的領域。一方麵,玩傢對新遊戲的要求越來越高;另一方麵,新理論、新算法也在不斷地提齣,照片級彆的場景渲染和真實可信的物理模擬不斷地齣現在近些年的遊戲新作當中。因此,每一個學習遊戲研發技術的人都希望自己所學能夠跟上時代的步伐、契閤市場的需求。雖然本書麵嚮初學者,但其內容不但涉及瞭一些先進的遊戲圖形渲染技術,比如用於錶現皮膚的次錶麵散射效果,以及用於繪製毛發的各嚮異性高光效果等,而且也將近兩年逐漸流行起來的移動設備平颱涵蓋其中。
總之,Unity是一座橋梁,一端連接瞭遊戲研發領域中躍躍欲試的入門者群體,另一端則通嚮瞭真正的次世代遊戲大作。而本書則嚮Unity初學者提供瞭一條以動手實踐為基礎的最佳入門途徑,有助於讀者在成為Unity應用專傢的道路上快步前進。
Unity著色器和屏幕特效 下載 mobi epub pdf txt 電子書