改变Cube的Shader下的Alpha值,实现Cube若隐若现的效果。

Posted 不积跬步,无以至千里;不积小流,无以成江海。任何业绩的质变都

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了改变Cube的Shader下的Alpha值,实现Cube若隐若现的效果。相关的知识,希望对你有一定的参考价值。

 

private float rotaSpeed = 5f;

private float timer = 1;

private bool flag = true;

private float delay = 4.0f;

void Update ()
{
  if (timer <= 0)
  {
    flag = false;
  }
  if (flag == false)
  {
    timer += Time.deltaTime / delay;
  }
  if (timer >= 1)
  {
    flag = true;
  }
  if (flag == true)
  {
    timer -= Time.deltaTime / delay;

  }

  var render = Cube.GetComponent<Renderer>();

  if (render != null)
  {
    var r = render.material.color.r;
    var g = render.material.color.g;
    var b = render.material.color.b;
    render.material.color = new Color(r, g, b, timer);
  }

  //cube自转

  Cube.transform.Rotate(new Vector3(0, -1, 0), Time.deltaTime * rotaSpeed);
}

以上是关于改变Cube的Shader下的Alpha值,实现Cube若隐若现的效果。的主要内容,如果未能解决你的问题,请参考以下文章

ShaderLab学习小结在标准表面shader中加入顶点着色器函数

unity3d 如何代码修改某个shader的颜色

Unity Shader---Alpha Blending的意义

ShaderLab学习小结(十三)物体被遮挡部分也能显示颜色

OpenGL下多个sampler在shader中的使用

ShaderLab学习小结(十八)cubemap