找回密码
 立即注册
查看: 506|回复: 4

[简易教程] 《Unity ShaderLab 新手宝典》正式上市

[复制链接]
发表于 2021-4-2 09:37 | 显示全部楼层 |阅读模式
本人的第一本书《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编辑器——“Amplify  Shader Editor”来帮助大家理解其中的内在逻辑。
目录
  1. 第1章 3D数学基础
  2. 1.1 坐标与坐标系
  3. 1.2 向量
  4. 1.3 向量运算
  5. 1.4 矩阵
  6. 1.5 矩阵运算
  7. 1.6 使用矩阵进行变换
  8. 1.7 矩阵的深入讲解
  9. 第2章 渲染流水线与Shader概念
  10. 2.1 渲染流水线概念
  11. 2.2 3D图形渲染完整流水线
  12. 2.3 空间变换
  13. 2.4 现代GPU渲染流水线
  14. 2.5 Shader概念
  15. 第3章 ShaderLab语法基础
  16. 3.1 Shader的组织结构
  17. 3.2 Shader的名称
  18. 3.3 Properties
  19. 3.4 SubShader
  20. 3.5 FallBack
  21. 第4章 顶点-片段着色器基础
  22. 4.1 Shader编码工具
  23. 4.2 创建和使用Shader
  24. 4.3 Shader的编写方式
  25. 4.4 CG语法基础
  26. 第5章 Unity的包含文件
  27. 5.1 包含文件的使用语法
  28. 5.2 UnityCG.cginc
  29. 5.3 UnityShaderVariables.cginc
  30. 5.4 其他包含文件
  31. 5.5 使用包含文件简化Shader
  32. 第6章 Shader中的光照模型
  33. 6.1 Lambert光照模型
  34. 6.2 CG标准库函数
  35. 6.3 Half-Lambert光照模型
  36. 6.4 Phong光照模型
  37. 6.5 逐像素光照
  38. 6.6 Blinn-Phong光照模型
  39. 6.7 灯光阴影
  40. 第7章 透明效果
  41. 7.1 不透明物体的渲染顺序
  42. 7.2 透明物体的渲染顺序
  43. 7.3 混合透明效果
  44. 7.4 透明测试效果
  45. 7.5 模板测试
  46. 第8章 表面着色器的基础概念
  47. 8.1 为什么不先学习表面着色器
  48. 8.2 表面着色器的组织结构
  49. 8.3 编译指令中的可选参数
  50. 8.4 表面函数的语法结构
  51. 第9章 编写表面着色器
  52. 9.1 最简单的表面着色器
  53. 9.2 在表面着色器中使用法线贴图
  54. 9.3 表面着色器中的其他函数
  55. 9.4 曲面细分函数
  56. 9.5 透明效果
  57. 第10章 Image Effect
  58. 10.1 GrabPass
  59. 10.2 C#基础语法
  60. 10.3 Post-Processing
  61. 10.4 后期处理堆栈
  62. 第11章 自定义材质面板
  63. 11.1 不同类型的DrawerClass
  64. 11.2 属性的特性和Drawer
  65. 11.3 装饰性PropertyDrawer
  66. 11.4 完整PropertyDrawer示例
  67. 第12章 Amplify Shader Editor
  68. 12.1 相同功能的其他插件
  69. 12.2 ASE的使用流程
  70. 12.3 Shader属性设置
  71. 12.4 常用节点
  72. 12.5 使用ASE创建标准Shader
  73. 第13章 初级案例
  74. 13.1 流光效果
  75. 13.2 描边效果
  76. 13.3 遮挡半透效果
  77. 13.4 Tri-Planar Mapping效果
  78. 13.5 MatCap效果
  79. 13.6 物体切割效果
  80. 第14章 进阶案例
  81. 14.1 消融效果
  82. 14.2 动态液体效果
  83. 14.3 Billboard效果
  84. 14.4 序列帧动画
  85. 14.5 卡通风格效果
  86. 14.6 夜视仪后期处理
  87. 写在最后
  88. 后续建议
  89. 参考文献
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-4-2 09:46 | 显示全部楼层
已下单  不知道有群交流吗
发表于 2021-4-2 09:48 | 显示全部楼层
不好意思,我没建,没时间管理。
发表于 2021-4-2 09:50 | 显示全部楼层
没时间管理。我就不买
发表于 2021-4-2 09:59 | 显示全部楼层
[耶][耶][耶],其实书里写的很浅显易懂,并且参考配套资源,肯定可以理解,不需要讨论的。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-23 15:50 , Processed in 0.094498 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表