Unity 实用教程之 UI界面变灰色灰化效果实现

 时间:2024-10-12 18:39:01

1、打开Unity,新建一个空工程,具体如下图

Unity 实用教程之 UI界面变灰色灰化效果实现

2、在场景中添加一个 Image,并设置为绿色,具体如下图

Unity 实用教程之 UI界面变灰色灰化效果实现

3、在工程中,新建一个 材质 和一个 Shader,并把材质的Shader设置为新建的Shader,其中 Shader的代码如下图

Unity 实用教程之 UI界面变灰色灰化效果实现
Unity 实用教程之 UI界面变灰色灰化效果实现
Unity 实用教程之 UI界面变灰色灰化效果实现

4、ImageGreyShader 的具体内容如下:Shader"Custom/ImageGr髫潋啜缅eyShader"{Properties { [PerRendererData]_MainTex("SpriteTexture",2D)="white"{} _Color("Tint",Color)=(1,1,1,1) } SubShader { Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" "CanUseSpriteAtlas"="True" } //源rgba*源a+背景rgba*(1-源A值) BlendSrcAlphaOneMinusSrcAlpha Pass { CGPROGRAM #pragmavertexvert #pragmafragmentfrag #include"UnityCG.cginc" structappdata_t { float4vertex:POSITION; float4color:COLOR; float2texcoord:TEXCOORD0; }; structv2f { float4vertex:SV_POSITION; fixed4color:COLOR; half2texcoord:TEXCOORD0; }; sampler2D_MainTex; fixed4_Color; v2fvert(appdata_tIN) { v2fOUT; OUT.vertex=UnityObjectToClipPos(IN.vertex); OUT.texcoord=IN.texcoord;#ifdefUNITY_HALF_TEXEL_OFFSET OUT.vertex.xy-=(_ScreenParams.zw-1.0);#endif OUT.color=IN.color*_Color; returnOUT; } fixed4frag(v2fIN):SV_Target { half4color=tex2D(_MainTex,IN.texcoord)*IN.color; floatgrey=dot(color.rgb,fixed3(0.22,0.707,0.071)); returnhalf4(grey,grey,grey,color.a); } ENDCG } }}

5、在工程中新建一个脚本 Test,双击脚本,进行代码编辑,具体如下图

Unity 实用教程之 UI界面变灰色灰化效果实现
Unity 实用教程之 UI界面变灰色灰化效果实现

6、Test 脚本的具体内容如下:usingUnityEngine;using曷决仙喁UnityEngine.UI;publicclassTest:MonoBehaviour{publ足毂忍珩icGameObjectimageGo; publicMaterialimageGrey; privateboolisGrey=false;//Usethisforinitialization voidStart(){ } //Updateiscalledonceperframe voidUpdate(){if(Input.GetKeyDown(KeyCode.A)){ if(imageGo!=null&&imageGrey!=null&&isGrey==false){imageGo.GetComponent<Image>().material=imageGrey; isGrey=true; }elseif(imageGo!=null&&imageGrey!=null&&isGrey==true){imageGo.GetComponent<Image>().material=null; isGrey=false; } } }}

7、脚本编译正确后,回到Unity界面在场景中新建一个 GameObject,把脚本 Test,挂载上去,并把新建的 材质 和 Image 赋值给脚本,具体如下图

Unity 实用教程之 UI界面变灰色灰化效果实现

8、运行场景,按下 A 键, Image 变灰和变绿切换,具体如下图

Unity 实用教程之 UI界面变灰色灰化效果实现

9、到此,《Unity 实用教程之 UI界面变灰色灰化效果实现》讲解结束,谢谢

  • c4d圆弧样条在哪个位置
  • FBX文件导入unity里怎么编辑材质
  • AE给文字添加两层描边的方法
  • C4D在哪可以使用重复功能
  • C4D点模式的运用方法
  • 热门搜索
    科技手抄报图片大全 元宵节手抄报图片大全简单又漂亮 从小学先锋长大做先锋手抄报 禁烟手抄报 四年级英语手抄报 国庆节的手抄报 防溺水手抄报图片 预防病毒手抄报 健康饮食手抄报 中国梦我的梦手抄报