美文网首页
Unity Shader 基础

Unity Shader 基础

作者: TALY | 来源:发表于2018-01-08 00:57 被阅读0次

与材质(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"

}

相关文章

网友评论

      本文标题:Unity Shader 基础

      本文链接:https://www.haomeiwen.com/subject/olpqnxtx.html