Unity3D ShaderLab 混合两张贴图(Blend)

使用Unity3D 中的 ShaderLab 实现两张不同贴图之前的混合 类似于3dsMAX 中的Blend材质.

1.在Properties 中定义三个变量.我们需要使用的..1. _Color 主要是用它的 Alpha 来进行两张图的混合 ,2.两张需要进行操作的贴图

2.在混合时主要是使用 SetTexture 中的 Combine scr1 lerp(constant) src2. 这里要注意.在一个SetTextrue 中我们只能对一个texture来操作. 所以在混合前我们需要先用一个SetTexture 将第一张图贴上去.

 然后再用 Combine previous lerp(constant) texture .将第二张与之前的(previous)来混合,lerp(constant) 就是以_Color的Alpha来做为混合的界定.

View Code
 1 Shader "ztc_Blend" 
2 {
3 Properties
4 {
5 _Color ("Main Color",Color) = (1,1,1,0.5)
6 _MainTex ("FrontTex (RGB)", 2D) = "white" {}
7 _BackTex ("BackTex (RGB)", 2D) = "white" {}
8 }
9 SubShader
10 {
11 Pass
12 {
13 Material
14 {
15 Diffuse[_Color]
16 }
17 Lighting On
18
19 SetTexture [_MainTex] //the default Texture
20 {
21 Combine texture
22 }
23 SetTexture [_BackTex] //use the combine lerp to mix two texture by the Main color's Alpha
24 {
25 constantColor [_Color]
26 Combine previous lerp(constant) texture
27 }
28
29 }
30 }
31 FallBack "Diffuse"
32 }


结果:


转载于:https://www.cnblogs.com/easyfrog/archive/2012/01/12/2320708.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值