深圳Unity3D培训
达内深圳龙华中心

185-8926-6248

热门课程

Unity如何修改Particles Render Material?

  • 时间:2017-10-18 11:22
  • 发布:深圳Unity3D培训
  • 来源:达内新闻

Unity如何修改Particles Render Material?

美术在制造粒子殊效的时候必要能篡改让粒子在某些时候闪耀,看了下创造没有设置能完成,以是加个脚本给美术利用。

事理就是让美术能控制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[]{

ew Color(255.0f, 255.0f, 255.0f, 0.0f),

ew 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;

}

}

1、Start Blink Time:开始切换Color的时间

2、Blink Frame Time:每个Color保持的时间

3、Blink Color:待切换的Color数组

想知道更多关于IT行业的信息吗?想远远不如行动,行动起来,一起加入达内,一起进入IT行业,跟着达内的脚步,一起走进如今的互联网信息时代,带给你不一样的色彩生活——【深圳Unity3D培训

上一篇:Unity3D 30条重要知识点
下一篇:实现Unity 调用Android中的java代码

马上预约三天免费体验课

姓名:

电话:

深圳Unity3D培训:Unity和ue4以后哪个发展好?

VR技术怎么样?在未来的前景如何?

Unity3D之异常

Unity3D中目标相对自身的前后左右方位判断

选择城市和中心
贵州省

广西省

海南省