牛骨文教育服务平台(让学习变的简单)
博文笔记

Unity Material数组

创建时间:2016-12-06 投稿人: 浏览次数:727

material 在编辑模式下赋值,需要用整体的material【】赋值。

[MenuItem("MyEdidor/SetMeshRenderer")]
       staticvoid CastShadows()
       {
              Object[]selection = Selection.GetFiltered(typeof(Component), SelectionMode.DeepAssets);
              Component[]P;
              Materialmat = new Material(Shader.Find("Diffuse"));
 
              foreach(Components in selection)
              {
                     P= s.GetComponentsInChildren(typeof(MeshRenderer), true);
 
                     foreach(MeshRendererp in P)
                     {
                            Material[]mats = p.sharedMaterials;
                            for(inti = 0; i< p.sharedMaterials.Length ; i++)
                            {
                                   if(p.sharedMaterials[i].name.Contains("BaiQiang"))
                                   {
                                          mat= p.sharedMaterials[i];
                                   }
                            }
 
                            for(inti = 0; i< p.sharedMaterials.Length ; i++)
                            {
                                   if(p.sharedMaterials[i].name.Contains("DiBan"))
                                   {
                                          mats[i]= mat;
                                   }
 
                            }
 
                            p.sharedMaterials= mats;
                     }
              }            
       }

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。