苏州高端网站开发,德阳建设网站的公司,网站表格怎么做的,做网站公司天津文章目录 前言一、实现思路1、暴露一个 2D 类型的属性来接受UI的纹理2、设置shader的层级为TransParent半透明渲染层级#xff0c;一般UI都是在这个渲染层级3、更改混合模式#xff0c;是 UI 使用的纹理#xff0c;该透明的地方透明 二、代码实现 前言
Unity中 UI Shader的… 文章目录 前言一、实现思路1、暴露一个 2D 类型的属性来接受UI的纹理2、设置shader的层级为TransParent半透明渲染层级一般UI都是在这个渲染层级3、更改混合模式是 UI 使用的纹理该透明的地方透明 二、代码实现 前言
Unity中 UI Shader的基本功能
一、实现思路
1、暴露一个 2D 类型的属性来接受UI的纹理 //命名要按标准来这个属性才可以和Unity组件中的属性产生关联 //比如说在更改 Image 的源图片时同时更改这个 [PerRendererData]_MainTex(“MainTex”,2D) “white”{} 2、设置shader的层级为TransParent半透明渲染层级一般UI都是在这个渲染层级 //更改渲染队列UI的渲染队列一般是半透明层的 Tags {“Queue” “TransParent”} 3、更改混合模式是 UI 使用的纹理该透明的地方透明 //混合模式 Blend SrcAlpha OneMinusSrcAlpha 二、代码实现
ShaderMyShader/P1_1_1
{Properties{//命名要按标准来这个属性才可以和Unity组件中的属性产生关联//比如说在更改 Image 的源图片时同时更改这个[PerRendererData]_MainTex(MainTex,2D) white{}}SubShader{//更改渲染队列UI的渲染队列一般是半透明层的Tags {Queue TransParent}//混合模式Blend SrcAlpha OneMinusSrcAlphaPass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include UnityCG.cginc//存储 应用程序输入到顶点着色器的信息struct appdata{//顶点信息float4 vertex:POSITION;float2 uv : TEXCOORD;};//存储 顶点着色器输入到片元着色器的信息struct v2f{//裁剪空间下的位置信息float4 pos:SV_POSITION;float2 uv : TEXCOORD;};sampler2D _MainTex;v2f vert(appdata v){v2f o;//把顶点信息转化到裁剪坐标下o.pos UnityObjectToClipPos(v.vertex);o.uv v.uv;return o;}fixed4 frag(v2f i) : SV_Target{fixed4 mainTex tex2D(_MainTex,i.uv);return mainTex;}ENDCG}}
}效果