Unity Shaders and Effets Cookbook
目录
作者简介
审稿人简介
前言
我是偏偏
Unity Shaders and Effets Cookbook
第一章:Diffuse Shading - 漫反射着色器
第二章:Using Textures for Effects - 着色器纹理特效的应用
第三章:Making Your Game Shine with Specular - 镜面反射让你的游戏闪光
第四章:Reflecting Your World - 反射
第五章:Lighting Models-光照模型
作者简介
Kenny Lammers拥有超过13年游戏行业的工作经验。 曾就职于微软、Activision,最后任职的公司是Surreal Software。他目前管理着两家公司,Creative TD和Ozone Interactive。第一家Creative TD公司,主要给 IGT、微软、Janus Research 和Allegorithmic这些公司做Unity3D的咨询和资产的创建。Ozone Interactive是他第二家公司,与商业合作伙伴Noah Kaarbo共同经营。Ozone Interactive这家公司主要专注于Unity3D领域,专门从事交互式应用程序和高质量的设计。为亚马逊、E-line Media、微软和Sucker Punch游戏等公司提供服务。由于他有在游戏行业工作过的经验,让他有机会接触到使用ZBrush和Maya软件来创建角色。还编写了《实时着色器和后期处理特效》、使用c#在Unity3D中编过写完整的游戏。他目前正在开发几款游戏,为了加快游戏制作的进度还在Unity中开发了工具集。
作者的话
我要感谢的人太多了!单这个就完全可以占整整一章。首先要感谢的也是最重要的当然是我的妈妈。她总是告诉我朝着梦想努力,并总是在我身边支持我!我要感谢我的商业伙伴Noah Kaarbo,他在我写这本书的过程中一直支持着我,并称为了我的好朋友。我还要感谢一起共事过的所有人,但尤其重要的是,我要感谢那些一直鼓励着我的人,这些人督促我进一步提高了技能水平,并为我打开了行业的新世界。这些人是Ben Cammerano (MGS), Paul Amer (MGS),Fillipo Costanzo (5D Institute),Alessandro Tento (Lakshya),James Rogers (MGS),and Tony Garcia (Unity Technologies)。如果没有他们其中的任何一个,就不会有我今天的成就,我对他们致以最从高的致意。
我要感谢我所有的意大利游戏开发者朋友们,感谢他们为我们国家的游戏开发产业做出的贡献
审稿人简介
Vincent Lim
Vincent Lim毕业于The One Academy,拥有数字动画和动画专业和游戏开发的文凭。毕业后,他立即加入了大蚂蚁工作室,被塑造成了游戏开发者。和他们相处了几年,Vincent学会了很多,从低多边形建模到平铺纹理再到地形雕刻,还有一点点的编程和MEL脚本。 他在大蚂蚁工作室非常积极,期间遇到的各种各样的任务。Vincent掌握了游戏引擎的知识、某些着色器的工作原理以及管线的工作流。为了提高效率,他得到了几次创建/重组某些管线的机会。他的MEL脚本技能是通过管线内的实际运用来培养的。 这使他可以做出艺术家可以使用的工具,在游戏中用来加快项目的进度并缩短从基础网格到3D模型的时间。凭借在Big Ant Studios的这些经验,Vincent通过学习新软件和阅读游戏力学以及游戏引擎,拓宽了自己的知识面。 这让他发现了Unity,并且他一直在Unity的领域中不断的保持着新的尝试。
Christian 'XeviaN' Meneghini
Christian 'XeviaN' Meneghini是一名年轻的老板,并热衷于Sinclair ZX Spectrum(它是由英国Sinclair公司于1982年生产的一款8位的键盘式个人电脑)。他开始使用基础的硬编码精和汇编语言来窥测游戏开发世界。 用基本语言和汇编语言的硬编码精灵窥探游戏开发世界。多年过去了,他使用了C64、辉煌的Amiga和所有PC家族处理器等伟大技术,使用了从Hercules和CGA的所有的视频卡,从第一个3D加速器到当前的3D加速器。 他沉迷于实时渲染和演示场景,同时专门从事图形编程和性能优化。 Christian 在业余时间也创作音乐。 多年来,Christian与朋友和同事们一起日以继夜的工作,研究技术书籍,编写引擎,并服务于第三方公司。2011年,Christian与朋友Marco Di Timoteo和 Luca Marchetti,一起创办了一家小型工作室,叫studio EVIL。 STUDIO EVIL的第一款产品是《Syder Arcade》,这是一款面向PC和Mac平台的老式复古射击游戏,带有真正的3D图形,随后游戏被移植到iOS、Android和OUYA平台。
前言
欢迎来到Unity着色器和效果食谱!这本书是你熟悉在Unity3D中创建着色器和后期效果的指南。您将在开始时开始您的旅程,创建最基本的着色器并学习着色器代码的结构。这一基础知识将武装你的手段进一步进入每一章,并产生着色器模拟人体皮肤,着色器处理动态反射,并将开发后期效果,如夜视。
在每一章结束时,你将获得新的技能集,这将增加你的着色器的质量,甚至使你的着色器写作过程更有效。这些章节都是量身定制的,这样你就可以跳到每一部分,从初学者到专家学习一种特定的技能。或者,对于那些在Unity中编写Shader的新手来说,你可以通过每一章的进展,一次一个,以你的知识为基础。无论哪种方式,你都将学习到制作现代游戏的技巧。
一旦你完成了这本书,你将有一组着色器,你可以在你的Unity3D游戏中使用,以及理解添加到它们,以完成新的效果和解决性能需求。让我们开始吧!
这本书的内容
第1章,漫射阴影,通过解释如何在Unity3D中构建着色器来教授着色器写作的基础。然后将知识应用于创建默认漫射照明,并提供来自行业的提示和技巧来创建自定义漫射照明
第2章,使用纹理效果,描述了如何利用纹理来创建不同的效果。您将学习如何通过着色器在精灵表上动画纹理,以及如何利用纹理的不同通道使着色器更有效。在本章结束时,你将有能力使用纹理来创建自己的自定义效果。
第3章,让你的游戏闪耀与高光,教你一切你需要知道的关于创建最广泛使用的高光类型,Blinn和Phong。您将学习如何应用这些着色器效果来创建遮罩镜面,金属镜面,甚至将学习创建各向异性镜面的技术。在本章结束时,您将有足够的信心为自己的自定义着色器创建自己的自定义高光效果。
第4章,反射你的世界,让你了解现代游戏中最流行的效果之一,那就是将反射技术结合到着色器中。本章将教你从Unity3D着色器反射的基础知识到使用c#建立自己的简单动态反射系统。
第5章,光照模型,开始创建更复杂的着色器的过程。你会学习到如何创建自己的光照模型来实现自己的表面类型。每小节会展示不同的技术来完成不同的任务,都是为了提高你的着色器写作技能。到本章结束时,你可以创建自己的皮肤着色器,自己的 Lit Sphere 着色器和自己的车漆着色器。
第6章“透明性”向你展示了在游戏制作的某些阶段,透明性成为一种必要的技术。几乎每款游戏都在某种程度上使用了透明度,比如GUI、树叶、贴花等等。在本章中,你将学习如何在Unity3D中使用透明度以及如何处理合并透明度时可能出现的问题。
第7章,顶点魔术,介绍了如何访问存储在我们的3D网格的每个顶点的信息。您将学习如何获取这些信息,并在着色器中利用它来产生纹理混合和动画等效果。
第8章,移动着色器调整,是关于如何利用Unity3D的内置标志和值来减少着色器的开销。这在处理移动平台上的着色器时变得尤为重要。
第9章,用CgIncludes模块化你的着色器世界,向你展示了学习如何重用你写过的代码是必要的,一遍又一遍,为了使你的着色器编写更有效。本章向您展示如何创建自己的CgInclude文件来存储所有重复的代码以供重用。
第10章,Unity渲染纹理的屏幕效果,首先看看任何现代游戏如何利用屏幕效果,有时被称为后期效果,改变游戏最终渲染图像的外观。您将学习如何创建自己的屏幕效果,并学习如何在游戏中添加颜色调整和纹理叠加以产生不同视觉效果的秘密。
第11章,游戏玩法和屏幕效果,将你学到的屏幕效果的知识更进一步,并向你展示如何创建屏幕效果,提高游戏中的时刻。您将学习如何创建旧电影屏幕效果以及夜视屏幕效果。
我是偏偏
还依稀记得多年前发现这本书时的喜悦,阅读过程中做了很多笔记、吧啦吧啦代码之类的。在天时地利机缘巧合的情况下可以有一些时间来整理整理这些笔记,然后写写文章。
个人感觉这本书主要讲解的是美术效果做落地,而相对于偏纯理论方面的知识点不会讲解过多或过深,但书里也会附有说明,一般都会为我们提供相对应的网址链接,让我们自行去补充。这本书对于初学者来说是非常友好的。不仅有完整的代码,还可以让你看到完整的展示效果。以往敲Shader并不常使用Surface Shader,这本书也让我对Surface Shader有了更多的了解,内容比较通俗易懂,逐字逐句的阅读下来对自己的英语也有很大的帮助。
未曾谋面的朋友们 —— 共勉!
Unity Shaders and Effets Cookbook
《着色器和屏幕特效制作攻略》
I like this book!Reading, recording, and sharing...
点击下方链接进入对应文章
第一章:Diffuse Shading - 漫反射着色器
- 1.创建基础表面着色器
- 2.为表面着色器添加属性
- 3.在表面着色器中使用材质属性
- 4.创建自定义漫反射光照模型
- 5.创建半兰伯特照明模型
- 6.创建一个渐变纹理来控制漫反射着色
- 7.使用2D渐变纹理模拟BRDF
第二章:Using Textures for Effects - 着色器纹理特效的应用
- 1.通过修改UV坐标实现纹理滚动效果
- 2.精灵表动画
- 3.封装混合纹理贴图
- 4.法线贴图
- 5.在Unity编辑器中创建程序纹理
- 6.Photoshop色阶特效
第三章:Making Your Game Shine with Specular - 镜面反射让你的游戏闪光
- 1.使用Unity3D内置的镜面反射
- 2.创建 Phong 镜面反射
- 3.创建 BlinnPhong 镜面反射
- 4.使用高光贴图来实现镜面反射
- 5.金属与软镜面反射的比较
- 6.创建各向异性镜面反射
第四章:Reflecting Your World - 反射
- 1.在 Unity3D 中创建立方体贴图
- 2.Unity3D 中实现立方体贴图反射
- 3.Unity3D 中实现遮罩反射
- 4.Unity3D 中实现法线贴图和反射
- 5.Unity3D 中实现菲涅耳反射
- 6.在 Unity3D 中创建动态立方体贴图系统
第五章:Lighting Models-光照模型
- 1.Lit Sphere光照模型
- 2.漫反射卷积光照模型
- 3.车漆光照模型
- 4.皮肤着色器
- 5.布料着色器
==
感谢这些年遇到的人,看过的书。
致敬作者们
这本书可以让你学习到如何使用着色器和屏幕特效让你的Unity工程拥有震撼的渲染画面。
作者:Kenny Lammers