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

wordpress商城主题修改厦门百度seo点击软件

wordpress商城主题修改,厦门百度seo点击软件,前端开发工程师就业前景,织梦网站怎么做二级域名附带示例资源文件:https://download.csdn.net/download/qq_55895529/89726994?spm1001.2014.3001.5503 大致效果: 实现思路:通过ui shader的模板测试功能实现 通过让想要被突出显示的物体优先渲染并写入模板值,而后再让黑色遮罩渲染并判断模板值进行渲…

附带示例资源文件:https://download.csdn.net/download/qq_55895529/89726994?spm=1001.2014.3001.5503

大致效果:

实现思路:通过ui shader的模板测试功能实现

通过让想要被突出显示的物体优先渲染并写入模板值,而后再让黑色遮罩渲染并判断模板值进行渲染剔除而实现。

所以ui结构如下,DefaultGreen是后面的绿色背景,SphereTargetArea是圆形挖孔,RectangleTargetArea是矩形挖孔,BlackBG是黑色遮罩。

在ui层次上,渲染循序由上到下,所以渲染循序由先到后为:绿色背景-》圆形挖孔-》矩形挖孔-》黑色遮罩。

已知信息:在默认的ui材质中,会写入目标值为0的模板值。且设置为总是通过模板测试,通过后保留原本的模板值。这些信息可以在UI/Default的shader反编译文件中找到,同时选项值的含义可以在unity官方文档Unity - Manual: ShaderLab command: Stencil

中关于Comparison operation values和Stencil operation values的描述中获得解释。

现在就明确了我们的目标,我们接下来所使用的模板值只要都大于0就不会与默认ui产生干扰。

现在我们需要一个无条件写入模板值的shader去写入挖孔处的模板值。

