超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

不再提示
关闭
图书盲袋,以书为“药”
欢迎光临中图网 请 | 注册
> >>
Unity ShaderLab新手宝典

Unity ShaderLab新手宝典

作者:唐福幸
出版社:清华大学出版社出版时间:2021-03-01
开本: 16开 页数: 342
中 图 价:¥53.4(6.0折) 定价  ¥89.0 登录后可看到会员价
加入购物车 收藏
运费6元,满39元免运费
?新疆、西藏除外
本类五星书更多>

Unity ShaderLab新手宝典 版权信息

  • ISBN:9787302571575
  • 条形码:9787302571575 ; 978-7-302-57157-5
  • 装帧:70g胶版纸
  • 册数:暂无
  • 重量:暂无
  • 所属分类:>>

Unity ShaderLab新手宝典 本书特色

作者根据多年来从事3D行业的经验,又结合了自身多年培训团队成员的经历,通过由浅入深、循序渐进的讲解方式,将Unity Shader的语法结构、使用技巧、效果实现逻辑等内容详细地表达了出来。相信读者在读完本书之后,就可以从*初对于Unity Shader“一无所知”到*后“完全掌握”Unity Shader。 ★ 近年来,手游占据了游戏行业的大部分市场,Unity依靠完美的跨平台性赢得了手游市场的半壁江山。随着5G技术的快速普及,AR和VR技术的兴起,3D可视化、模拟仿真等行业也开始向Unity靠拢,Unity在3D领域变得举足轻重。在使用Unity开发过程中,很多效果的实现离不开Shader。福幸是一个非常善于思考和总结的人,他写的这本书适合将要从事或已从事Unity工作的所有人。 ——徐晨华 有车以后公司创始人兼CEO★ 能够将计算机图形学的理论知识讲解得如此浅显易懂,在本书之前还从来没有发现过第二本。本书的内容正如它的名字一样,是一本当之无愧的宝典,可以作为初学者的入门指南,也可以作为普通读者后期查阅的手册。 ——徐晓平 网易高级后端开发工程师★ 本书作为一本面向零Shader基础人员而编写的入门书,其中的文字表达已经达到非常简单易懂的地步了,再加上ASE插件的协助讲解,相信人人都可以看得懂、理解透,因此本书应该是将要学习Unity Shader的人*先阅读的**本书。 ——伍小华 资深ios/Unity开发工程师★ 能够编写Shader基本上是技术美术的**技能,作为世界上用户*多、使用行业*广的游戏引擎,Unity同样也开放了自由编写Shader的功能,因此想要学习Shader可以先从Unity Shader入手,而想要快速入门就先从本书开始。 ——陈晨 米哈游资深技术美术本书配套3D资源,脚本代码,Shader代码,可在清华大学出版社官网下载。

Unity ShaderLab新手宝典 内容简介

本书是一部系统讲解Unity ShaderLab语言与编程方法的入门教程(包含纸质图书、Unity美术资源、Shader源代码)。 本书共分14章,第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也是一种视觉效果的设计。

Unity ShaderLab新手宝典 目录


目录




第1章3D数学基础


1.1坐标与坐标系


1.1.1坐标及坐标系的概念


1.1.23D中的坐标系


1.1.3左右手坐标系


1.2向量


1.2.1向量的几种表示方法


1.2.2向量的计算方法


1.2.3相反向量


1.2.4向量的模


1.2.5标准化向量


1.3向量运算


1.3.1向量的加法运算


1.3.2向量的减法运算


1.3.3向量的缩放


1.3.4向量的点积运算


1.3.5向量的叉积运算


1.3.6向量的运算法则


1.4矩阵


1.4.1矩阵的表示方法


1.4.2方阵和单位矩阵


1.4.3转置矩阵


1.5矩阵运算


1.5.1标量与矩阵相乘


1.5.2矩阵之间的乘法


1.5.3矩阵与向量相乘


1.5.4矩阵的运算法则


1.6使用矩阵进行变换


1.6.1矩阵变换向量的原理


1.6.2旋转矩阵


1.6.3缩放矩阵


1.6.4平移矩阵


1.7矩阵的深入讲解


1.7.1矩阵的行列式


1.7.2余子式和代数余子式


1.7.3通过代数余子式计算行列式


1.7.4逆矩阵


