资源大湿 发表于 2021-4-2 09:37

《Unity ShaderLab 新手宝典》正式上市

本人的第一本书《Unity ShaderLab 新手宝典》今天已经正式上市,上次赠书活动没有抢到书的朋友,现在可以在京东和淘宝下单购买了,谢谢大家的关注与支持!
京东链接:
淘宝链接:
创作背景

相信很多人在玩游戏的过程中,一边在体验着游戏剧情的同时,一边会被游戏中精美的画面所震撼。因此我猜想,肯定会有很多人跟我一样,有一种想要制作一款画质精美的游戏的冲动。
然而想要实现精美画质的视觉效果,往往需要编写多种多样的Shader。但对于一些毫无编程经验的人来说,想要入门Unity Shader比较困难。这是因为:
一方面国内关于Unity Shader的书少之又少,而目前市面仅有的几本书也是针对于Unity 5版本编写的,并不完全适用于现在的Unity 2019版;
另一方面网上的关于Unity Shader的文章教程,很多都是一上来直接讲代码,很少有真正能够从基础开始讲解的。
于是本人萌生了一个念头:写一本面向零基础Unity Shader爱好者的入门指南。
图书简介

本书是一部系统讲解Unity ShaderLab语言与编程方法的入门教程(包含纸质图书、Unity美术资源、Shader源代码),主要分为四大部分:
第一部分包含第1~2章,主要为了给读者普及3D数学相关的基础知识以及GPU渲染流水线的基本概念,为本书后面的内容提供基础知识的储备。第二部分包含第3~11章,主要讲解了Shader的语法结构、两种不同的编写方式(Vertex Fragment Shader和Surface Shader)、光照模型、后期处理、自定义材质设置面板。这一部分内容是本书的主要部分,读者朋友们一定要认真阅读。第三部分包含第12章,主要讲解Unity Shader可视化编辑插件——Amplify Shader Editor,方便读者在编写Shader之前梳理逻辑或者前期验证效果的时候使用。第四部分包含第13~14章,通过对不同经典案例的分析和讲解,使读者进一步加深对Unity Shader的理解,并且能够更加高效地编写出可以应用于真实项目的Shader效果。
本书主要以3D美术人员的视角进行效果描述和逻辑讲解的,因此非常适合毫无程序编写经验的3D美术人员作为Unity Shader的入门之选。并且本书同样也适用于各大培训机构、高等院校作为Unity Shader课程教材使用。
当然,从事Unity程序开发的朋友也可以阅读本书,从3D 美术人员的视角开始切入,或许可以帮助你更好的理解Unity Shader,毕竟Shader也是一种视觉效果的设计。
本书特色

本书采用由易到难、层层深入的讲解方法,带领毫无Shader编程基础的阅读者逐渐掌握这门技术。对于一些理论性的知识和使用方法,本书不会灌入式的硬性讲解,而是会从内在逻辑开始讲起,从而使读者彻底理解。
并且为了方便读者理解Shader效果实现的内在逻辑,本书插入了大量流程图、汇总表格等。对于一些专有名词或者语法关键词,本书在编写的过程中使用了中文+英文的方式,方便读者理解以及后期查找或者阅读其他资料。
本人一直认为,Shader的学习达到一定程度之后,其实就是在学习数学算法。Shader的程序代码本身并不重要,重要的是里边的逻辑和算法。很多人总是会好奇:“这段代码为什么能够实现这样的效果”,相信这是学习Shader的人最想弄清楚的。而涉及逻辑类的数学思想有时候很难用文字表达出来,所以本人在案例讲解部分会借助可视化Shader编辑器——“AmplifyShader Editor”来帮助大家理解其中的内在逻辑。
目录

第1章 3D数学基础
1.1 坐标与坐标系
1.2 向量
1.3 向量运算
1.4 矩阵
1.5 矩阵运算
1.6 使用矩阵进行变换
1.7 矩阵的深入讲解
第2章 渲染流水线与Shader概念
2.1 渲染流水线概念
2.2 3D图形渲染完整流水线
2.3 空间变换
2.4 现代GPU渲染流水线
2.5 Shader概念
第3章 ShaderLab语法基础
3.1 Shader的组织结构
3.2 Shader的名称
3.3 Properties
3.4 SubShader
3.5 FallBack
第4章 顶点-片段着色器基础
4.1 Shader编码工具
4.2 创建和使用Shader
4.3 Shader的编写方式
4.4 CG语法基础
第5章 Unity的包含文件
5.1 包含文件的使用语法
5.2 UnityCG.cginc
5.3 UnityShaderVariables.cginc
5.4 其他包含文件
5.5 使用包含文件简化Shader
第6章 Shader中的光照模型
6.1 Lambert光照模型
6.2 CG标准库函数
6.3 Half-Lambert光照模型
6.4 Phong光照模型
6.5 逐像素光照
6.6 Blinn-Phong光照模型
6.7 灯光阴影
第7章 透明效果
7.1 不透明物体的渲染顺序
7.2 透明物体的渲染顺序
7.3 混合透明效果
7.4 透明测试效果
7.5 模板测试
第8章 表面着色器的基础概念
8.1 为什么不先学习表面着色器
8.2 表面着色器的组织结构
8.3 编译指令中的可选参数
8.4 表面函数的语法结构
第9章 编写表面着色器
9.1 最简单的表面着色器
9.2 在表面着色器中使用法线贴图
9.3 表面着色器中的其他函数
9.4 曲面细分函数
9.5 透明效果
第10章 Image Effect
10.1 GrabPass
10.2 C#基础语法
10.3 Post-Processing
10.4 后期处理堆栈
第11章 自定义材质面板
11.1 不同类型的DrawerClass
11.2 属性的特性和Drawer
11.3 装饰性PropertyDrawer
11.4 完整PropertyDrawer示例
第12章 Amplify Shader Editor
12.1 相同功能的其他插件
12.2 ASE的使用流程
12.3 Shader属性设置
12.4 常用节点
12.5 使用ASE创建标准Shader
第13章 初级案例
13.1 流光效果
13.2 描边效果
13.3 遮挡半透效果
13.4 Tri-Planar Mapping效果
13.5 MatCap效果
13.6 物体切割效果
第14章 进阶案例
14.1 消融效果
14.2 动态液体效果
14.3 Billboard效果
14.4 序列帧动画
14.5 卡通风格效果
14.6 夜视仪后期处理
写在最后
后续建议
参考文献

JamesB 发表于 2021-4-2 09:46

已下单不知道有群交流吗

zt3ff3n 发表于 2021-4-2 09:48

不好意思,我没建,没时间管理。

jquave 发表于 2021-4-2 09:50

没时间管理。我就不买

七彩极 发表于 2021-4-2 09:59

[耶][耶][耶],其实书里写的很浅显易懂,并且参考配套资源,肯定可以理解,不需要讨论的。
页: [1]
查看完整版本: 《Unity ShaderLab 新手宝典》正式上市