Unity设置闪烁

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class ModelFlash : MonoBehaviour 
{
    private Renderer selfRenderer;
    private Renderer[] renderers;
    float _r,_g,_b ;
    void Awake()
    {
        selfRenderer = this.GetComponent<Renderer>();
        if (selfRenderer == null)
        {
            renderers = this.GetComponentsInChildren<Renderer>();
        }
    }
    void Update()
    {
        float lerp = Mathf.PingPong(Time.time, 0.6f);
        
        if (selfRenderer != null && selfRenderer.materials!= null)
        {
            //renderer.material.color = Color.Lerp(new Color(_r, _g, _b, 0.1f), new Color(_r, _g, _b, 0.6f), lerp);
            foreach (var item in selfRenderer.materials)
            {
                _r = item.color.r;
                _g = item.color.g;
                _b = item.color.b;
                item.color = Color.Lerp(new Color(_r, _g, _b, 0.1f), new Color(_r, _g, _b, 0.6f), lerp);
            }
        }
        if (renderers != null)
        {
            for (int i = 0; i < renderers.Length; i++)
            {
                if (renderers[i].materials != null)
                {
                    //renderer.material.color = Color.Lerp(new Color(_r, _g, _b, 0.1f), new Color(_r, _g, _b, 0.6f), lerp);
                    foreach (var item in renderers[i].materials)
                    {
                        _r = item.color.r;
                        _g = item.color.g;
                        _b = item.color.b;
                        item.color = Color.Lerp(new Color(_r, _g, _b, 0.1f), new Color(_r, _g, _b, 0.6f), lerp);
                    }
                }
            }
        }
      

    }
}

猜你喜欢

转载自blog.csdn.net/m_cainiaokuaifei/article/details/94477588