1.7.5正交矩阵


1.7.6逆矩阵的运算法则






第2章渲染流水线与Shader概念


2.1渲染流水线概念


2.23D图形渲染完整流水线


2.3空间变换


2.3.1模型空间与世界空间


2.3.2摄像机空间


2.3.3裁切空间


2.3.4屏幕空间


2.3.5多个坐标空间存在的意义


2.4现代GPU渲染流水线


2.5Shader概念


2.5.1什么是Shader


2.5.2Shader和材质的关系与区别


第3章ShaderLab语法基础


3.1Shader的组织结构


3.2Shader的名称


3.3Properties


3.3.1数值类属性


3.3.2颜色和向量类属性


3.3.3纹理贴图类属性


3.3.4所有类型属性汇总


3.4SubShader


3.4.1SubShader的标签


3.4.2Pass的渲染状态


3.5Fallback


第4章顶点片段着色器基础


4.1Shader编码工具


4.2创建和使用Shader


4.3Shader的编写方式


4.4CG语法基础


4.4.1编译指令


4.4.2着色器函数


4.4.3语义


4.4.4在CG中调用属性变量


4.4.5结构体


第5章Unity的包含文件


5.1包含文件的使用语法


5.2UnityCG.cginc


5.2.1顶点着色器输入结构体


5.2.2顶点变换函数


5.2.3向量变换函数


5.2.4灯光辅助函数


5.2.5视角向量函数


5.2.6其他辅助函数和宏


5.3UnityShaderVariables.cginc


5.3.1空间变换矩阵


5.3.2时间变量


5.4其他包含文件


5.5使用包含文件简化Shader


第6章Shader中的光照模型


6.1Lambert光照模型


6.1.1Lambert光照模型理论


6.1.2在Shader中获取灯光变量


6.1.3基于Lambert光照模型的Shader


6.2CG标准库函数


6.3HalfLambert光照模型


6.4Phong光照模型


6.4.1Phong光照模型理论


6.4.2在Shader中获取环境光变量


6.4.3基于Phong光照模型的Shader


6.5逐像素光照


6.6BlinnPhong光照模型


6.6.1BlinnPhong光照模型理论


6.6.2BlinnPhong光照模型的Shader


6.7灯光阴影


6.7.1渲染路径


6.7.2Pass标签


6.7.3内置的multi_compile


6.7.4实现阴影效果


第7章透明效果


7.1不透明物体的渲染顺序


7.2透明物体的渲染顺序


7.3混合透明效果


7.3.1混合指令


7.3.2混合系数


7.3.3混合操作


7.3.4混合透明的使用方法


7.3.5混合透明效果


7.3.6半透明物体的双面渲染


7.4透明测试效果


7.4.1透明测试的使用方法


7.4.2透明测试效果


7.4.3透明测试抗锯齿


7.5模板测试


7.5.1模板测试的计算流程


7.5.2模板测试的使用语法


7.5.3比较方法


7.5.4模板操作


7.5.5延迟渲染路径中的模板测试


7.5.6模板测试透明效果


第8章表面着色器的基础概念


8.1为什么不先学习表面着色器


8.2表面着色器的组织结构


8.3编译指令中的可选参数


8.3.1透明效果相关指令


8.3.2阴影和细分相关指令


8.3.3代码生成选项


8.3.4其他选项


8.4表面函数的语法结构


8.4.1表面函数输入结构体


8.4.2表面函数输出结构体


第9章编写表面着色器


9.1*简单的表面着色器


9.2在表面着色器中使用法线贴图


9.3表面着色器中的其他函数


9.3.1顶点修改函数


9.3.2自定义光照函数


9.3.3*终颜色修改函数


9.4曲面细分函数


9.4.1固定数量的曲面细分


9.4.2基于边长的曲面细分


9.4.3视锥剔除曲面细分


9.4.4基于距离的曲面细分


9.4.5Phong曲面细分


9.5透明效果


9.5.1混合透明效果


9.5.2透明测试效果


第10章Image Effect


10.1GrabPass


10.1.1语法结构


10.1.2GrabPass Shader


10.1.3测试效果


10.2C#基础语法


10.2.1C#脚本的基本结构


10.2.2Properties


10.2.3C#中的常用函数


10.2.4基于Shader资源创建材质


