改变所有子物体中renderer(渲染器)中的material(材质)

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

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了改变所有子物体中renderer(渲染器)中的material(材质)相关的知识,希望对你有一定的参考价值。

//得到所有可渲染的子物体
Renderer[] rds = transform.GetComponentsInChildren<Renderer>();
//逐一遍历他的子物体中的Renderer
foreach (Renderer render in rds)
{
//逐一遍历子物体的子材质(renderer中的material
    foreach (Material material in render.materials)
{

      var r = material.color.r;
      var g = material.color.g;
      var b = material.color.b;
      material.color = new Color(r, g, b, _Alpha);

    }
}
附加的判断
var render = transform.GetComponent<Renderer>();

if (render != null)
{
  foreach (Material material in render.materials)
  {
    var r = material.color.r;
    var g = material.color.g;
    var b = material.color.b;
    material.color = new Color(r, g, b, _Alpha);
  }
}


 

 
 

以上是关于改变所有子物体中renderer(渲染器)中的material(材质)的主要内容,如果未能解决你的问题,请参考以下文章

sharedMaterial和material的区别

three.js 第二篇:场景 相机 渲染器 物体之间的关系

Unity渲染路径 Rendering Paths_2_Forward Rendering 正向渲染

关于render渲染优化

Unity3D中改变模型的颜色问题

「React Native」子组件Render中props为空报错问题