unityd游戏开发之ngui 圆形血条、进度条制作实现详解【最新资料】

unityd游戏开发之ngui 圆形血条、进度条制作实现详解【最新资料】

ID:14404890

大小:666.00 KB

页数:66页

时间:2018-07-28

unityd游戏开发之ngui 圆形血条、进度条制作实现详解【最新资料】_第1页
unityd游戏开发之ngui 圆形血条、进度条制作实现详解【最新资料】_第2页
unityd游戏开发之ngui 圆形血条、进度条制作实现详解【最新资料】_第3页
unityd游戏开发之ngui 圆形血条、进度条制作实现详解【最新资料】_第4页
unityd游戏开发之ngui 圆形血条、进度条制作实现详解【最新资料】_第5页
资源描述:

《unityd游戏开发之ngui 圆形血条、进度条制作实现详解【最新资料】》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、通常,为了美化界面布局,进度条或者角色血条、经验条并不是长方形的,可能会是个圆形,看了下别人的制作过程都稍显复杂,为此整理了一份步骤非常简单的制作圆形进度条或者圆形血条、经验条的方法。    这儿我们使用了一个遮罩Shader。    先来看看最终效果图:    需要的美术素材如图所示:通常,为了美化界面布局,进度条或者角色血条、经验条并不是长方形的,可能会是个圆形,看了下别人的制作过程都稍显复杂,为此整理了一份步骤非常简单的制作圆形进度条或者圆形血条、经验条的方法。    这儿我们使用了一个遮罩Shader。    先来看看最终效果图:    需要的美术素材如图所示:    导入NG

2、UI以及布局经验条的步骤省略,最终的经验条树形结构如图:    这儿需要特别注意的是,附加到圆形经验条的NGUI组件类一定要是UITexture,因为UITexture有Material选项,这样才可以使用我们的遮罩材质。    下面是遮罩Shader的代码:Shader"Custom/CircleAlphaMask"{  Properties  {  _Color("MainColor",Color)=(1,1,1,1)  _MainTex("Base(RGB)Trans(A)",2D)="white"{}  _MaskTex("Mask(A)",2D)="white"{}  _Pr

3、ogress("Progress",Range(0,1))=0.5  }  Category  {      LightingOff      ZWriteOff      Cullback      Fog{ModeOff}      Tags{"Queue"="Transparent""IgnoreProjector"="True"}      BlendSrcAlphaOneMinusSrcAlpha      SubShader      {        Pass        {          CGPROGRAM          #pragmavertexvert  

4、        #pragmafragmentfrag          sampler2D_MainTex;          sampler2D_MaskTex;          fixed4_Color;          float_Progress;          structappdata          {              float4vertex:POSITION;              float4texcoord:TEXCOORD0;          };          structv2f          {              

5、float4pos:SV_POSITION;              float2uv:TEXCOORD0;          };          v2fvert(appdatav)          {              v2fo;              o.pos=mul(UNITY_MATRIX_MVP,v.vertex);              o.uv=v.texcoord.xy;              returno;          }          half4frag(v2fi):COLOR          {1234567891011

6、1213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667              fixed4c=_Color*tex2D(_MainTex,i.uv);              fixedca=tex2D(_MaskTex,i.uv).a;              c.a*=ca>=_Progress?0:1;              returnc;          }          ENDCG    

7、    }      }      SubShader      {                AlphaTestLEqual[_Progress]            Pass            {              SetTexture[_MaskTex]{combinetexture}              SetTexture[_MainTex]{combinetexture,previous}          

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。