10.2.5通过脚本往Material中传递变量


10.2.6C#中的数学函数


10.2.7其他功能


10.3PostProcessing


10.3.1后期处理的工作流程


10.3.2后期处理Shader


10.3.3后期处理脚本


10.4后期处理堆栈


10.4.1安装Post Processing包


10.4.2设置Layer和Volume


10.4.3编写Shader


10.4.4编写C#脚本


第11章自定义材质面板


11.1不同类型的DrawerClass


11.1.1Toggle


11.1.2Enum


11.1.3KeywordEnum


11.1.4在编译指令中定义关键词


11.1.5PowerSlider


11.1.6IntRange


11.2属性的特性和Drawer


11.3装饰性PropertyDrawer


11.3.1SpaceDecorator


11.3.2HeaderDecorator


11.4完整PropertyDrawer示例


第12章Amplify Shader Editor


12.1相同功能的其他插件


12.1.1Shader Forge


12.1.2Shader Graph


12.2ASE的使用流程


12.3Shader属性设置


12.3.1General


12.3.2Blend Mode


12.3.3Stencil Buffer


12.3.4Tessellation


12.3.5Output


12.4常用节点


12.4.1常数和属性类节点


12.4.2纹理和坐标类节点


12.4.3数学运算类节点


12.4.4向量运算相关节点


12.4.5图像处理相关节点


12.4.6摄像机和屏幕相关节点


12.4.7顶点数据类节点


12.4.8表面数据类节点


12.4.9时间节点


12.5使用ASE创建标准Shader


12.5.1Albedo


12.5.2Normal


12.5.3Emission


12.5.4Specular


12.5.5Ambient Occlusion


12.5.6Texture Coordinate


12.5.7属性排序及*终效果


第13章初级案例


13.1流光效果


13.1.1实现逻辑


13.1.2使用ASE实现效果


13.1.3测试Shader效果


13.1.4编写Shader


13.1.5使用扩展


13.2描边效果


13.2.1实现逻辑


13.2.2编写Shader


13.2.3效果测试


13.3遮挡半透效果


13.3.1实现逻辑


13.3.2编写Shader


13.3.3效果测试


13.4TriPlanar Mapping效果


13.4.1实现逻辑


13.4.2使用ASE实现效果


13.4.3编写Shader


13.4.4测试Shader效果


13.5MatCap效果


13.5.1实现逻辑


13.5.2使用ASE实现效果


13.5.3编写Shader


13.5.4测试Shader效果


13.6物体切割效果


13.6.1实现逻辑


13.6.2使用ASE实现效果


13.6.3C#脚本


13.6.4测试效果


13.6.5编写Shader


第14章进阶案例


14.1消融效果


14.1.1实现逻辑


14.1.2资源准备


14.1.3使用ASE实现效果


14.1.4使用扩展


14.1.5编写Shader


14.2动态液体效果


14.2.1实现逻辑


14.2.2模型准备


14.2.3使用ASE实现效果


14.2.4测试Shader


14.2.5编写Shader


14.3Billboard效果


14.3.1实现逻辑


14.3.2使用ASE实现雪花效果


14.3.3测试Shader


14.3.4编写Shader


14.4序列帧动画


14.4.1实现逻辑


14.4.2使用ASE实现效果


14.4.3测试Shader


14.4.4编写Shader


14.5卡通风格效果


14.5.1资源准备


14.5.2使用ASE实现效果


14.5.3编写Shader


14.6夜视仪后期处理


14.6.1Shader讲解


14.6.2完整Shader代码


14.6.3C#脚本讲解


14.6.4完整脚本代码


14.6.5测试*终效果


14.6.6使用ASE编辑后期处理Shader


写在*后


参考文献


展开全部

Unity ShaderLab新手宝典 作者简介

唐福幸 资深3D美术师,从事3D行业已有六年,先后在多家公司担任3D美术主管、3D技术美术师,擅长一切从零开始:开创团队、制定流程、人员培训、效果把控。乐于钻研技术,并与人沟通分享。能够熟练使用Maya、ZBrush、Substance Painter、Substance Designer、Unity、Unreal等30余款3D专业软件,目前在有车以后公司担任“高级技术美术师”。

商品评论(0条)
暂无评论……
书友推荐
本类畅销
编辑推荐
返回顶部
中图网
在线客服