Эти шейдеры смешиваются между двумя текстурами, основываясь на значении 0-1, которым вы управляете.Первая версия очень быстрая, потому что она не использует освещение, а вторая использует те же базовые вычисления ambient + diffuse, которые я использовал в своем шейдере Simply Lit.
http://wiki.unity3d.com/index.php/Blend_2_Textures
Dragразличные текстуры на каждом из переменных слотов материала, и используйте элемент управления Blend, чтобы смешать их по вкусу.
Обратите внимание, что для светящейся версии требуется два прохода на графическом процессоре, используемом в самых старых устройствах iOS.
ShaderLab - Смешайте 2 текстуры. Шейдер
Shader "Blend 2 Textures" {
Properties {
_Blend ("Blend", Range (0, 1) ) = 0.5
_MainTex ("Texture 1", 2D) = ""
_Texture2 ("Texture 2", 2D) = ""
}
SubShader {
Pass {
SetTexture[_MainTex]
SetTexture[_Texture2] {
ConstantColor (0,0,0, [_Blend])
Combine texture Lerp(constant) previous
}
}
}
}
ShaderLab - Смешайте 2 текстуры, просто Lit.shader
Shader "Blend 2 Textures, Simply Lit" {
Properties {
_Color ("Color", Color) = (1,1,1)
_Blend ("Blend", Range (0,1)) = 0.5
_MainTex ("Texture 1", 2D) = ""
_Texture2 ("Texture 2", 2D) = ""
}
Category {
Material {
Ambient[_Color]
Diffuse[_Color]
}
// iPhone 3GS and later
SubShader {Pass {
Lighting On
SetTexture[_MainTex]
SetTexture[_Texture2] {
ConstantColor (0,0,0, [_Blend])
Combine texture Lerp(constant) previous
}
SetTexture[_] {Combine previous * primary Double}
}}
// pre-3GS devices, including the September 2009 8GB iPod touch
SubShader {
Pass {
SetTexture[_MainTex]
SetTexture[_Texture2] {
ConstantColor (0,0,0, [_Blend])
Combine texture Lerp(constant) previous
}
}
Pass {
Lighting On
Blend DstColor SrcColor
}
}
}
}