unity shader 固定管线实例(二) 光照 颜色和纹理

本文介绍了一种基础Shader的应用,包括如何定义材质属性如主颜色、高光颜色等,并演示了如何在SubShader中设置光照和纹理混合。此外还解释了Combine指令的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Shader "基础/固定管线颜色和纹理" 
{
	//-------------------------------【属性】-----------------------------------------
    Properties 
	{
        _Color ("主颜色", Color) = (1,1,1,0)
        _SpecColor ("高光颜色", Color) = (1,1,1,1)
        _Emission ("自发光颜色", Color) = (0,0,0,0)
        _Shininess ("光泽度", Range (0.01, 1)) = 0.7
        _MainTex ("基本纹理", 2D) = "white" {}
    }

	//--------------------------------【子着色器】--------------------------------
    SubShader
	{
		//----------------通道---------------
        Pass
		{
			//-----------材质------------
            Material
			{
				//可调节的漫反射光和环境光反射颜色
                Diffuse [_Color]
                Ambient [_Color]
				//光泽度
                Shininess [_Shininess]
				//高光颜色
                Specular [_SpecColor]
				//自发光颜色
                Emission [_Emission]
            }
			//开启光照
            Lighting On
			//开启独立镜面反射
            SeparateSpecular On
			//设置纹理并进行纹理混合
            SetTexture [_MainTex] 
			{
                Combine texture * primary DOUBLE
            }
        }
    }
} 


Combine 中的texture 指的是 [_MainTex], primary 指的是上面的光照计算结果,DOUBLE亮度提高两倍。


1.除去primary之外,还有 previous :上一次SetTexure的结果。Constant :被ConstantColor指定的颜色。

2.除去DOUBLE之外,还有Quad 亮度提高四倍

参考:

http://www.ceeger.com/Components/SL-SetTexture.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值