Unity修改Particles Render Material(Unity3D开发之二十三)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2Der-CSDN,谢谢!
原文地址: http://blog.csdn.net/cocos2der/article/details/48372999
美术在制作粒子特效的时候需要能修改让粒子在某些时刻闪烁,看了下发现没有设置能实现,所以加个脚本给美术使用。
原理就是让美术能控制Render修改Image的Color
using UnityEngine;
using System.Collections;
public class ParticleBlink : MonoBehaviour {
public float startBlinkTime = 0.0f;
public float blinkFrameTime = 0.02f;
public Color[] blinkColor = new Color[]{
new Color(255.0f, 255.0f, 255.0f, 0.0f),
new Color(255.0f, 255.0f, 255.0f, 255.0f)
};
private Material m_Material;
private float m_BlinkLifeTime = 0.0f;
private bool m_IsStartBlink = false;
private int m_BlinkColorIndex = 0;
// Use this for initialization
void Start () {
m_Material = GetComponent<Renderer>().material;
m_BlinkLifeTime = 0;
if (startBlinkTime > 0) {
m_IsStartBlink = false;
Invoke ("StartBlink", startBlinkTime);
} else {
m_IsStartBlink = true;
}
}
// Update is called once per frame
void Update () {
if (m_IsStartBlink) {
UpdateColor ();
}
}
void UpdateColor()
{
if (blinkColor == null || blinkColor.Length <= 0) {
return;
}
m_BlinkLifeTime += Time.deltaTime;
if (m_BlinkLifeTime >= blinkFrameTime) {
m_BlinkLifeTime = 0;
// Render Material使用不同的Shader,这里的Color变量名需要对应修改
m_Material.SetColor ("_Color", blinkColor[m_BlinkColorIndex]);
m_BlinkColorIndex += 1;
if (m_BlinkColorIndex >= blinkColor.Length) {
m_BlinkColorIndex = 0;
}
}
}
void StartBlink()
{
m_IsStartBlink = true;
}
}
- Start Blink Time:开始切换Color的时间
- Blink Frame Time:每一个Color保持的时间
- Blink Color:待切换的Color数组
Unity修改Particles Render Material(Unity3D开发之二十三)的更多相关文章
- 使用Multiplayer Networking做一个简单的多人游戏例子-1/3(Unity3D开发之二十五)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/51006463 ...
- Unity Singleton 单例类(Unity3D开发之二十)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/47335197 ...
- Unity Singleton 单例类(Unity3D开发)
一.添加单例模板类 using UnityEngine; public class Singleton<T> : MonoBehaviour where T : MonoBehaviour ...
- 使用Multiplayer Networking做一个简单的多人游戏例子-3/3(Unity3D开发之二十七)
使用Multiplayer Networking做一个简单的多人游戏例子-1/3 使用Multiplayer Networking做一个简单的多人游戏例子-2/3 使用Multiplayer Netw ...
- 使用Multiplayer Networking做一个简单的多人游戏例子-2/3(Unity3D开发之二十六)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/51007512 ...
- Auto Create Editable Copy Font(Unity3D开发之二十二)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/48318879 ...
- Transform介绍(Unity3D开发之二)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=491 可能unity中接触较早的 ...
- Remove Google Play Games libraries on iOS (Unity3D开发之二十一)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/48313653 ...
- UnityEditor下文件操作方法汇总(Unity3D开发之二十四)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/50595585 ...
随机推荐
- 【编程练习】poj1111
Image Perimeters Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 8632 Accepted: 5168 ...
- 02-Git简单使用
Git安装(windows) https://code.google.com/p/msysgit/downloads/list 我们使用版本Git-1.7.9版本 百度网盘下载:链接:http://p ...
- Cocoa触发方法调用的几种方法
每日更新关注:http://weibo.com/hanjunqiang 新浪微博 1.SEL触发 SEL就是selector的缩写,它表示Cocoa中的方法选择器,不明白?那请仔细了解Objecti ...
- MO_GLOBAL - EBS R12 中 Multi Org 设计的深入研究 (3)
这是多组织访问的第三篇文章,翻译自Anil Passi的MO_GLOBAL-Dive into R12 Multi Org Design 我希望你已经读了文章 EBS R12 中的 Multi Org ...
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(二十)
接上一篇文章,我们现在来实现篮框的感应器. 所谓感应器,就是在物体接触到的时候做出反应的节点.我们需要将感应器放在篮框底部,这样子弹接触感应器的时候,我们就知道子弹坠入了篮框,从而得分. 为了放置子弹 ...
- 【一天一道LeetCode】#85. Maximal Rectangle
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...
- 多重DES
背景:单重DES在穷举攻击下相对比较脆弱 理论依据:以双重DES为例 加密:C = E(K2,E(K1,P)) 解密:P = D(K1,D(K2,C)) 要证明多重加密有效,就要证明不存在K3 ...
- XML跨平台,你懂的
XML跨平台,你懂的 [引子] 90后小妹,问我,"都说XML跨平台,偶真的,不理解.XML语言的这大优势,倒是深深记在脑海里了." 当然,偶立马应声答到,& ...
- Socket编程实践(5) --TCP粘包问题与解决
TCP粘包问题 由于TCP协议是基于字节流且无边界的传输协议, 因此很有可能产生粘包问题, 问题描述如下 对于Host A 发送的M1与M2两个各10K的数据块, Host B 接收数据的方式不确定, ...
- 【一天一道LeetCode】#64. Minimum Path Sum.md
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...