蹭一波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的批量修改和单独处理相关推荐

  1. unity 编辑器窗口 批量修改文件名字

    unity 编辑器批量修改.替换 文件名: 记录一下,窗口效果如下,需要选中文件,可多选 在排序的基础上增加了双排序和替换功能 代码: public class RenameFile : Editor ...

  2. 【Unity】多方式批量修改Tag值

    本工具类主要功能: 1. 批量添加.减少Tag值: 2. 批量选择GameObject,修改Tag值 (鼠标选中场景物体或Project面板的Prefab,然后打开该窗口) 3. 查找标记任一Tag值 ...

  3. unity 材质球无法编辑_【每天一个Unity技巧】批量修改材质球的主贴图和添加法线贴图...

    注释以后有空再写吧,加班到现在还没吃饭呢 using System.Collections; using System.Collections.Generic; using UnityEngine; ...

  4. Unity如何批量修改材质的属性

    Unity导入fbx资源文件的时候,需要修改材质的某个属性,其实修改某个属性为同一个值还是比较简单的,只需要全选所有的材质,然后在Inspector里面进行修改就行了,就会批量修改所有的材质属性. 如 ...

  5. 新发的日常小实验——使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍数(Unity、PIL、Pillow、压缩)

    文章目录 一.问题:图片导入Unity被调整成2的N次方 二.设置不转换成2的N次方 三.使用ETC压缩格式,图片宽高必须是4的倍数 四.使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍 ...

  6. Unity修改批量修改名字工具

    Unity修改批量修改名字工具 using System.Collections; using System.Collections.Generic; using UnityEngine; using ...

  7. Unity Prefab批量修改

    下面实现的一个功能是对一个文件夹下的所有prefab批量修改,比如移除某个子物体,添加一个组件等,然后保存到另一个新的文件夹下: 如下,我们实现一个扩展窗口,用于选择源文件夹和目标文件夹:然后遍历所有 ...

  8. 【MAXScript】3DMax批量修改贴图名及模型名

    这应该是我的Coder路上的一段小插曲~~~ 一堆废话 想不到自己还会接触3DMAX的脚本语言--MAXScript.首先申明一下,本人不是建模组的,对建模什么的不甚了解.倒是想学来着,会点建模如果自 ...

  9. iOS使用shell脚本批量修改属性

    背景 公司需要做一系列的壳版本,壳版本如果内容雷同提交到App Store会有被拒绝的风险,除了我在上一篇文章中说道的在壳版本中注入混淆的代码,防止被苹果检测到内容太过雷同而导致审核被拒绝.还有另一种 ...

最新文章

  1. String.hashCode 哈希值出现重复?
  2. Net作业调度(一) -Quartz.Net入门
  3. Swift数据类型简介(二)
  4. 动态Java代码注入
  5. android 万能倒计时,时分秒倒计时
  6. java uipath_10.3 UiPath如何调用Java
  7. Fiddler (二) : Script 的 用法
  8. 2亿用户背后的Flutter应用框架Fish Redux
  9. MATLAB学习笔记(七)
  10. falsk 项目中日志设置
  11. [deviceone开发]-QQ分享、微信分享和新浪微博分享
  12. 一行 Python 代码能实现有趣功能
  13. js逆向——百度翻译
  14. Android 音视频深入 六 使用FFmpeg播放视频(附源码下载)
  15. idea debug教程启用Debug模式可以分析定位异常发生的位置
  16. 生僻字存不到mysql_数据库存储生僻字存在的问题
  17. 关于pegeoffice插件 文件模板使用分页符 用word打开独占一页问题解决方式
  18. 2022年武汉中级工程师职称申报条件、申报材料要求和申报流程是什么?
  19. 远程批量自动安装中标麒麟操作系统的方法
  20. 转:MSN君最后的十个瞬间

热门文章

  1. uniapp 微信小程序 获取图形验证码解决方案
  2. 使用迅雷代替SDK Manager加速下载Android SDK
  3. Android读写ini配置文件
  4. python 标签云_Python word_cloud 样例 标签云系列(三)
  5. java解应用题思路是什么_小学数学应用题解题策略归纳
  6. 云桌面教学可以给学校老师和学生带来那些改变
  7. (转)大型网站的负载均衡器、db proxy和db
  8. WPS为什么设置段前一行没反应
  9. Mac文件管理工具:Path Finder
  10. sublime text 使用简单说明