UIAtlas图片分离后,Shader的使用

本文详细介绍了在Unity中如何使用Shader处理分离的UIAtlas图片。通过两个不同的Shader,展示了如何对RGB和Alpha贴图分别采样并进行颜色叠加,以应对不同Panel重叠情况。同时,提供了Shader代码示例,包括UI_ETC和UI_ETC 1,解释了它们在透明渲染和裁剪软边效果中的应用。
摘要由CSDN通过智能技术生成

最开始接触Unity的时候,觉得写Shader的真是NB的不要不要的,到现在对Shader也只是了解皮毛。学习的路还很长啊。

上篇文章写了如何将Atlas图集进行RGB+Alpha进行分离,本篇文章将会对分离材质使用的Shader进行讲解。

基本思路是:

1.对分离出来的两张贴图进行分别采样,最后进行颜色的叠加

2.因为NGUI的渲染机制,如果在两个或者三个Panel同时存在下,需要准备多份儿Shader 命名规则为 UI_ETC  UI_ETC 1 UI_ETC 2...

Shader代码如下:

Shader "UI/UI_ETC"
{
Properties
{
_MainTex ("Base (RGB)", 2D) = "white" {}
   _MainTex_A("Alpha ( Alpha )", 2D) = "white" {}
}

SubShader
{
LOD 200


Tags
{
"Queue" = "Transparent"
"IgnoreProjector" = "True"
"RenderType" = "Transparent"
}


Pass
{
Cull Off
Lighting Off
ZWrite Off
Fog { Mode Off }
Offset -1, -1
Blend SrcAlpha OneMinusSrcAlpha


CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"


sampler2D _MainTex;
       sampler2D _MainTex_A;
float4 _MainTex_ST;


struct appdata_t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值