Unity3D Shader 学习笔记(二):ShaderLab的结构和基本属性

(一) ShaderLab:

什么是ShaderLab:

Unity3D支持的Shader种类包括:

      1.Surface Shader:表面着色器

      2.Vertex & Fragment Shader :顶点片元着色器

      3.Fixed Function Shader: 固定功能着色器

ShaderLab的基本结构:

Shader "Custom/test"
{
    Properties
    {
  
    }
    SubShader
    {
       pass{
			
			
			
	   }

    }
    fallback
}

UnityShader的一些基本属性(properties)格式:

_Color("颜色",color)=(1,1,1,1)

 SubShader的作用:

fallback的作用:

Unity内置的一些常见shader(用于fallback)以及说明:

Unlit:不发光,只是一个纹理。

VertexLit:顶点光照。

Diffuse:漫反射。

NormalMapped:法线贴图,比漫反射更昂贵(expensive):增加了一个或者多个纹理(法线贴图)和几个着色器结构。

Specular:高光,增加了特殊的高光计算。

Normal Mapped Specular:高光法线贴图,比高光更昂贵一点。

Parallax Normal Mapped:视差法线贴图计算

parallax Normal Mapped Specular:视察高光法线贴图

属性的定义和引用:

Shader "Custom/test"
{
    Properties
    {
       _Color("颜色",color)=(1,1,1,1)
	   _Ambient("环境光",color)=(0.3,0.3,0.3,0.3)
	   _Specular("高光",color)=(1,1,1,1)
    }
    SubShader
    {
       pass{
			//color(1,1,1,1)
			//color[_Color]
	  material{
			        diffuse[_Color]//关键字漫反射
				ambient[_Ambient]//关键字环境光
				specular[_Specular]//关键字高光
		  }
			lighting on//关键字光照开关
			SeparateSpecular on//高光分离
	   }

    }
   // fallback unlit;
}
			

 

猜你喜欢

转载自www.cnblogs.com/CacheCat/p/10277062.html
今日推荐