《Unity Shaders and Effects Cookbook》读书笔记1

最近在深入学习Unity的ShaderLab,起初看了很多别人的博客,但是内容都比较杂乱零散,想着应该找本书类系统学习一番,经过搜索找到了这本书《Unity Shaders and Effects Cookbook》,是当前对于Unity的Shader知识有比较系统介绍的一本书,本书也有中文翻译版,名称为《Unity着色器与屏幕特效开发秘笈》,作者是Kenny Lammers

简介:

根据书的概述,阅读本书将学到模拟人体皮肤的着色器、处理动态反射的着色器、三维场景中的渲染次序等,同时也将学习如何开发后期特效,如夜视、反射等。

章节概述:

  • 第1章:Unity中构建一个着色器和着色器编写的基础知识,学习如创建默认的漫反射光照,从游戏的角度提供创建自定义漫反射光照的技巧;
  • 第2章:介绍如何利用纹理来创建不同的特效,学习如何利用着色器在精灵表单(Sprite Sheet)上实现动画纹理,以及如何利用纹理的不同通道,让着色器更有效率;
  • 第3章:创建应用最广泛的高光类型——Blinn和Phong时所需的知识,学习如何应用这些着色器效果来创建蒙版镜面、金属镜面,并学习如何创建各向异性镜面的技术;
  • 第4章:把反射技术写入着色器中,从Unity3D着色器中反射的基础到如何使用C#创建简单的自定义动态反射系统
  • 第5章:创建更复杂的着色器,学习如何创建自定义光照模型来实现自定义类型的表面,可以创建自己的皮肤着色器、发光球体着色器以及车辆喷漆着色器;
  • 第6章:介绍透明度,在游戏制作的过程中,透明度已经成为一项必要的技术,在一定程度上,几乎所有游戏都需要使用透明度,如:图形用户界面(GUI)、树叶、贴花等。本章将学习如何使用Unity3D中的透明度,已经使用透明度时如何处理可能发生的任何问题;
  • 第7章:如何访问存储在3D网格中的每个顶点信息,学习如何得到顶点信息,并在着色器中使用这些信息实现诸如纹理混合和动画的效果;
  • 第8章:介绍利用Unity内置标记和内置值来减少着色器内存开销的方法,这对于我们处理移动平台上的着色器特别重要;
  • 第9章:学习重用代码的必要性,重用代码可以让着色器的编写更有效率。如何创建自定义CgInclude文件来存储需要重用的重复代码;
  • 第10章:从现代游戏如何利用屏幕特效(有时也称为后期特效)开始,到如何改变一个游戏的最终渲染效果。学习如何创建自己的屏幕特效,并了解如何添加颜色调整以及纹理叠加背后的秘密,从而为你的游戏制造出不一样的视觉外观;
  • 第11章:屏幕特效深入,学习如何在游戏中增强游戏氛围。学习如何创建一种老电影的屏幕特效以及夜视的屏幕特效。

预备工作:

需要用到几个软件:

  • Unity3D(10和11章需要使用专业版Unity)
  • 3D建模软件,如Maya、Max或Blender
  • 2D图像编辑软件,如Photoshop或Gimp

额外资源:

本书中的一些效果图,可以通过下一网站下载:https://www.packtpub.com/sites/default/files/downloads/5084OT_Images.pdf