Unity Shader 学习笔记 (二) 简单颜色Shader

Unity Shader 学习笔记 (二)


自定义一个简单的shader,实现可以在Inspector窗口自由控制模型的颜色

Shader代码

Shader "Custom/testMaterial1" {
	Properties {
		//_MainColor属性
		_MainColor ("Main Color",Color) = (1,1,1,1)  
	}
	SubShader {
		Tags { "RenderType"="Opaque" }
		LOD 200
		
		CGPROGRAM
		#pragma surface surf Lambert

		//获取_MainColor 属性
		float4 _MainColor;
		//这个输入结构体暂时用不到,但是作为surf 的参数必须要创建一个 
		struct Input {
			//随便定义一个结构体里面的字段  ( 反正暂时也用不到  :)
			float4 uv_MainTex;
		};

		void surf (Input IN, inout SurfaceOutput o) {
			//将_MainColor的RGB赋值给0.Albedo 用于模型的每个像素的颜色
			o.Albedo = _MainColor.rgb;
		}
		ENDCG
	} 
	FallBack "Diffuse"
}

实际效果

Unity Shader 学习笔记 (二) 简单颜色Shader_第1张图片

你可能感兴趣的:(Unity Shader 学习笔记 (二) 简单颜色Shader)