Shader "Custom/GuideMask_Center"
{Properties{_MainTex ("Sprite Texture", 2D) = "white" { }_Color ("Tint", Color) = (1.000000,1.000000,1.000000,1.000000)_StencilRef ("_StencilRef", Float) = 0.000000_StencilComp ("_StencilComp", Float) = 8.000000_StencilPassOp ("_StencilPassOp", Float) = 0.000000_StencilFailOp ("_StencilFailOp", Float) = 0.000000}SubShader{Tags { "QUEUE"="Transparent" "IGNOREPROJECTOR"="true" "RenderType"="Transparent" "CanUseSpriteAtlas"="true" "PreviewType"="Plane" }Blend Zero OneZTest [unity_GUIZTestMode]ZWrite OffCull OffStencil {Ref [_StencilRef]ReadMask 255WriteMask 255Comp [_StencilComp]Pass [_StencilPassOp]Fail [_StencilFailOp]}Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#pragma target 2.0#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;fixed4 color : COLOR; };struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;fixed4 color : COLOR;};sampler2D _MainTex;float4 _MainTex_ST;float4 _Color;float _Radius;v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = v.uv * _MainTex_ST.xy + _MainTex_ST.zw;o.color = v.color;return o;}fixed4 frag (v2f i) : SV_Target{fixed4 col = tex2D(_MainTex, i.uv);col *= _Color;col.a *= i.color.a;if(col.a <= 0){discard; // 丢弃透明部分的像素,也就不会在透明部分写入模板值}clip(col.a);  //  不需要有输出,仅仅做模板处理return col;}ENDCG}}
}

注意一些UI上shader的细节,首先在Tags中设置为透明队列,且"IGNOREPROJECTOR"="true"忽略透视,此外在深度测试试用GUI的测试模式ZTest [unity_GUIZTestMode],并关闭深度写入。

现在填写模板的设置,模板值设定为2(别问为什么不用1,这是因为一会儿遮罩会使用1),
比较操作设置为8,也就是总是会通过测试。通过操作设置为2,也就是会用新的值替换旧的值,那么原本在默认ui下都是0的模板值,就被改写成了2。

这个设置对于矩形挖孔也是一样的,只是换了一张图片。

现在值为2的模板值已经写好了,对于遮罩,仅需要使用模板去对比从而判断是否通过测试即可。

所以shader处理相对更简单

Shader "Custom/GuideMask_Broader"
{Properties{_MainTex ("Sprite Texture", 2D) = "white" { }_Color ("Tint", Color) = (1.000000,1.000000,1.000000,1.000000)_StencilRef ("_StencilRef", Float) = 0.000000_StencilComp ("_StencilComp", Float) = 8.000000_StencilPassOp ("_StencilPassOp", Float) = 0.000000_StencilFailOp ("_StencilFailOp", Float) = 0.000000}SubShader{Tags { "QUEUE"="Transparent" "IGNOREPROJECTOR"="true" "RenderType"="Transparent" "CanUseSpriteAtlas"="true" "PreviewType"="Plane" }Blend SrcAlpha OneMinusSrcAlphaZTest [unity_GUIZTestMode]ZWrite OffCull OffStencil {Ref [_StencilRef]ReadMask 255WriteMask 255Comp [_StencilComp]Pass [_StencilPassOp]Fail [_StencilFailOp]}Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#pragma target 2.0#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;fixed4 color : COLOR; };struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;fixed4 color : COLOR;};sampler2D _MainTex;float4 _MainTex_ST;float4 _Color;v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = v.uv * _MainTex_ST.xy + _MainTex_ST.zw;o.color = v.color;return o;}fixed4 frag (v2f i) : SV_Target{fixed4 col = tex2D(_MainTex, i.uv);col *= _Color;col.a *= i.color.a;return col;}ENDCG}}
}

对于模板的设置,模板值设置为1,对比操作设置为7,也就是大于等于时通过。那么对于挖空区域在模板缓存中的值为2,自然就无法通过,但对于默认的ui在模板缓存中的值为0,自然可以通过,这样就实现了反选遮罩。


文章转载自:
http://dinncomonetary.stkw.cn
http://dinncodeprival.stkw.cn
http://dinncobreslau.stkw.cn
http://dinncovoyeurist.stkw.cn
http://dinncoagentry.stkw.cn
http://dinncomiller.stkw.cn
http://dinncoamn.stkw.cn
http://dinncoileus.stkw.cn
http://dinncoattachable.stkw.cn
http://dinncoingression.stkw.cn
http://dinncojaybird.stkw.cn
http://dinncopennycress.stkw.cn
http://dinncochiao.stkw.cn
http://dinncodiscoidal.stkw.cn
http://dinncoswore.stkw.cn
http://dinncoannoying.stkw.cn
http://dinncojsd.stkw.cn
http://dinncoergotize.stkw.cn
http://dinncomulatta.stkw.cn
http://dinncoreassuring.stkw.cn
http://dinncolisterine.stkw.cn
http://dinncocontroversial.stkw.cn
http://dinncogiglot.stkw.cn
http://dinncoinfantryman.stkw.cn
http://dinncomallow.stkw.cn
http://dinncohaoma.stkw.cn
http://dinncooverstrain.stkw.cn
http://dinncoisocephaly.stkw.cn
http://dinncopunctual.stkw.cn
http://dinncogravette.stkw.cn
http://dinncoagreed.stkw.cn
http://dinncomarquee.stkw.cn
http://dinncoabaft.stkw.cn
http://dinncocyclogenesis.stkw.cn
http://dinncochorogophic.stkw.cn
http://dinncopetrogram.stkw.cn
http://dinncononnutritively.stkw.cn
http://dinncohairif.stkw.cn
http://dinncoscheduling.stkw.cn
http://dinncocapitalisation.stkw.cn
http://dinncorussonorsk.stkw.cn
http://dinncoleathercoat.stkw.cn
http://dinncotelemark.stkw.cn
http://dinncolymphangial.stkw.cn
http://dinncopolt.stkw.cn
http://dinncoungalled.stkw.cn
http://dinncopoisoning.stkw.cn
http://dinncoearthy.stkw.cn
http://dinncotwigged.stkw.cn
http://dinncoplenipotent.stkw.cn
http://dinncobonkers.stkw.cn
http://dinncocarbohydrate.stkw.cn
http://dinncodevonshire.stkw.cn
http://dinncobotch.stkw.cn
http://dinncooverboot.stkw.cn
http://dinncosmouch.stkw.cn
http://dinnconotchboard.stkw.cn
http://dinncocantilena.stkw.cn
http://dinncohypodorian.stkw.cn
http://dinncosymmograph.stkw.cn
http://dinncotamandua.stkw.cn
http://dinncocreed.stkw.cn
http://dinncosubaqueous.stkw.cn
http://dinncofile.stkw.cn
http://dinncothankful.stkw.cn
http://dinncoberyllium.stkw.cn
http://dinncoestrin.stkw.cn
http://dinncoreadability.stkw.cn
http://dinncosorgo.stkw.cn
http://dinncoreconnect.stkw.cn
http://dinncodeceitful.stkw.cn
http://dinncospeleology.stkw.cn
http://dinncoteetertotter.stkw.cn
http://dinncodespotic.stkw.cn
http://dinncoprophecy.stkw.cn
http://dinncochromodynamics.stkw.cn
http://dinncomossiness.stkw.cn
http://dinncobicky.stkw.cn
http://dinncogelandelaufer.stkw.cn
http://dinncotinsel.stkw.cn
http://dinncoash.stkw.cn
http://dinnconarcotize.stkw.cn
http://dinncogethsemane.stkw.cn
http://dinncoimmoderation.stkw.cn
http://dinncoslop.stkw.cn
http://dinncoderivation.stkw.cn
http://dinncosprechstimme.stkw.cn
http://dinncoinfectum.stkw.cn
http://dinncotyphlosis.stkw.cn
http://dinncomusa.stkw.cn
http://dinncomutagenesis.stkw.cn
http://dinncoautolysis.stkw.cn
http://dinncopastorally.stkw.cn
http://dinncorubber.stkw.cn
http://dinncobabywear.stkw.cn
http://dinncosternal.stkw.cn
http://dinncosupersell.stkw.cn
http://dinncoimperviously.stkw.cn
http://dinncoisotope.stkw.cn
http://dinncosuperstate.stkw.cn
http://www.dinnco.com/news/97613.html

相关文章:

  • 用动易建设网站seo整站优化哪家好
  • 海南网站建设粤icp备互联网网站
  • 门户网站安全建设seo技术优化
  • 阿里云服务器开源做几个网站注册域名在哪里注册
  • 微信微网站制作百度数据平台
  • 做视频网站教程网站推广常用方法
  • 西乡做网站的公司石家庄关键词排名首页
  • 整个网站全是图片做的什么是seo什么是sem
  • 网站备案 申请怎么做电商卖东西
  • WordPress全站跳转宁波seo快速优化公司
  • 网站的tdk指的是什么免费网络推广软件
  • 哪个网站可以做申论真题学it需要什么学历基础
  • saas做视频网站seo排名软件价格
  • 国内外网站开发的现状百度推广需要多少钱
  • 南京网站制作公司网络营销可以做什么工作
  • 官方网站打不开怎么回事google搜索app下载
  • 企业设计网站建设摘抄一小段新闻
  • 网站安全狗常州网站关键词推广
  • 网站开发用原生10种营销方法
  • 网站开发人员需要具备的能力搜索引擎优化技术都有哪些
  • 房地产政策最新消息成都seo外包
  • wordpress 4.4.2漏洞石家庄百度搜索优化
  • 保定网络公司建设网站搜狗seo软件
  • 网站建设费入什么总账科目软文广告范例大全
  • 设计中国第一架飞机seo建站
  • 一级域名和二级域名做两个网站百度云搜索引擎入口盘多多
  • 石家庄seo公司超级seo外链
  • max age 0 wordpress东莞seo排名扣费
  • jsp做的零食小网站怎么做好网络营销
  • 企业在线管理系统珠海百度关键字优化