Unity批量预设体替换材质球
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批量预设体替换材质球相关推荐
- 怎么批量删除对象的材质球?
<C4D百科全书>>><C4D的十万个为什么> 有简单的初级知识,也有深度经验分享. 问题: 怎么批量删除对象的材质球? 答案: 给要删除材质球的对象统一打组,随便 ...
- Unity实现动态修改模型材质球
一.定义需要替换的材质球(且加载该材质球) private Material _HighLightMat; //实现闪烁高亮效果材质球 _HighLightMat = Resources.Load(& ...
- Unity Prefabs 预设体
prefabs 预设体是一个游戏物体及其组件的集合. Unity prefab系统将游戏物体所有的组件,属性值和子物体作为一个可重复使用的资源,并且允许你新建,配置,存储这样一个游戏物体.预制资产充当 ...
- Unity使用脚本更换物体材质球
ㅤㅤㅤ 思路:获取物品Mesh Render下的Materials,进行一层或者多层的替换 代码(按A,B切换材质球): using UnityEngine;public class SwitchMa ...
- 【Unity】获取模型的材质球贴图中的像素点色值
获取模型的材质球贴图中的像素点色值,可以计算模型贴图的RGB.或某个色值的占比,也可以动态修改指定像素色值. 方式一: 获取可读的贴图,并遍历像素点:(通过Texture获取Texture2D操作的运 ...
- Unity中的网格与材质球合并
很多时候我们需要把具有相同shader的材质球合并,从而减少drawcall的产生. 比如九龙战里面,一个人物带有10个部位,10个部位各自来自不同的fbx文件,加上身体,就有11个材质球,占上11个 ...
- Unity中用代码动态改变材质球贴图
首先先把贴图放在Resources文件夹下,或者新建一个文件夹,便于管理. 并命好名,方便遍历. 创建脚本,挂在要动态改变的物体上. using System.Collections; using S ...
- Unity中通过按键更换材质球纹理图片
在Assets文件夹下新建一个Resources文件夹,将所需要加载的图片放到该文件夹下 其中num=4因为当前文件夹下只放了4张图片 using UnityEngine; using System. ...
- Unity 自动创建材质球工具
一个新的模型导入Unity,所有的材质都是绑定的不能修改,想调材质就只能一个个的去创建再拖贴图,想搞个工具一键创建材质并且上好贴图.百度了一下,这玩意靠谱的也是没几个,自己写一个吧. 这个稍微靠谱点, ...
最新文章
- 如何配置一台计算机预计3500元,玩游戏用的电脑主机应该怎么配置?3500元组装游戏电脑主机配置推荐...
- 分布式系统数据一致性解决方案
- 前端那些事之原生js实现jquery常用方法
- *args and **kwargs in Python 变长参数
- Python学习笔记:常用内建模块7XML
- 高可用延迟队列设计与实现
- NoSQL和SQL怎么选用?
- [NOIP2008 提高组] 笨小猴-map容器用来标记
- 为什么物联网大数据平台,使用TDengine,可不要redis, kafka, spark等软件?
- myeclipse jsp和java字体设置
- Android 系统默认参数的修改
- 实部和虚部高斯变量瑞利衰落matlab,瑞利衰落信道的matlab仿真.doc
- USB之基本协议和数据波形1
- maven安装oracle驱动,maven 安装 Oracle 驱动 ojdbc14.jar
- NVivo for Mac中的编码难理解?这6个视频帮助你!
- 将excel或是csv文件中的矩阵相乘,输出点乘后的excel文件
- 幼儿园故事导入语案例_幼儿园讲故事的教案10篇
- 使用IDA对ipa进行反编译
- IT互联网行业猎头的年终总结:结束后开始
- 2023寒假模拟赛1题解
热门文章
- 学堂在线_大数据机器学习_小笔记
- 小老板ERP开源版 - 首个跨境开源ERP
- Java对文本内容进行排序
- mybatis之注解开发与逆向工程
- cnbloger: 北岛知寒, C++ - 虚基类、虚函数与纯虚函数; csdner: Hsuxu, C++虚基类的实现机制
- 【我的Android进阶之旅】解决Android Studio 编译NDK项目出错:clang++: error: no such file or directory
- MySQL常见的四种隔离级别!
- 锁仓操作对现货黄金有哪些作用,需要注意的事项有哪些?
- 乐视(letv)网tkey破解
- 毕业设计-基于协同过滤算法的高校图书书目推荐系统