using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
using UnityEditor.Sprites;
public class ChangeMaterial : Editor
{/// <summary>/// 批量替换预设体材质球 操作步骤 1、 选着材质球 2、按Ctrl 选着预设体文件夹或者预设体  3、右键ChangeMaterial/// </summary>[MenuItem("Assets/ChangeMaterial")]public static void change(){Object[] m_objects = Selection.GetFiltered(typeof(Material), SelectionMode.DeepAssets);//选择的材质球Object[] obj = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);//选择的预设体文件夹或者预设体foreach (var go in obj){GameObject game = go as GameObject;if (game != null){FindMater(game, m_objects[0] as Material);}}}public static void FindMater(GameObject go, Material m){SpriteRenderer[] renderers = go.GetComponentsInChildren<SpriteRenderer>(true);GameDebugger.instance.GameDebugLog("根物体:", go.name);for (int i = 0; i < renderers.Length; i++){SpriteRenderer item = renderers[i];if (item.sharedMaterial != null){if (item.sharedMaterial.name == "Sprites-Default"){EditorUtility.DisplayCancelableProgressBar("替换材质:", go.name, i / renderers.Length * 1.0f);//进度条GameDebugger.instance.GameDebugLog("子物体:", item.name,"材质球: ",item.sharedMaterial.name,"替换材质球:",m.name);item.sharedMaterial = m;}}EditorUtility.SetDirty(item);AssetDatabase.SaveAssets();}EditorUtility.ClearProgressBar();//关闭进度条}
}

Unity批量预设体替换材质球相关推荐

  1. 怎么批量删除对象的材质球?

    <C4D百科全书>>><C4D的十万个为什么> 有简单的初级知识,也有深度经验分享. 问题: 怎么批量删除对象的材质球? 答案: 给要删除材质球的对象统一打组,随便 ...

  2. Unity实现动态修改模型材质球

    一.定义需要替换的材质球(且加载该材质球) private Material _HighLightMat; //实现闪烁高亮效果材质球 _HighLightMat = Resources.Load(& ...

  3. Unity Prefabs 预设体

    prefabs 预设体是一个游戏物体及其组件的集合. Unity prefab系统将游戏物体所有的组件,属性值和子物体作为一个可重复使用的资源,并且允许你新建,配置,存储这样一个游戏物体.预制资产充当 ...

  4. Unity使用脚本更换物体材质球

    ㅤㅤㅤ 思路:获取物品Mesh Render下的Materials,进行一层或者多层的替换 代码(按A,B切换材质球): using UnityEngine;public class SwitchMa ...

  5. 【Unity】获取模型的材质球贴图中的像素点色值

    获取模型的材质球贴图中的像素点色值,可以计算模型贴图的RGB.或某个色值的占比,也可以动态修改指定像素色值. 方式一: 获取可读的贴图,并遍历像素点:(通过Texture获取Texture2D操作的运 ...

  6. Unity中的网格与材质球合并

    很多时候我们需要把具有相同shader的材质球合并,从而减少drawcall的产生. 比如九龙战里面,一个人物带有10个部位,10个部位各自来自不同的fbx文件,加上身体,就有11个材质球,占上11个 ...

  7. Unity中用代码动态改变材质球贴图

    首先先把贴图放在Resources文件夹下,或者新建一个文件夹,便于管理. 并命好名,方便遍历. 创建脚本,挂在要动态改变的物体上. using System.Collections; using S ...

  8. Unity中通过按键更换材质球纹理图片

    在Assets文件夹下新建一个Resources文件夹,将所需要加载的图片放到该文件夹下 其中num=4因为当前文件夹下只放了4张图片 using UnityEngine; using System. ...

  9. Unity 自动创建材质球工具

    一个新的模型导入Unity,所有的材质都是绑定的不能修改,想调材质就只能一个个的去创建再拖贴图,想搞个工具一键创建材质并且上好贴图.百度了一下,这玩意靠谱的也是没几个,自己写一个吧. 这个稍微靠谱点, ...

最新文章

  1. 如何配置一台计算机预计3500元,玩游戏用的电脑主机应该怎么配置?3500元组装游戏电脑主机配置推荐...
  2. 分布式系统数据一致性解决方案
  3. 前端那些事之原生js实现jquery常用方法
  4. *args and **kwargs in Python 变长参数
  5. Python学习笔记:常用内建模块7XML
  6. 高可用延迟队列设计与实现
  7. NoSQL和SQL怎么选用?
  8. [NOIP2008 提高组] 笨小猴-map容器用来标记
  9. 为什么物联网大数据平台,使用TDengine,可不要redis, kafka, spark等软件?
  10. myeclipse jsp和java字体设置
  11. Android 系统默认参数的修改
  12. 实部和虚部高斯变量瑞利衰落matlab,瑞利衰落信道的matlab仿真.doc
  13. USB之基本协议和数据波形1
  14. maven安装oracle驱动,maven 安装 Oracle 驱动 ojdbc14.jar
  15. NVivo for Mac中的编码难理解?这6个视频帮助你!
  16. 将excel或是csv文件中的矩阵相乘,输出点乘后的excel文件
  17. 幼儿园故事导入语案例_幼儿园讲故事的教案10篇
  18. 使用IDA对ipa进行反编译
  19. IT互联网行业猎头的年终总结:结束后开始
  20. 2023寒假模拟赛1题解

热门文章

  1. 学堂在线_大数据机器学习_小笔记
  2. 小老板ERP开源版 - 首个跨境开源ERP
  3. Java对文本内容进行排序
  4. mybatis之注解开发与逆向工程
  5. cnbloger: 北岛知寒, C++ - 虚基类、虚函数与纯虚函数; csdner: Hsuxu, C++虚基类的实现机制
  6. 【我的Android进阶之旅】解决Android Studio 编译NDK项目出错:clang++: error: no such file or directory
  7. MySQL常见的四种隔离级别!
  8. 锁仓操作对现货黄金有哪些作用,需要注意的事项有哪些?
  9. 乐视(letv)网tkey破解
  10. 毕业设计-基于协同过滤算法的高校图书书目推荐系统