本書從基礎的著色器結構到著色器的創建,循序漸進地講解著色器的各種知識,不僅介紹基於物理基礎的渲染和全局照明的使用,而且詳細介紹如何開發後期特效,如夜視等。每章都會介紹一些新的技巧,以改善著色器質量或者提升著色器代碼編寫效率等。讀者可以通過逐章閱讀來構築整個知識體係,學會製作現代遊戲視覺的技術。
譯者序
前 言
第1章 創建你的第一個著色器1
1.1 引言1
1.2 創建基本的標準著色器2
1.3 從Unity 4嚮Unity 5遷移6
1.4 給著色器添加屬性9
1.5 在錶麵著色器中使用屬性12
第2章 錶麵著色器和紋理映射17
2.1 引言17
2.2 漫反射著色18
2.3 使用包裝數組20
2.4 給著色器添加紋理22
2.5 通過修改UV值來滑動紋理25
2.6 法綫映射27
2.7 創建透明材質32
2.8 創建全息著色器34
2.9 打包和混閤紋理37
2.10 在地形周圍創建圓環41
第3章 理解光照模型45
3.1 引言45
3.2 創建自定義的漫反射光照模型46
3.3 創建卡通著色器49
3.4 創建馮氏反射類型光照模型52
3.5 創建BlinnPhong反射類型光照模型56
3.6 創建各嚮異性反射類型光照模型59
第4章 Unity 5中基於物理基礎的渲染64
4.1 引言64
4.2 理解金屬光澤屬性65
4.3 給PBR添加透明度68
4.4 創建鏡麵和反射型錶麵71
4.5 在場景中添加烘焙光74
第5章 頂點函數78
5.1 引言78
5.2 在錶麵著色器中訪問頂點顔色79
5.3 錶麵著色器中的頂點動畫82
5.4 擠壓模型85
5.5 實現雪花著色器88
5.6 實現體積爆炸效果91
第6章 碎片著色器和抓取96
6.1 引言96
6.2 理解頂點和碎片著色器96
6.3 使用抓取100
6.4 實現玻璃著色器103
6.5 給2D遊戲添加水麵著色器105
第7章 移動端著色器優化109
7.1 引言109
7.2 什麼是輕量著色器109
7.3 對著色器進行性能分析114
7.4 移動平颱上的著色器修改119
第8章 使用Unity的渲染紋理實現屏幕特效123
8.1 引言123
8.2 創建屏幕特效的腳本係統124
8.3 使用屏幕特效實現亮度、飽和度以及對比度131
8.4 使用屏幕特效實現類似Photoshop的基本混閤模式136
8.5 使用屏幕特效實現覆蓋混閤模式141
第9章 遊戲可玩性和屏幕特效145
9.1 引言145
9.2 創建老電影風格的屏幕特效146
9.3 創建夜視風格的屏幕特效155
第10章 高級著色技術163
10.1 引言163
10.2 使用Unity中內置的CgInclude文件163
10.3 使用CgInclude對著色器進行模塊化166
10.4 實現毛皮著色器169
10.5 使用數組實現熱度圖174
Preface本書介紹Unity5中著色器的創建和後期特效開發。你可以從零開始學習創建最基本的著色器,掌握著色器代碼是如何組織的。開始的基礎知識可以有效地“武裝”你,讓你在後續如體積爆炸、毛皮著色等章節中遊刃有餘。本版是專門為Unity5量身定製的,可以通過使用一些基於物理基礎的渲染和全局照明來讓你的場景栩栩如生。
在每一章的結尾,你都會獲得一些新的技巧,比如改善著色器質量或者提升著色器代碼編寫效率等。這些章節都是量身定製的,所以如果你之前已經有瞭一些經驗,完全可以直接跳到你感興趣的章節來專門學習。對於新手來講,可以逐章閱讀來構築整個知識體係。不管使用何種方式,你都會學到製作現代遊戲視覺的技術。
在讀完本書之後,你手上會有一堆已經做好的著色器,可以在你的Unity3D遊戲中使用這些著色器,除此之外你會理解如何創建新的著色器,如何完成新的特效以及性能優化等。廢話不多說,讓我們開始吧!
本書主要內容第1章會將你引入Unity4和Unity5的著色器編碼世界。
第2章介紹錶麵著色器中的一些非常常用的技術,包括如何給你的模型使用紋理和法綫映射。
第3章深度解析著色器是如何給光照行為建模的。本章會教你如何創建自定義光照模型來模擬一些特殊效果,比如卡通著色。
第4章會告訴你基於物理基礎的渲染是Unity5中使用的一種模擬現實的基礎技術,會教你如何最大限度地使用好基於物理基礎的渲染,如何使用透明度、反射型錶麵和全局照明等。
第5章會教你如何使用著色器來修改物體的幾何結構。本章會引入頂點編輯器,使用它可以製作體積爆炸、雪花等生動的特效。
第6章解釋如何使用抓取功能來製作一些半透明材料形成的變形效果。
第7章會幫助你對著色器進行一些優化,以保證遊戲在各種不同設備上都能正常運轉。
第8章展示如何創建特效和其他一些除瞭Unity幾乎不可能實現的視覺效果。
第9章會告訴你如何通過後期特效來提升遊戲的可玩性,比如夜視效果。
第10章介紹本書中的很多高級技巧,比如毛皮著色和熱度圖渲染等。
閱讀前的準備工作下麵列齣的是使用本書時所必需和可選的一些軟件:
Unity5(必需)一個3D應用程序,比如Maya、Max或者Blender(可選)一個2D圖像編輯軟件,比如Photoshop或者Gimp(可選)本書的讀者對象如果你想用Unity5來創建你的首個著色器,或者想通過一些專業的後期特效來將你的遊戲提升到一個新的高度,這本書就很適閤你,但是可能需要一些對於Unity的基礎理解。
本書結構在本書中,你會發現有幾個頻繁齣現的標題(準備工作、操作步驟、工作原理、更多內容、參考),這幾個標題一般是這樣用的:
準備工作這個部分告訴你預期要做齣來的效果是什麼,需要準備哪些軟件和預先的設置。
操作步驟這個部分包含瞭實現的具體步驟。
工作原理這個部分一般是對操作步驟的詳細解釋。
更多內容這一部分由一些相關的附加信息組成,以方便讀者對整體內容有更全麵的認識。
參考這一部分會提供一些有用的鏈接和其他有用信息。
約定注意以這種方式齣現。
提示和技巧以這種方式齣現。
下載示例代碼本書提供相關的一些示例代碼文件下載,可以訪問http://www.packtpub.com/support來注冊,相關文件會用電子郵件直接發給你。
下載代碼文件的步驟如下:
1.通過電子郵件和密碼在上述網站上登錄或者注冊。
2.移動鼠標到網站頂部的SUPPORT標簽處。
3.點擊CodeDownloads&Errata;。
4.輸入書名,點擊Search按鈕。
5.選擇你在查找的書籍,下載相關代碼文件。
6.從下拉菜單中選擇你的購買渠道。
7.點擊CodeDownload。
文件下載之後,請使用如下解壓軟件進行解壓:
Windows係統請使用WinRAR/7-Zip,Mac係統請使用Zippeg/iZip/unRarX,Linux係統請使用7-Zip/PeaZip。
下載本書的彩圖我們還提供本書中所用到的截圖、圖片的彩圖PDF文件,這些彩圖可以讓你更好地理解輸齣的細微差彆。你可以從https://www.packtpub.com/sites/default/files/downloads/Unity5xShadersAndEffectsCookbook_SecondEdition_Graphics.pdf處下載。
TheTranslater'sWords譯者序我從2015年開始接觸Unity開發,在此之前接觸過很多遊戲,也間或見過一些遊戲開始時的Unity跳轉頁麵。2014年暴雪發布瞭一款卡牌遊戲《爐石傳說》,該遊戲畫風精美,趣味十足,也深深地吸引瞭包括我在內的韆萬玩傢。更讓我吃驚的是,在該遊戲的介紹頁麵中提到其開發平颱使用的正是Unity3D。自此之後我便開始瞭Unity的學習之旅。
Unity是一個專業的遊戲引擎,功能十分強大。但是對於沒有接觸過任何遊戲開發或者沒有接觸過代碼的新手而言,要學會從頭到尾地開發一個遊戲還是頗有難度的。本書並不涉及Unity遊戲開發的所有方麵,而是重點關注遊戲開發中頗為晦澀難懂的著色器。
著色器是遊戲錶現超強擬實效果的基石。和大韆世界中各種各樣的材料對應的是,遊戲裏麵也需要有各種各樣的著色器及其組閤來對其進行模擬。比如透明的玻璃效果,栩栩如生的動物皮毛效果等。如果讀者恰好對這些內容感興趣,或者需要實現一些類似的需求,那麼本書應該很適閤你。受篇幅所限,有一些不是本書主要內容的部分作者也提供瞭很多資料和文檔的鏈接,非常有助於你對某些領域加強理解和認識。
就翻譯本身而言,雖然我們會盡力細心地審查和校對,但仍難免有所疏忽。如果在閱讀過程中發現一些瑕疵或者有爭議的地方,十分歡迎讀者聯係譯者進行核對和改進,以免對大傢造成睏擾。我的聯係方式是SonlyF5020@gmail.com。
在承接本書翻譯之時,恰逢我的兒子剛剛齣生。當時除瞭工作的忙碌之外,還得花一部分業餘時間來完成翻譯,在此對我愛人周彩萍和兒子詹小賢道一聲感謝,是你們一直以來的理解和支持纔讓本書得以完成。
占紅來2017年3月北京
這本書絕對是Unity開發者,尤其是對圖形和視覺效果感興趣的同學們的寶藏!作者的講解方式非常深入淺齣,即便我之前對 shader 的理解僅限於一些基礎概念,讀完這本書後,感覺像是打開瞭新世界的大門。書裏關於屏幕空間特效的章節尤其讓我印象深刻,從最基本的後處理(post-processing)概念,到如何實現景深(depth of field)、泛光(bloom)、色彩校正(color grading)等,每一步都講解得清晰透徹,並且提供瞭實用的代碼示例,讓我能夠立刻上手實踐。我最喜歡的一點是,作者並沒有停留在“怎麼做”,而是深入地解釋瞭“為什麼這麼做”,這對於真正理解 shader 的底層邏輯至關重要。例如,在講解抗鋸齒(anti-aliasing)的時候,不僅展示瞭不同方法的實現,還詳細對比瞭它們的性能損耗和視覺效果差異,這讓我對如何在項目中做齣權衡有瞭更明確的認識。此外,書中關於紋理(texture)和采樣(sampling)的章節也很有啓發,讓我對紋理貼圖的各種屬性有瞭更深入的理解,比如紋理過濾(texture filtering)和尋址模式(addressing modes),這些看似細微的細節,在實際開發中卻能極大地影響最終畫麵的質量。這本書的內容非常紮實,不是那種泛泛而談的教程,而是真正能教會你如何創造齣令人驚嘆的視覺效果。
評分這本書給我的感覺是一本非常“實在”的參考書。它不像一些網絡上的零散教程,隻是給你幾個例子然後讓你復製粘貼。這本書的作者顯然花瞭很多心思來組織內容,讓讀者能夠循序漸進地學習。我特彆喜歡它關於材質(material)和渲染流程(rendering pipeline)的講解。在書中,我第一次真正理解瞭Unity的渲染器是如何工作的,包括頂點數據(vertex data)、三角形(triangles)、像素著色(pixel shading)等等。當我讀到關於如何創建自定義的渲染紋理(render texture)以及如何利用它來實現一些特殊的視覺效果時,我感覺自己對Unity的掌握程度又上瞭一個颱階。書中的很多章節都提供瞭非常詳細的“動手做”環節,讓你可以邊學邊練。我印象最深刻的是關於實現屏幕空間反射(screen-space reflections)的章節,雖然我對反射的概念一直有所瞭解,但具體如何在Unity中實現,並且達到比較好的效果,一直是個睏擾。這本書給齣瞭非常清晰的實現步驟和代碼,並且解釋瞭其中的技術細節,讓我茅塞頓開。這本書的內容非常豐富,涵蓋瞭從基礎到著色的方方麵麵,對於想要深入瞭解Unity圖形渲染的開發者來說,絕對是一本不容錯過的書籍。
評分這本書的優點在於它並沒有僅僅停留在Unity自帶的ShaderLab語言層麵,而是更進一步地探討瞭如何使用HLSL(High-Level Shading Language)來編寫更復雜、更高效的著色器。作為一名對圖形學有一定興趣,但又希望能在實際項目中有所應用的開發者,我發現這本書的定位非常精準。作者的講解方式非常注重邏輯性和係統性,他從圖形渲染的基本原理講起,然後逐步引入Unity的著色器係統。我最欣賞的是書中關於GPU(Graphics Processing Unit)工作原理的介紹,這讓我明白為什麼在編寫著色器時,某些操作會比其他操作更耗費性能。例如,他在講解如何優化紋理采樣(texture sampling)時,詳細對比瞭不同采樣方式的效率,以及如何通過紋理打包(texture packing)來減少draw call,這些都是在實際項目中提升性能的關鍵點。書中的示例代碼非常詳細,不僅給齣瞭代碼本身,還對每一行代碼的功能進行瞭注釋和解釋,這對於初學者來說非常有幫助。我特彆喜歡書中關於實現卡通渲染(cel shading)和輪廓綫(outlines)的章節,這些都是非常具有錶現力的渲染技術,而這本書提供瞭實現這些效果的完整思路和代碼。總而言之,這是一本能夠讓你真正理解著色器背後原理,並將其應用於實際項目的優秀讀物。
評分這本書不僅僅是一本關於Unity著色器的技術手冊,更像是一本關於如何用代碼“繪製”世界的藝術指南。作者的筆觸非常細膩,他不僅僅是告訴你“怎麼做”,更引導你去“思考為什麼”。我最喜歡的是書中關於如何利用著色器來模擬各種物理現象和自然光照的章節。例如,關於如何實現水波紋(water ripples)和火焰效果(fire effects)的講解,非常生動形象,讓我對如何通過數學和編程來創造齣逼真的動態效果有瞭深刻的理解。書中的代碼示例質量很高,而且作者非常注重代碼的可讀性和可擴展性,這對於我們開發者來說非常重要。我尤其贊賞作者在講解高級概念時,會適時地穿插一些實際項目中的應用場景,這讓原本抽象的技術變得更加具體和實用。比如,在介紹如何實現粒子係統(particle system)中的自定義著色器時,他就結閤瞭一個實際的爆炸效果的例子,這讓我能夠立刻將學到的知識應用到自己的項目中。此外,書中關於後處理棧(post-processing stack)的講解也非常有價值,它為我們提供瞭一個統一的框架來管理和組閤各種屏幕特效,這極大地提高瞭開發效率。這本書的內容深度和廣度都非常齣色,對於任何想要在Unity中創造齣令人驚艷視覺效果的開發者來說,都是一本必讀的經典。
評分從一名Unity遊戲開發的初學者角度來看,這本書的難度麯綫可能比我預期的要稍微陡峭一些,但恰恰是這種挑戰性,讓我學到瞭非常多寶貴的東西。一開始,我以為這本書會像很多入門教程那樣,隻介紹一些簡單的Shader Lab語法,然後就結束瞭。但這本書完全不是。它從最基礎的Unity著色器語言(ShaderLab)開始,逐步引導讀者理解頂點著色器(vertex shader)和片元著色器(fragment shader)的工作原理。我特彆喜歡作者在講解光照模型(lighting models)時,那種層層遞進的邏輯。他不僅展示瞭如何實現PBR(Physically Based Rendering)的光照,還深入剖析瞭各種光照參數的意義,比如反射率(reflectance)、金屬度(metallic)、粗糙度(roughness)等等,這讓我對理解和調整遊戲中的材質錶現有瞭全新的視角。書中的大量代碼示例,雖然一開始需要花些時間去理解,但每當我成功運行一個例子,並看到預期的視覺效果時,那種成就感是無與倫比的。我印象最深的是關於自定義渲染管綫(custom render pipeline)的章節,雖然那部分內容對我來說還是有點超前,但我能感受到作者試圖為讀者打開一扇通往更高級圖形編程的大門。這本書更像是一本“武功秘籍”,需要靜下心來,一點一點地去揣摩和練習,纔能真正掌握其中的精髓。
評分不錯的,正版
評分好好好好好好好好好好好好好好好好好好好好好好好好好好好
評分物品非常好哦
評分好好好好好好好好好好好好好好好好好好好好好好好好好好好
評分不值得購買
評分計算機書籍還是買經典的,其他的資料網上都有,
評分618買的
評分嗯,水平還是很不錯的!!!!!
評分還可以。。。?
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有