【www.520z-2.com - 话题作文】
篇一:《Unity内置Shader着色器效果整理》
Unity内置及常用Shader整理
一、Shader脚本结构:
Shader "Custom/zhezhao1"
{
Properties
{
}
SubShader
{
Tags {"Queue"="Transparent"}
Pass
{
}
}
SubShader
{
//ENDCG
}
Fallback "Diffuse"
}
二、Unity自带的Shader描述
1、标准着色器系列(Normal Shader Family)
(1)、凹凸漫反射(Bumped Diffuse)
属性:
NormalMap(法线贴图)属性,不改变对象形状,使用纹理来模拟较小表面的细节,而不是使用更多的多边形来实际雕刻细节。
漫反射属性:表面光照强度随表面与光之间夹角的减小而减小。光照强度仅取决于此角,且不随相机的移动或旋转而变化。
(2)、凹凸高光 (Bumped Specular)
属性:
1、法线贴图属性(Normal Map)
2、高光属性,与漫反射 (Diffuse) 一样,高光也计算简单的
(Lambertian) 光照,并附加一个依赖于观察者的高光亮点。这个称为 Blinn-Phong 光照模型。其具有取决于面角、光角和观察角的高光亮点。该亮点实际上只是对光源模糊反射的实时适宜模拟。亮点的模糊层次由检视器 (Inspector) 中的反光 (Shininess) 滑块控制。
此外,主纹理的 alpha 通道用作高光贴图 (Specular Map)(有时称为“光泽贴图”),用于定义对象哪些区域的反射性更强。Alpha 的黑色区域是零高光反射区域,而白色区域是全高光反射区域。
(3)、印花 (Decal)
属性:
1、印花属性,该着色器是顶点光照 (VertexLit) 着色器的变型。该着色器上的所有光照都将被其渲染为顶点光照。除主纹理之外,该着色器还将第二个纹理用于其它细节。第二个“印花”(Decal) 纹理使用 alpha 通道来确定主纹理的可见区域。印花纹理应为主纹理的补充。
比如说你有一个砖砌的墙壁,你可以使用一个砖块的纹理作为主纹理,然后使用带有 alpha 通道的 Decal 纹理在墙壁的不同地方涂鸦。
(4)、漫反射(Diffuse)
Diffuse 基于一个简单的光照模型-Lambertian,光照强度随着物体表面和光入射角夹角的减小而减小(即光垂直于表面时强度最大)。光照的强度只和该角度有关系,和摄像机无关。
(5)、顶点光照(Vertex-Lit)
属性:最简单的一种 Shader 之一,所有照射在该物体上的光在一个 Pass 里面渲染完,光源只在顶点计算。所以不会有任何基于像素渲染得效果,比如