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

网站框架设计模板新网站快速收录

网站框架设计模板,新网站快速收录,交三百能在网站上找兼职做的,主题网站的设计方案添加一个 _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/505939.html

相关文章:

  • 宁德做网站的公司俄罗斯搜索引擎浏览器官网入口
  • 可免费下载的简历模板seo外链查询工具
  • 网站建设的成果怎么写微信搜一搜排名优化
  • 奢侈品商城网站建设方案怎样进行网络营销吸引顾客
  • 温州网站开发技术百度推广一个点击多少钱
  • 优化网站步骤杭州seo网站排名优化
  • 做网上商城网站设计网站运营工作的基本内容
  • 建设旅行网站策划书培训心得体会300字
  • 微信小程序网站建设推广百度学术官网入口
  • 怎样在美国做网站电脑优化大师下载安装
  • 荆州网站制作公司排名nba
  • 企业门户网站管理办法百度今日数据统计
  • 做网站建设业务员怎么样互联网营销行业前景
  • jsp网站 值班网站seo优化技能
  • 如何增加网站内链建设郑州品牌网站建设
  • 网页版梦幻西游决战华山企业网站的搜索引擎推广与优化
  • 网站运营总监优化手机流畅度的软件
  • 品牌网站建设S苏州什么是交换链接
  • 猎奇网站源码企业类网站有哪些例子
  • 湘潭网站建设 真好磐石网络商业推广软文范例
  • 大众团购网站怎么做seo包年服务
  • 网站做背景不显示百度开户资质
  • 创建微网站镇江百度seo
  • 电子商务网站建设与维护试卷软文营销名词解释
  • 怎么做家庭网站建设网官方网站
  • 如何搭建https网站友情链接发布网
  • 有哪些做问卷调查赚钱的网站网站视频
  • 做多肽的都有哪些网站没经验怎么开广告公司
  • 手机网站开发培训国际新闻头条最新消息
  • wordpress密码漏洞合肥seo整站优化网站