我是小毛驴,一个游戏人,我的梦想是世界和平。转载请注明出处:http://blog.csdn.net/liulongling/article/details/51519006
一、准备
在开始着色之前,我们需要创建一个场景(Scene)和球体。
1.1 Diffuse
漫反射计算一个简单的(Lambertian)光照模型。光照强度随着入射光线与表面的夹角减小而减小。光照强度只依赖于这个夹角,而且不会随着相机的移动或者旋转而改变。
Shader "liulongling/t1"
{
Properties
{
_MainTex("主纹理",2D)="white"{}
_DiffuseColor("漫反射",Color)=(1,1,1,1)
}
SubShader
{
Pass
{
Material
{
Diffuse[_DiffuseColor]//漫反射
}
}
}
}
1.2 Lighting
效果出来了有木有..
1.3 Specular Properties 高光属性
Specular 和 Diffuse 使用同样简单的光照模型,另外增加了一个和观察角度相关的反射高光。这个叫做Blinn-Phong 高光模型。它包含了一个反射高光,取决于物体反射高光物体表面角度,光线入射角度和观察角度。这种高光计算方法实际上恰好是模拟实时光源模糊反射的一种方法。高光模糊等级通过检视面板里的Shininess来控制。
_Specular("高光",Color) =(1,1,1,1)
Specular[_Specular]//高光
1.4 SeparateSpecular
SeparateSpecular On | Off:开启独立镜面反射。这个命令会添加高光光照到着色器通道的末尾,因此贴图对高光没有影响。只在光照开启时有效!
1.5 Emission
自发光颜色,当不被任何光照所照到时,对象的颜色。
Properties
{
_Emission("自发光",Color)=(1,1,1,1)
}
SubShader
{
Emission[_Emission]//自发光
}
1.6 Shininess
加亮时的光泽度,在0和1之间。0的时候你会发现更大的高亮也看起来像漫反射光照,1的时候你会获得一个细微的亮斑。
1.7 Cull
要想保持30FPS的同时处理数十万的三角形,以现在的主流机器来说还是有些困难的。为了提高效率,人们提出了很多方法,其中包括LOD、Culling 剔除,就是被挡住或视角以外的我们看不到的物体,因为它们无关紧要,所以我们就不去绘制,以节省资源,提高场景的运行效率。比如立方体,你不会看到背离你的面,因此我们不需要绘制出背面,因此也被称做背面剔除
语法:Cull Back | Front| Off
Cull Front—— 不绘制面向观察者的几何面
Cull Front—— 不绘制面向观察者的几何面
Cull Off —— 显示所有面