当前位置: 首页 > wzjs >正文

网站框架设计模板外链工具下载

网站框架设计模板,外链工具下载,平板上做网站的软件,永久3e38cos无风险添加一个 _SolidColor 属性,用于指定纯色。 添加一个 _UseSolidColor 属性,用于控制是否启用纯色模式。 在片段着色器中,根据 _UseSolidColor 的值决定是否将图像替换为纯色。 以下是修改后的Shader代码: Shader "Demo/…
  1. 添加一个 _SolidColor 属性,用于指定纯色。

  2. 添加一个 _UseSolidColor 属性,用于控制是否启用纯色模式。

  3. 在片段着色器中,根据 _UseSolidColor 的值决定是否将图像替换为纯色。

以下是修改后的Shader代码:

Shader "Demo/SpriteShader"
{Properties{[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}_Color ("Alpha Color Key", Color) = (0,0,0,1)_Range("Range", Range(0, 1.01)) = 0.1_SolidColor("Solid Color", Color) = (1,1,1,1) // 新增:纯色属性_UseSolidColor("Use Solid Color", Float) = 0 // 新增:是否启用纯色模式[MaterialToggle] PixelSnap ("Pixel snap", Float) = 0}SubShader{Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane""CanUseSpriteAtlas"="True"}// 关键修复:添加Stencil块以支持Mask组件Stencil{Ref 1Comp EqualPass KeepFail Keep}Pass{Cull OffLighting OffZWrite OffBlend SrcAlpha OneMinusSrcAlphaCGPROGRAM#pragma vertex vert#pragma fragment frag#pragma multi_compile _ PIXELSNAP_ONsampler2D _MainTex;float4 _Color;half _Range;float4 _SolidColor; // 新增:纯色属性float _UseSolidColor; // 新增:是否启用纯色模式struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float4 vertex : SV_POSITION;float2 uv : TEXCOORD0;};v2f vert(appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = v.uv;#ifdef PIXELSNAP_ONo.vertex = UnityPixelSnap(o.vertex);#endifreturn o;}half4 frag(v2f IN) : SV_Target{half4 c = tex2D(_MainTex, IN.uv);// 计算颜色差值half3 diff = abs(c.rgb - _Color.rgb);half maxDiff = max(diff.r, max(diff.g, diff.b));// 使用clip函数直接丢弃像素,兼容AlphaTestclip(maxDiff - _Range);// 新增:纯色模式if (_UseSolidColor > 0.5){c.rgb = _SolidColor.rgb; // 替换为纯色c.a *= _SolidColor.a; // 保留原始Alpha值,与纯色的Alpha混合}return c;}ENDCG}}
}

新增功能说明

  1. _SolidColor 属性

    • 用于指定纯色的颜色值。

    • 在材质面板中可以调整颜色。

  2. _UseSolidColor 属性

    • 用于控制是否启用纯色模式。

    • 值为 1 时启用纯色模式,值为 0 时禁用。

  3. 纯色模式逻辑

    • 在片段着色器中,如果 _UseSolidColor > 0.5,则将像素颜色替换为 _SolidColor

    • 同时保留原始Alpha值,与 _SolidColor 的Alpha混合,确保透明效果正确。

使用示例

  1. 创建材质

    • 将Shader赋给一个材质。

    • 在材质面板中设置 _SolidColor 为你想要的纯色(例如红色 (1,0,0,1))。

    • 勾选 _UseSolidColor 启用纯色模式。

  2. 应用到RawImage

    • 将材质赋给 RawImage 组件。

    • 运行场景,观察图像是否被替换为纯色。

  3. 动态切换纯色模式

    • 可以通过脚本动态修改 _UseSolidColor 的值,实现纯色模式的开关:

Material material = rawImage.material;
material.SetFloat("_UseSolidColor", 1); // 启用纯色模式
material.SetFloat("_UseSolidColor", 0); // 禁用纯色模式

效果展示

  • 禁用纯色模式
    图像正常显示,抠图逻辑生效。

  • 启用纯色模式
    图像被替换为指定的纯色,同时保留抠图逻辑(透明区域仍然透明)。


注意事项

  1. Alpha混合

    • 如果 _SolidColor 的Alpha值小于 1,图像会与背景混合。

    • 如果需要完全不透明,可以将 _SolidColor 的Alpha值设为 1

  2. 性能优化

    • 如果不需要动态切换纯色模式,可以将 _UseSolidColor 设为材质常量,避免每帧上传。

  3. 兼容性

    • 该Shader兼容 Mask 组件,确保裁剪效果正常。

通过以上修改,你的Shader现在既能实现抠图功能,又能将图像处理为纯色,满足更多使用场景!

http://www.dtcms.com/wzjs/400445.html

相关文章:

  • 阿里巴巴国际站费用可以搜索任何网站的浏览器
  • 德州网站建设推广价格网络营销的概念和特点
  • 开题报告 网站建设app开发费用一览表
  • 长沙做网站微联讯点不错西地那非片的功能主治和副作用
  • 官网招聘和招聘网站seo推广排名
  • 如何自己做企业网站企业网站推广策划
  • 如何在百度提交网站com域名注册
  • 织梦网站首页文章阿里巴巴运营
  • 服务型政府 网站建设网球新闻最新消息
  • 重庆知名设计公司有哪些seo网络优化专员是什么意思
  • 庆阳北京网站建设谷歌在线浏览器入口
  • 群站优化之链轮模式网络营销策划书800字
  • 电子商务微网站制作成都百度推广
  • 半路出家去学计算机网站开发免费制作logo的网站
  • 代做网站app论坛平台
  • 阿里云轻云服务器可以放多个网站啊怎么做百度网盘客服在线咨询
  • 推广网站弄哪家好seo的工作内容主要包括
  • 陕西城乡建设委网站淘宝定向推广
  • 增城做网站公司杭州关键词优化平台
  • 深圳专业建站公司有哪些在百度上打广告找谁
  • 腾讯 微商 网站 建设武汉java培训机构排名榜
  • 网站建设技术文章青岛百度推广多少钱
  • 网站服务器是主机吗国外b站浏览器
  • 深圳网站建设yuntianxia企业查询宝
  • 鄱阳做网站朋友圈软文范例
  • 做网站买什么书邵阳seo排名
  • google网站登录入口鄂尔多斯seo
  • 夏都通app下载最新版本太原网站建设优化
  • 做网站网站加载内容慢怎么解决北京网站提升排名
  • 网站后台管理系统多少钱百度关键词批量看排名工具