Unity用代码批量修复材质球shader丢失的问题
假设现在有一大批模型的材质球的shader丢失了,我们想把这批模型的材质球都使用Mobile/Unlit (Supports Lightmap)
这个shader,挨个挨个点太麻烦了,可以用代码来批量执行这件事
代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;public class FixMatShader
{[MenuItem("Tools/Aux/修复材质球shader丢失")]static void StartRun(){var objs = Selection.objects;foreach (var obj in objs){var go = obj as GameObject;var rs = go.GetComponentsInChildren<Renderer>();foreach (var r in rs){if (null != r.sharedMaterial)r.sharedMaterial.shader = Shader.Find("Mobile/Unlit (Supports Lightmap)");}}}
}
选择那批模型的预设,然后执行菜单【Tools/Aux/修复材质球shader丢失】即可
补充
我们是通过Shader.Find来找到Unity的内置shader的,那么shader的名字在哪里查看呢
在材质球空白处右键-Edit Shader…
然后点击Compile and show code
这样就可以看到shader的代码了,头部那里就可以看到shader的名字了
Unity用代码批量修复材质球shader丢失的问题相关推荐
- unity Editor下批量设置材质球中的贴图部分:
批量设置材质球中Main Maps部分贴图包含 Albedo,Metallic,Nomap,Occlusion 脚本存放位置:放在在Editor目录之下 点击 window 之下的AddMateria ...
- Unity中用代码动态改变材质球贴图
首先先把贴图放在Resources文件夹下,或者新建一个文件夹,便于管理. 并命好名,方便遍历. 创建脚本,挂在要动态改变的物体上. using System.Collections; using S ...
- unity 材质球无法编辑_【每天一个Unity技巧】批量修改材质球的主贴图和添加法线贴图...
注释以后有空再写吧,加班到现在还没吃饭呢 using System.Collections; using System.Collections.Generic; using UnityEngine; ...
- Unity3D代码动态修改材质球的颜色
代码动态修改材质球的颜色: gameObject.GetComponent<Renderer>().material.color=Color.red;//当材质球的Shader为标准时,可 ...
- Unity中的网格与材质球合并
很多时候我们需要把具有相同shader的材质球合并,从而减少drawcall的产生. 比如九龙战里面,一个人物带有10个部位,10个部位各自来自不同的fbx文件,加上身体,就有11个材质球,占上11个 ...
- Unity使用脚本更换物体材质球
ㅤㅤㅤ 思路:获取物品Mesh Render下的Materials,进行一层或者多层的替换 代码(按A,B切换材质球): using UnityEngine;public class SwitchMa ...
- Unity实现动态修改模型材质球
一.定义需要替换的材质球(且加载该材质球) private Material _HighLightMat; //实现闪烁高亮效果材质球 _HighLightMat = Resources.Load(& ...
- 【Unity】获取模型的材质球贴图中的像素点色值
获取模型的材质球贴图中的像素点色值,可以计算模型贴图的RGB.或某个色值的占比,也可以动态修改指定像素色值. 方式一: 获取可读的贴图,并遍历像素点:(通过Texture获取Texture2D操作的运 ...
- 关于unity中使用solidwork模型材质及动画丢失问题
由于我们的模型一般是从网络上下载好的solidwork工业模型,或者是应用solidwork自己制作的模型, 希望将我们的模型导入到unity中,但是发现导入到unity中后模型的材质以及动画数据丢失 ...
最新文章
- 模式识别中Fisher分类器的Matlab实现及测试
- 前端基础之JavaScript_2
- java学习(125):简单异常处理
- Linux编程练习 --多线程4--条件变量
- Java创建一个学生类
- 【ES8(2017)】Object 扩展 values() / entries() / getOwnPropertyDescriptors()
- Map集合的遍历方法
- 源码0501-07-GCD的基本使用
- python异常值处理实例_python-异常值:(“ 08001”,“ [08001] [unixODBC]...
- Python3:递归实现输出目录下所有的文件
- HTML inline 与block元素
- 利用VBB仿真——实现摇杆时钟
- NB-IOT-BC26模块TCP AT指令调试记录
- vscode自动排版_微信公众号排版 | 最适合程序员的公众号排版
- Eclipse安装漂亮的Darkest Dark Theme主题步骤(超详细)
- 集成稳压电源的分类及特性
- 强化学习论文分析3---蜂窝网络联合频谱和功率分配的深度强化学习--《Deep Reinforcement Learning for ......》
- gis坐标|度分秒与十进制转换公式
- Android Framework启动流程
- 考研数据结构之数组(5.1)——练习题之移动数组所有非零元素到数组前端(C表示)
热门文章
- 阅读软件怎么添加书源_继阅读软件后又一款阅读神器,安卓专用,上千书源,无广告,无vip...
- pyton笔记-part1
- 对图片进行裁减预处理
- java visibility_CSS visibility属性
- 什么软件测试鞋子真假,教你5招辨别真假Yeezy Boost鞋,真真假假你图啥?
- DFS【古希腊之争(一)】
- 为什么不建议在MySQL中使用 utf8?
- 基恩士编程c语言,基恩士xg7000系列.pdf
- Chaos Emulator核心功能开发历程
- 中国移动互联网测试开发大会(简称MTSC大会)