实现图片ETC+Alpha分离

目录

ETC纹理压缩格式

ETC1:它是一种为感知质量设计的有损算法,其依据是人眼对亮度改变的反应要高于色度改变,遗憾的是ETC1不支持透明。

ETC2:ETC2是ETC1的扩张,向后兼容ETC1,对RGB的压缩质量更好,并且支持透明通道。

原理

  • 目前ETC2压缩格式在OpenGL ES 3.0和OpenGL 4.3上才要求支持,然而目前很多设备只支持OpenGL ES 2.0,所以为了兼容大部分Android设备,并且实现图片压缩,减少包资源大小,所以采用将ARGB格式Texture分离成RGB Texture和Alpha Texture,并均进行ETC压缩。(边长需要POT,2的幂),通过运行时刻进行合并。

步骤

  • 将Texture丢进TexturePacker中,设置好参数后输出,分别得到tga文件和txt文件。

这里写图片描述

  • 将Tga文件丢进PS中。

    • 选择通道,删除Alpha 1通道,保存命名为后缀_RGB文件,此为RGB Texture。

    • 回滚之前Tga文件,选择‘分离通道’,保存分离后的Alpha通道为后缀_Alpha文件,此为Alpha Texture。

这里写图片描述

  • 新建Material,使用(Unlit/Transparent Colored Combine) Shader,将RGB Texture和Alpha Texture丢入对应Texture位置

这里写图片描述

完整Shader代码

Shader "Unlit/Transparent Colored Combine"
{
    Properties
    {
        _MainTex("Base (RGB)", 2D) = "white" {}
        _AlphaTex("AlphaTex", 2D) = "white" {}
    }

    SubShader
    {
        Tags
        {
            "Queue" = "Transparent+1"
        }
        Pass
        {
            Lighting Off
            ZTest Off
            Blend SrcAlpha OneMinusSrcAlpha
            Cull Off

            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            #include "UnityCG.cginc"

            sampler2D _MainTex;
            sampler2D _AlphaTex;

            float _AlphaFactor;

            struct v2f
            {
                float4 pos : SV_POSITION;
                float2 uv : TEXCOORD0;
                float4 color : COLOR;
            };

            half4 _MainTex_ST;
            half4 _AlphaTex_ST;

            v2f vert(appdata_full v)
            {
                v2f o;
                o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
                o.uv = v.texcoord;
                o.color = v.color;
                return o;
            }

            half4 frag(v2f i) : COLOR
            {
                half4 texcol = tex2D(_MainTex, i.uv);
                half4 result = texcol;
                result.a = tex2D(_AlphaTex, i.uv);
                return result;
            }

            ENDCG
        }
    }
}
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"etc智能终端商业计划书.pdf"是一个商业计划书的文件,描述了etc智能终端公司的商业目标、战略和计划。该文件涉及公司的产品和服务、目标市场、竞争对手分析、市场营销策略、财务计划等关键领域。 在商业计划书中,etc智能终端公司可能会提及他们开发的智能终端产品的特点和功能。这些产品可能是指智能手机、平板电脑、智能手表等物联网终端设备。公司可能会强调产品的创新性和与竞争对手的差异化,以及产品的设计和性能。 此外,商业计划书还会描述etc智能终端公司的目标市场和目标客户。公司可能会确定在消费者、企业或特定行业中寻找销售机会。对目标市场的分析和调研可能会包括市场规模、增长趋势以及目标客户的需求和偏好。 为了与竞争对手区分开来并实现销售目标,etc智能终端公司的商业计划书可能还会详细描述其市场营销策略和推广计划。公司可能会提及通过广告、品牌推广、渠道合作等方式来促进产品的认知度和销售增长。 最后,商业计划书还将涉及公司的财务计划和预测,包括销售收入、成本、利润预测以及资金需求和融资计划。这些财务数据将有助于投资者和合作伙伴了解公司的盈利能力和投资回报率。 总而言之,"etc智能终端商业计划书.pdf"是一个描述etc智能终端公司商业目标、战略和计划的文件,涵盖了产品和服务、目标市场、竞争对手分析、市场营销策略、财务计划等关键领域。该文件对于展示公司发展方向和吸引投资者和合作伙伴的兴趣至关重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值