使用纹理制作特效 - 压缩和混合纹理贴图
2017-11-28 16:57
489 查看
Shader "TexBlending" { Properties { _MainTint("MainTint", Color) = (1, 1, 1, 1) _ColorA("ColorA", Color) = (1, 1, 1, 1) _ColorB("ColorB", Color) = (1, 1, 1, 1) _RTexture("RTexture", 2D) = "" {} _GTexture("GTexture", 2D) = "" {} _BTexture("BTexture", 2D) = "" {} _ATexture("ATexture", 2D) = "" {} _BlendTex("BlendTex", 2D) = "" {} } SubShader { Tags { "RenderType" = "Opaque" } LOD 200 CGPROGRAM #pragma surface surf Lambert #pragma target 4.0 float4 _MainTint; float4 _ColorA; float4 _ColorB; sampler2D _BlendTex; sampler2D _RTexture; sampler2D _GTexture; sampler2D _BTexture; sampler2D _ATexture; struct Input { float2 uv_RTexture; float2 uv_GTexture; float2 uv_BTexture; float2 uv_ATexture; float2 uv_BlendTex; }; void surf(Input IN, inout SurfaceOutput o) { float4 blendData = tex2D(_BlendTex, IN.uv_BlendTex); float4 rTexData = tex2D(_RTexture, IN.uv_RTexture); float4 gTexData = tex2D(_GTexture, IN.uv_GTexture); float4 bTexData = tex2D(_BTexture, IN.uv_BTexture); float4 aTexData = tex2D(_ATexture, IN.uv_ATexture); float4 finalColor = lerp(rTexData, gTexData, blendData.g); finalColor = lerp(finalColor, bTexData, blendData.b); finalColor = lerp(finalColor, aTexData, blendData.a); finalColor.a = 1.0; float4 terrainLayers = lerp(_ColorA, _ColorB, blendData.r); finalColor *= terrainLayers; finalColor = saturate(finalColor); o.Albedo = finalColor.rgb * _MainTint.rgb; o.Alpha = finalColor.a; } ENDCG } }
相关文章推荐
- Unity Shaders and Effects Cookbook (2-4) 压缩和混合纹理贴图:使用灰度图存储插值信息
- 使用纹理制作特效 - 在Unity编辑器中创建程序纹理贴图
- 使用纹理制作特效 - Photoshop色阶效果
- UnityShader之压缩和混合纹理贴图
- Unity3D ShaderLab压缩混合纹理贴图
- Android中使用OpenGL ES实现纹理贴图以及实现多重纹理混合
- 教你使用免费的BMFont工具和Photoshop来制作纹理贴图和fnt文件
- 使用纹理制作特效 - 法线贴图
- Cg入门22:Fragment shader - 2D纹理采样(光照贴图制作和使用)
- 使用纹理制作特效 - 让精灵表单动起来
- Photoshop:使用层遮照制作图像渐变特效(2)
- 【翻译】使用CSS3和jQuery制作跟随鼠标方位的Hover特效
- Creator使用压缩纹理
- 非java.util.zip,使用ant.jar制作zip压缩文件,以及相关中文解决方法
- 使用glfw库将OpenCV读取到的图片作为OpenGL的背景纹理贴图
- 使用NGUI制作UI时贴图出现黑线的问题
- Ogre中使用Opencv加载视频作为纹理贴图
- 使用渲染纹理的制作摄像头
- 使用HTML5/CSS3五步快速制作便签贴特效
- 使用 PVRTC 压缩格式创建纹理(Creating textures in the PVRTC compression format)