NGUI图片闪光
先上效果

Shader
Shader "Unlit/Transparent Colored Flow Texture"
{
Properties
{
_MainTex ("Base (RGB), Alpha (A)", 2D) = "black" {}
_FlashTex("Flash (RGB), Alpha (A)", 2D) = "white" {}
_FlashColor("Flash Color", Color) = (1,1,1,0)
_Interval("Interval", Float) = 5 } SubShader
{
LOD 200 Tags
{
"Queue" = "Transparent"
"IgnoreProjector" = "True"
"RenderType" = "Transparent"
} Pass
{
Cull Off
Lighting Off
ZWrite Off
Fog { Mode Off }
Offset -1, -1
Blend SrcAlpha OneMinusSrcAlpha CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc" sampler2D _MainTex;
float4 _MainTex_ST;
sampler2D _FlashTex;
float4 _FlashColor;
float _Interval; struct appdata_t
{
float4 vertex : POSITION;
float2 texcoord : TEXCOORD0;
fixed4 color : COLOR;
}; struct v2f
{
float4 vertex : SV_POSITION;
half2 texcoord : TEXCOORD0;
half2 texcoord1 : TEXCOORD1;
fixed4 color : COLOR;
}; v2f o; float mymod(float x, float y)
{
return x - y * floor(x/y);
} v2f vert (appdata_t v)
{
o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
o.texcoord = v.texcoord;
o.texcoord1 = o.texcoord;
o.texcoord1.x += mymod(-_Time.w, _Interval) - 1.0f;
o.color = v.color;
return o;
} fixed4 frag (v2f IN) : COLOR
{
float4 col = tex2D(_MainTex, IN.texcoord) * IN.color; float4 flashCol = tex2D(_FlashTex,IN.texcoord1)*_FlashColor;
col.rgb = col.rgb + flashCol.rgb * flashCol.w; return col;
}
ENDCG
}
} SubShader
{
LOD 100 Tags
{
"Queue" = "Transparent"
"IgnoreProjector" = "True"
"RenderType" = "Transparent"
} Pass
{
Cull Off
Lighting Off
ZWrite Off
Fog { Mode Off }
Offset -1, -1
ColorMask RGB
Blend SrcAlpha OneMinusSrcAlpha
ColorMaterial AmbientAndDiffuse SetTexture [_MainTex]
{
Combine Texture * Primary
}
}
}
}
脚本
using UnityEngine;
using System.Collections; /*-------------------------------------------------------------------
Copyright 2015 Minty Game LTD. All Rights Reserved.
Maintained by bailu
-------------------------------------------------------------------
bailu 2016-01-26 14:45:52
带流光的UITexture
*/ [ExecuteInEditMode]
[RequireComponent(typeof(UITexture))]
public class UIFlowTexture : MonoBehaviour { //流光颜色
[SerializeField]
private Texture FlowTexture = null; //流光时间间隔
[SerializeField]
private float Interval = 5f; //流光颜色
[SerializeField]
private Color FlowColor = Color.white; //被流光的UITexture
private UITexture mUITexture; void Awake()
{
mUITexture = gameObject.GetComponent<UITexture>();
} // Use this for initialization
void Start ()
{
ResourceManager.PrepareResource<Material>(Resource.Dir.Material + "UITexture_Flow.mat", material =>
{
mUITexture.material = new Material(material);
RefreshMaterialProperty();
});
} [ContextMenu("Refresh Material Property")]
public void RefreshMaterialProperty()
{
var mat = mUITexture.material;
if(null==mat)
{
return;
} if(null!=FlowTexture)
{
mat.SetTexture("_FlashTex", FlowTexture);
} mat.SetFloat("_Interval", Interval); mUITexture.MarkAsChanged();
} }
搞法:
1、创建个材质命名成UITexture_Flow.mat,把上面的shader拖拽进去。
2、创建GameObject,挂上UITexture(不用修改的材质,原因是我代码里会去修改他的材质。为什么总是new 新的材质,原因是每个UITexture都要自己流动自己的)
3、然后再挂上UITextureFlow,设置流光的参数
注意:如果你放ScrollView下发现裁剪不正确,那就按照NGUI的shader规则,增加XXX 1.shader,XXX 2.shader。
NGUI图片闪光的更多相关文章
- css实现图片闪光效果
1.这个效果是看到京东商城上的一个下效果,原本的思路是 用js控制一个图片在某张需要闪光的图片上重复出现,但是 网上找了一些资料,竟然是用css写的,真是太帅了!!! 2.原理:在需要闪光的图片前添加 ...
- NGUI图片字(Bitmap图片转文字)
用图片字而不是图片 美术和程序的配合,需要程序能够很快抓住问题重点并提出解决方案.美术出的图片字比我们使用的字体更好好看,那么是否要一个个图片去拼成数字呢? NGUI创建图片字 准备材料 美术提供的数 ...
- 关于Unity3D中Resources动态加载NGUI图片的方法
在NGUI中有些图片我需要动态进行变更或者加载,怎么办? 首先在项目中创建一个Resources目录,接着把需要的图片放在这里面,可以有子文件夹么?当然可以,文件结构很重要哦~ NGUI加载图片的方法 ...
- 关于Unity中NGUI图片精灵响应鼠标的方法
我在Unity里做NGUI的时候发现一个问题. 在Unity2D场景当中,一个精灵图片只要加上了Box Collider或者Box Collider2D,就可以相应OnMouseEnter和OnMou ...
- 使用CSS3线性渐变实现图片闪光划过效果
<p class="overimg"> <a><img src="http://www.nowamagic.net/librarys/ima ...
- NGUI 图片变灰
效果图 1.先准备好一个变灰shader.代码如下 Shader "Custom/Gray" { Properties { _MainTex ("Base (RGB), ...
- css3划过图片闪光
css代码 01 .img { display:block; position: relative; width:800px; height:450px; margin:0 auto;} 02 .im ...
- 【CSS3】使用CSS3线性渐变实现图片闪光划过效果(转)
原文:http://www.nowamagic.net/librarys/veda/detail/2600 资料参考: http://www.cnblogs.com/lhb25/archive/201 ...
- 整理六百篇web前端知识混总
9个有用的和免费的工具来支持动态网页开发 8个基本的引导工具的网页设计师 11款CSS3动画工具的开发 2016年某前端群题目答案参考 9最好的JavaScript压缩工具 创建响应式布局的10款优秀 ...
随机推荐
- 负margin小记
static元素 margin-top/left负值,元素向指定方向移动, margin-bottom/right负值,元素不动,后续元素前移 float元素 左浮, ...
- CXF bus interceptor配置
作用:BUS是cxf的支架,它主要担当扩展及拦截器提供者的角色. 在这里主要讲讲 bus的interceptor的功能 目前配置cxf的interceptor主要有2中方法: 1.通过xml配置文件的 ...
- H5 使用
关闭页面 http://www.bcty365.com/content-146-3343-1.html 回退页面: plus.key.addEventListener('backbutton', fu ...
- Linux系统改变ls文件和文件夹颜色方法
本人之前就针对蓝色文件夹的颜色 我是这样修改的: cp /etc/DIR_COLORS ~/.dir_colors vim ~/.dir_colors , 将DIR 01;33 ...
- Apache CXF初级介绍(一)
Web Service做项目必不可少 一.CXF安装 二.用Ant来创建项目 三.用Maven来创建项目 四.用Eclipse来创建项目 五
- "当前方法的代码已经过优化,无法计算表达式的值"的这个错误的解决方案!!!
http://blog.useasp.net/archive/2012/09/12/how-to-debug-dotnet-framework-source-when-throw-the-code-o ...
- SQL--表分区
use Test --.创建数据库文件组>>alter database <数据库名> add filegroup <文件组名> ALTER DATABASE TE ...
- 关于Html编码问题,例如字符:·
我写的WCF服务突然报错了... 然后我发现传过来的字符不完整 {"完整":"尼古拉·奥斯特洛夫斯基的信息"} 然后传过来的是:{"完整": ...
- C++ Const引用详解
(1) 在实际的程序中,引用主要被用做函数的形式参数--通常将类对象传递给一个函数.引用必须初始化. 但是用对象的地址初始化引用是错误的,我们可以定义一个指针引用. 1 int ival ...
- 【活动】不用买书,不用花钱,可以免费看HTML5入门连载了
清华大学出版社推出的<HTML 5网页开发实例详解>适合HTML 5开发初学者和前端开发工程师.本书一经上市,就获得了读者的一致好评,为感谢读者,推出本书的连载活动. 本书术新颖.与时 ...