unity黑白滤镜_UnityNGUI图片去色黑白效果

更新时间:2023-07-23 18:09:21 阅读: 评论:0

unity⿊⽩滤镜_UnityNGUI图⽚去⾊⿊⽩效果在做项⽬的时候。我们经常要⽤到禁⽤为灰⾊的效果。⽐如 我们要做 图鉴 我们已有的装备物品为彩⾊。没有的为灰⾊。
在我们设置UISprite或者UITesture的颜⾊时。会发现,效果不好还会被图⽚本⾝的颜⾊影响。如下
利用英文⽽我们需要的是这样的效果
这时。就需要我们写Shader来弄了。
Unity中搜索 :Transparent Colored
打开该shader 搜索 函数fixed4 frag (v2f i) : COLOR
{
fixed4 col = tex2D(_MainTex, i.texcoord) * i.color;
return col;
}
将之替换为如下代码fixed4 frag (v2f i) : COLOR
{
fixed4 col;
if (i.color.r < 0.001)
{
col = tex2D(_MainTex, i.texcoord);
power bank
float grey = b, float3(0.299, 0.587, 0.114));
}
el
{
col = tex2D(_MainTex, i.texcoord) * i.color;
}
return col;
}
另存为。换个名字。然后给UITexture引⽤就可以了。如下;
当然也可以⽤脚本动态更改。(传⼊fal则去⾊)public void SetUITextureColorEnable(UITexture tex, bool enbale)
isdn{
scheduledif (tex != null)
{
Debug.LogError("111");
比较级和最高级Shader shader = null;
if (enbale == true)
{
shader = Shader.Find("Unlit/Transparent Colored");
}
el
求函数值域的方法{
shader = Shader.Find("Unlit/Transparent Colored Gray");
}
Debug.LogError(shader.name);
if (tex.shader != shader)
{
tex.shader = shader;
swallowtail
}
}
el
{
Debug.LogError(string.Format("SetUITextureColorEnable tex null/enbale={0}", enbale));
}
}
UISprite的话。需要给图集的材质球更好Shader;
动态的话。如下Material mat = new Material(Shader.Find("Unlit/Transparent Colored Gray"));
atlas.spriteMaterial = mat;
我们可以就⼀个图集。写⼀个⽅法。运⾏后。将已有的图集动态克隆⼀份。然后引⽤新的shader。然后根据条件去取相应的图集。就可了。
浦东少儿英语培训
修改添加代码。如下:#region 获取图⽚去⾊相关kick ass
private UIAtlas mHeadIconUIAtlas;
private Material mGrayMaterial;
nigger什么意思啊public void GetGrayIconSprite(UISprite sprite,string spriteName)
{
if (mHeadIconUIAtlas == null)
{
UIAtlas atlas = AstMgr.GetInstance().GetUIAtlas(AstType.IconGHead, true);//这⾥是获取图集。这个根据个⼈的接⼝写。⽤Res.Load 去获取。
mHeadIconUIAtlas = Instantiate(atlas) as UIAtlas;//克隆图集

本文发布于:2023-07-23 18:09:21,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1113116.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:Content capture
标签:图集   已有   搜索   代码   动态   效果
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图