unity Material的批量修改和单独处理
蹭一波1024的热度,祝大家节日快乐。
Material
unity为我们提供了Material这一模块,使得我们对游戏对象的各种渲染操作更加便捷。
一个完整的Material由shader和Texture组成。
shader:整个Material的面板其实都是由对应的shader决定的,这个可视化的部分由unity shader提供。
Texture:在unity中贴图不是必须的,即使没有贴图也不妨碍unity的渲染工作。但是更加复杂的渲染效果还是需要各式贴图配 合的。
批量处理
在unity的规则中,凡是使用同一个材质球(Material)的游戏物体,只要材质球被修改,不论是静态还是动态的,所有游戏物体都会被改变。
之前博客有提到过:
void Update(){if (transform.GetComponent<MeshRenderer>().materials[1].color.r > 0){transform.GetComponent<MeshRenderer>().materials[1].color -= new Color(1, 0, 0)*Time.deltaTime*0.5f;}if (transform.GetComponent<MeshRenderer>().materials[1].color.g > 213){transform.GetComponent<MeshRenderer>().materials[1].color -= new Color(0,1,0) * Time.deltaTime*0.5f;}}
单独修改
我们可能会遇见批量生成相同的游戏对象,但是却需要单独修改其中某一个对象的Material,这时就不能用上面的MeshRenderer了,因为MeshRenderer里面存储的Materials指向的是sharedMarerial,即项目工程中材质球的原始属性设置。
GetComponent<Renderer>().material.color = color;
当使用Renderer.material的时候,每次调用都会生成一个新的material到内存中去,这样修改后就不会影响到其他物体了。
unity Material的批量修改和单独处理相关推荐
- unity 编辑器窗口 批量修改文件名字
unity 编辑器批量修改.替换 文件名: 记录一下,窗口效果如下,需要选中文件,可多选 在排序的基础上增加了双排序和替换功能 代码: public class RenameFile : Editor ...
- 【Unity】多方式批量修改Tag值
本工具类主要功能: 1. 批量添加.减少Tag值: 2. 批量选择GameObject,修改Tag值 (鼠标选中场景物体或Project面板的Prefab,然后打开该窗口) 3. 查找标记任一Tag值 ...
- unity 材质球无法编辑_【每天一个Unity技巧】批量修改材质球的主贴图和添加法线贴图...
注释以后有空再写吧,加班到现在还没吃饭呢 using System.Collections; using System.Collections.Generic; using UnityEngine; ...
- Unity如何批量修改材质的属性
Unity导入fbx资源文件的时候,需要修改材质的某个属性,其实修改某个属性为同一个值还是比较简单的,只需要全选所有的材质,然后在Inspector里面进行修改就行了,就会批量修改所有的材质属性. 如 ...
- 新发的日常小实验——使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍数(Unity、PIL、Pillow、压缩)
文章目录 一.问题:图片导入Unity被调整成2的N次方 二.设置不转换成2的N次方 三.使用ETC压缩格式,图片宽高必须是4的倍数 四.使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍 ...
- Unity修改批量修改名字工具
Unity修改批量修改名字工具 using System.Collections; using System.Collections.Generic; using UnityEngine; using ...
- Unity Prefab批量修改
下面实现的一个功能是对一个文件夹下的所有prefab批量修改,比如移除某个子物体,添加一个组件等,然后保存到另一个新的文件夹下: 如下,我们实现一个扩展窗口,用于选择源文件夹和目标文件夹:然后遍历所有 ...
- 【MAXScript】3DMax批量修改贴图名及模型名
这应该是我的Coder路上的一段小插曲~~~ 一堆废话 想不到自己还会接触3DMAX的脚本语言--MAXScript.首先申明一下,本人不是建模组的,对建模什么的不甚了解.倒是想学来着,会点建模如果自 ...
- iOS使用shell脚本批量修改属性
背景 公司需要做一系列的壳版本,壳版本如果内容雷同提交到App Store会有被拒绝的风险,除了我在上一篇文章中说道的在壳版本中注入混淆的代码,防止被苹果检测到内容太过雷同而导致审核被拒绝.还有另一种 ...
最新文章
- String.hashCode 哈希值出现重复?
- Net作业调度(一) -Quartz.Net入门
- Swift数据类型简介(二)
- 动态Java代码注入
- android 万能倒计时,时分秒倒计时
- java uipath_10.3 UiPath如何调用Java
- Fiddler (二) : Script 的 用法
- 2亿用户背后的Flutter应用框架Fish Redux
- MATLAB学习笔记(七)
- falsk 项目中日志设置
- [deviceone开发]-QQ分享、微信分享和新浪微博分享
- 一行 Python 代码能实现有趣功能
- js逆向——百度翻译
- Android 音视频深入 六 使用FFmpeg播放视频(附源码下载)
- idea debug教程启用Debug模式可以分析定位异常发生的位置
- 生僻字存不到mysql_数据库存储生僻字存在的问题
- 关于pegeoffice插件 文件模板使用分页符 用word打开独占一页问题解决方式
- 2022年武汉中级工程师职称申报条件、申报材料要求和申报流程是什么?
- 远程批量自动安装中标麒麟操作系统的方法
- 转:MSN君最后的十个瞬间