书籍简介:
《Unity着色器和屏幕特效开发秘笈》是一本全面介绍Unity着色器的重要书籍,它对于想要学习Unity着色器的人来说是一本不容错过的好书。作者莱莫尔斯从最基础的着色器结构到着色器的创建,循序渐进地讲解着色器的各种知识,不仅会讲解皮肤着色器、布料着色器、车漆着色器、透明裁剪着色器、处理动态反射的着色器等常用着色器的创建,而且也会详细介绍如何开发后期特效,如夜视、反射等。同时,每章最后还会介绍一些新的技术,包括如何提高着色器质量以及着色器的编写效率。
《Unity着色器和屏幕特效开发秘笈》共分为11章,几乎包含了Unity着色器中常用的效果示例。主要内容包括基础的漫反射着色;两种高光类型Blinn和Phong,以及利用这些高光类型创造蒙皮镜面、金属镜面等高光效果;反射的实现;创建自定义的光照模型;透明度在游戏当中的实现;访问存储在3D网格中的顶点信息;移动端是如何减少着色器中的内存开销的;着色器组的模块化,以及重用代码的必要性;使用渲染纹理实现屏幕特效。
《Unity着色器和屏幕特效开发秘笈》适合游戏开发者、特效程序员、美工人员阅读,也可作为培训学校的教材。
作者简介:
Kenny Lammers,有13年的游戏行业从业经验,曾就职于微软、Activision和Surreal Software等公司,目前经营两家公司——Creative TD和Ozone Interactive。Creative TD这家公司主要为IGT、微软、Janus Research和Allegorithmic等公司提供Unity3D咨询和资源创建服务, Ozone Interactive这家公司专注于Untiy3D,为亚马逊、E行媒体、微软和Sucker Punch游戏公司等制作互动式应用和高品质的设计。
晏伟,现就职于中煤科工集团重庆研究院有限公司,对于Unity的表面着色器、HLSL等着色语言,以及MMOG服务器的构建和网络通信都有较深的了解。他的研究方向为数字矿山、计算机图形学、三维虚拟仿真,曾参与中煤科工集团重庆研究院应急救援研究所院重点项目“煤矿安全虚拟仿真与培训系统”、“国家矿山救援仿真培训系统”、“煤矿安全虚拟仿真系统—安全意识”、“矿山救援多人协同演练系统”的开发,并作为中煤科工集团重庆研究院2013年青年创新基金项目负责人, 负责“矿山救援仿真演练系统的MMOG技术研究”。
出版时间:
2014年10月
章节目录:
译者序
前 言
第1章 漫反射着色
1.1 引言
1.2 创建基本的表面着色器
1.2.1 准备工作
1.2.2 如何操作
1.2.3 实现原理
1.2.4 参考
1.3 为表面着色器添加属性
1.3.1 如何操作
1.3.2 如何操作
1.3.3 参考
1.4 在表面着色器中使用属性
1.4.1 如何操作
1.4.2 实现原理
1.5 创建自定义漫反射光照模型
1.5.1 如何操作
1.5.2 实现原理
1.5.3 更多内容
1.5.4 参考
1.6 创建Half Lambert光照模型
1.6.1 如何操作
1.6.2 实现原理
1.7 创建渐变纹理来控制漫反射着色
1.7.1 准备工作
1.7.2 如何操作
1.7.3 实现原理
1.8 使用2D渐变纹理创建假的BRDF
1.8.1 准备工作
1.8.2 如何操作
1.8.3 实现原理
1.8.4 参考
第2章 使用纹理贴图制作特效
2.1 引言
2.2 通过修改UV坐标实现纹理贴图的滚动
2.2.1 准备工作
2.2.2 如何操作
2.2.3 实现原理
2.3 让精灵表单动起来
2.3.1 准备工作
2.3.2 如何操作
2.3.3 实现原理
2.3.4 更多内容
2.3.5 参考
2.4 压缩和混合纹理贴图
2.4.1 准备工作
2.4.2 如何操作
2.4.3 实现原理
2.4.4 参考
2.5 法线贴图
2.5.1 准备工作
2.5.2 如何操作
2.5.3 实现原理
2.5.4 更多内容
2.6 在Unity编辑器中创建程序纹理贴图
2.6.1 准备工作
2.6.2 如何操作
2.6.3 实现原理
2.6.4 更多内容
2.7 Photoshop色阶效果
2.7.1 准备工作
2.7.2 如何操作
2.7.3 实现原理
2.7.4 更多内容
2.7.5 参考
第3章 利用镜面反射让游戏闪耀起来
3.1 引言
3.2 利用Unity3D内置的高光类型
3.2.1 准备工作
3.2.2 如何操作
3.2.3 实现原理
3.3 创建Phong高光类型
3.3.1 准备工作
3.3.2 如何操作
3.3.3 实现原理
3.4 创建BlinnPhong高光类型
3.4.1 准备工作
3.4.2 如何操作
3.4.3 实现原理
3.5 使用贴图对模型的高光进行遮罩
3.5.1 准备工作
3.5.2 如何操作
3.5.3 实现原理
3.6 金属与软高光
3.6.1 准备工作
3.6.2 如何操作
3.6.3 实现原理
3.6.4 参考
3.7 创建各向异性高光类型
3.7.1 准备工作
3.7.2 如何操作
3.7.3 实现原理
第4章 着色器的反射
4.1 在Unity3D中创建立方图
4.1.1 准备工作
4.1.2 如何操作
4.1.3 实现原理
4.1.4 参考
4.2 Unity3D中简单的立方图反射
4.2.1 准备工作
4.2.2 如何操作
4.2.3 实现原理
4.3 Unity3D中的遮罩反射
4.3.1 准备工作
4.3.2 如何操作
4.3.3 实现原理
4.4 Unity3D中的法线贴图和反射
4.4.1 准备工作
4.4.2 如何操作
4.4.3 实现原理
4.4.4 更多内容
4.5 Unity3D中的菲涅尔反射
4.5.1 准备工作
4.5.2 如何操作
4.5.3 实现原理
4.6 在Unity3D中创建简单的动态立方图系统
4.6.1 准备工作
4.6.2 如何操作
4.6.3 实现原理
4.6.4 更多内容
第5章 光照模型
5.1 引言
5.2 发光球体光照模型
5.2.1 准备工作
5.2.2 如何操作
5.2.3 实现原理
5.2.4 参考
5.3 漫反射卷积光照模型
5.3.1 准备工作
5.3.2 如何操作
5.3.3 实现原理
5.3.4 更多内容
5.3.5 参考
5.4 创建车辆喷漆的光照模型
5.4.1 准备工作
5.4.2 如何操作
5.4.3 实现原理
5.4.4 更多内容
5.5 皮肤着色器
5.5.1 准备工作
5.5.2 如何操作
5.5.3 实现原理
5.5.4 更多内容
5.6 布料着色器
5.6.1 准备工作
5.6.2 如何操作
5.6.3 实现原理
第6章 透明度
6.1 引言
6.2 使用alpha参数创建透明效果
6.2.1 准备工作
6.2.2 如何操作
6.2.3 实现原理
6.3 透明裁剪着色器
6.3.1 准备工作
6.3.2 如何操作
6.3.3 实现原理
6.4 通过渲染队列进行深度排序
6.4.1 准备工作
6.4.2 如何操作
6.4.3 实现原理
6.5 GUI和透明度
6.5.1 准备工作
6.5.2 如何操作
6.5.3 实现原理
第7章 顶点魔法
7.1 引言
7.2 在表面着色器中访问顶点颜色
7.2.1 准备工作
7.2.2 如何操作
7.2.3 实现原理
7.2.4 更多内容
7.3 表面着色器的顶点动画
7.3.1 准备工作
7.3.2 如何操作
7.3.3 实现原理
7.4 在地形中使用顶点颜色
7.4.1 准备工作
7.4.2 如何操作
7.4.3 实现原理
第8章 移动平台上着色器的优化
8.1 引言
8.2 什么是轻型着色器
8.2.1 准备工作
8.2.2 如何操作
8.2.3 实现原理
8.3 对着色器进行性能分析
8.3.1 准备工作
8.3.2 如何操作
8.3.3 实现原理
8.3.4 更多内容
8.4 移动平台上的着色器修改
8.4.1 准备工作
8.4.2 如何操作
8.4.3 实现原理
第9章 使用CgInclude文件让着色器模块化
9.1 引言
9.2 Unity中的内置CgInclude文件
9.2.1 准备工作
9.2.2 如何操作
9.2.3 实现原理
9.3 创建CgInclude文件来存储光照模型
9.3.1 准备工作
9.3.2 如何操作
9.3.3 实现原理
9.4 使用#define指令模块化地创建着色器
9.4.1 如何操作
9.4.2 实现原理
第10章 使用Unity的渲染纹理实现屏幕特效
10.1 引言
10.2 创建屏幕特效的脚本系统
10.2.1 准备工作
10.2.2 如何操作
10.2.3 实现原理
10.2.4 更多内容
10.3 使用屏幕特效实现亮度、饱和度以及对比度
10.3.1 准备工作
10.3.2 如何操作
10.3.3 实现原理
10.4 使用屏幕特效实现类似Photoshop的基本混合模式
10.4.1 准备工作
10.4.2 如何操作
10.4.3 实现原理
10.4.4 更多内容
10.5 使用屏幕特效实现叠加混合模式
10.5.1 准备工作
10.5.2 如何操作
10.5.3 实现原理
第11章 游戏的可玩性和屏幕特效
11.1 引言
11.2 创建老电影风格的屏幕特效
11.2.1 准备工作
11.2.2 如何操作
11.2.3 实现原理
11.3 创建夜视的屏幕特效
11.3.1 准备工作
11.3.2 如何操作
11.3.3 实现原理
11.3.4 参考
封面图: