Shader中Cull指令的使用:
通过Cull指令来控制需要剔除那个面的渲染图元。Cull指令的语法如下:
Cull Back | Front | Off
设置为Back,背对摄像机的渲染图源就不会被渲染,设置为Front,朝向摄像机的渲染图元就不会被渲染。
设置为Off就会关闭剔除功能,即所有图元都会被渲染。

Unity3d制作双面材质:

步骤:

  1. 在项目面板中创建plane作为演示。

  2. 导入两张图片作为贴图演示。

  3. 在项目面板中创建DoubleSurface shader

  4. 打开创建的shader进行编辑:

Shader "Custom/DoubleSurface" {
	Properties{
		_Color("Main Color", Color) = (1,1,1,1)//Tint Color
		_MainTex("Base (RGB)", 2D) = "white" {} //背面纹理
	    _MainTex_2("Base (RGB)", 2D) = "white" {} //正面纹理
	}

		SubShader{
		Tags{ "RenderType" = "Opaque" }    //设置渲染类型 Opaque不透明
		LOD 100

		Pass{
		Cull Front       //关闭正面渲染
		Lighting Off
		SetTexture[_MainTex]{ combine texture }
		SetTexture[_MainTex]
	        {
		    ConstantColor[_Color]
		    Combine Previous * Constant
	        }
	    }

		Pass
	    {
		Cull Back      //关闭背面渲染
		Lighting Off
		SetTexture[_MainTex_2]{ combine texture }
		SetTexture[_MainTex_2]
	        {
	        ConstantColor[_Color]
	      	Combine Previous * Constant
	        }
	    }
	}
}

5.创建好之后把DoubleSurface shader附给plane的材质

6.选则导入的图片,如下图所示:

undefined

参考:
《Shader入门精要》,冯乐乐