UnityShader 基础
UnityShader 概述
一对好兄弟:材质和UnityShader
总体来说,在Unity中我们需要配合使用材质(Material)和Unity Shader才能达到需要的效果。一个最常见的流程是:
- (1)创建一个材质;
- (2)创建一个Unity Shader,并把它赋给上一步中创建的材质;
- (3)把材质赋给要渲染的对象;
- (4)在材质面板中调整Unity Shader的属性,以得到满意的效果。
Unity Shader定义了渲染所需的各种代码(如顶点着色器和片元着色器)、属性(如使用哪些纹理等)和指令(渲染和标签设置等),而材质则允许我们调节这些属性,并将其最终赋给相应的模型。
Unity 中的材质
Unity中的材质需要结合一个GameObject的Mesh或者Particle Systems组件来工作
Unity 中的Shader
Unity一共提供了4种Unity Shader模板供我们选择——Standard Surface Shader, Unlit Shader, Image Effect Shader以及Compute Shader。其中,Standard Surface Shader会产生一个包含了标准光照模型(使用了Unity 5中新添加的基于物理的渲染方法,详见第18章)的表面着色器模板,Unlit Shader则会产生一个不包含光照(但包含雾效)的基本的顶点/片元着色器,Image Effect Shader则为我们实现各种屏幕后处理效果(详见第12章)提供了一个基本模
Unity Shader本质上就是一个文本文件。和Unity中的很多外部文件类似,Unity Shader也有导入设置(Import Settings)面板,在Project视图中选中某个Unity Shader即可看到