与材质(Material)共同影响渲染对象
常见的流程为:
1.创建一个材质(包含材质属性、纹理、漫反射系数);
2.创建一个Unity shader,再把Unity shader 赋给材质;
3.把材质赋给需要影响的物体;
4.在材质面板中调节Unity shader的属性,最后得到满意的渲染效果。
材质(Material)
Unity中的材质需要创建一个GameObject的Mesh,或者是Particle System组件来工作。
Shader
在Assets中创建 和 Material一样
可创建的shader分为四种:
1.Standard Surface Shader,包含标准光照模型的表面着色器;
2.Unlit Shader ,不包含光照的顶点/片元着色器;
3.Image Effect Shader 实现屏幕后处理效果(各种后期:高斯模糊,铅笔风格,辉光);
4.Compute Shader,利用GPU进行一些与常规渲染流水线无关的计算。
创建之后在project面板中选中Shader文件,可以在Inspector面板里看见他的导入设置(Import Settings)
如果这个Shader是一个
固定函数着色器(Fixed Function Shader)在Fixed function 后面会出现Show generated code按钮,以便让我们查看该固定函数着色器生成的顶点/片元着色器;
如果是一个
表面着色器,后面也会出现Show generated code按钮,点击查看Unity背后为表面着色器生成的顶点/片元着色器。
Unity Shader的基础ShaderLab
ShaderLab是编写Unity Shader的一种说明性语言;属于一层抽象。
一个Unity的基本结构包括:
Shader " ShaderName "{
Properties{
//属性
}
SubShader{
//显卡A使用的子着色器
}
SubShader{
//显卡B使用的子着色器
}
Fallback"VertexLit"
}
网友评论