首先先把贴图放在Resources文件夹下,或者新建一个文件夹,便于管理。

并命好名,方便遍历。

创建脚本,挂在要动态改变的物体上。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;/** *  Writer:June* *  Date: 2019.9.11* *  Function:随时间动态改变高光贴图* *  Remarks:* */public class ChangeLightingTexture : MonoBehaviour
{/// <summary>/// 计时器/// </summary>private float           timer;/// <summary>/// 渲染网格/// </summary>private MeshRenderer    meshRenderer;/// <summary>/// 贴图数组/// </summary>private Texture[]       texture;/// <summary>/// Resource文件夹下的子文件夹名/// </summary>private string          materialTexture     = "MaterialTexture";/// <summary>/// 贴图数量/// </summary>private int             textureCount        = 3;/// <summary>/// 一开始循环的索引/// </summary>private int             index               = 0;/// <summary>/// 切换时间/// </summary>private float           changeTime          = 0.5f;private void Start(){timer = 0;meshRenderer = GetComponent<MeshRenderer>();//定义获取贴图的数量texture = new Texture[textureCount];//动态加载贴图for (int i = 0; i < texture.Length; i++){texture[i] = Resources.Load(materialTexture + "/Texture" + (i + 1)) as Texture;}}private void Update(){timer += Time.deltaTime;if (timer >= changeTime) {timer = 0;//将贴图赋给材质球的properties属性meshRenderer.material.SetTexture("_Emission", texture[index]);//循环索引index = (index + 1) % texture.Length;}}
}

shader中的属性:

效果:(别在意灯的变换样式,看灯的颜色变化)

另外记一下循环索引的常用方式

    /// <summary>/// 循环数组索引方式/// </summary>/// <param name="index">索引</param>/// <param name="arr">数组</param>void LoopIndex(ref int index,int[] arr){//****************    1    ******************//index = index < arr.Length - 1 ? ++index : 0;  //注意区别index++和++index//****************    2    ******************//index = (index + 1) % arr.Length;//****************    3    ******************if (index >= arr.Length - 1) index = 0;else index++;}

勤做笔记,是个好习惯!

Unity中用代码动态改变材质球贴图相关推荐

  1. Unity3D代码动态修改材质球的颜色

    代码动态修改材质球的颜色: gameObject.GetComponent<Renderer>().material.color=Color.red;//当材质球的Shader为标准时,可 ...

  2. [unity3d][通过代码]改变材质球颜色,动态改变材质球颜色,动态改变模型颜色

    unity通过代码改变材质球颜色 gitee地址:https://gitee.com/asiworld csdn博客地址:https://blog.csdn.net/JianShengShuaiest ...

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

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

  4. Unity用代码批量修复材质球shader丢失的问题

    假设现在有一大批模型的材质球的shader丢失了,我们想把这批模型的材质球都使用Mobile/Unlit (Supports Lightmap)这个shader,挨个挨个点太麻烦了,可以用代码来批量执 ...

  5. Unity动态创建材质球

    目录 一.获取贴图 1:从Assets文件中获取 2:从本地文件中获取 二.创建材质球 三.替换材质 总结 前言 我们在做一些AR类似与涂涂乐的功能时,经常会用到给模型替换材质球的功能.当我们的用户创 ...

  6. Unity动态修改材质球

    脚本里直接两个材质球赋值代码,当不同情况触发时调用相应的函数: public class CM_missingScreen : MonoBehaviour {          public void ...

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

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

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

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

  9. 代码动态改变 NGUI UILabel 的字体

    有一次因为 ttf 分成简体和繁体两个..所以就需要动态改变NGUI 中 UILabel 的字体,但是不知道 UILabel 保存字体的字段是哪个 网上搜到..在这里记录一下 1 using Unit ...

最新文章

  1. 从3D人脸到自动驾驶,CVPR2020十个顶级开源数据集
  2. Logback中文文档(四):Appender
  3. 被吴恩达的Landing.ai刷屏后,我们从他的8条Twitter和9大招聘岗位中看到了三个有趣细节
  4. 数据结构之链表、栈和队列 java代码实现
  5. ngx_lua应用最佳实践
  6. const int *a和int*const a 的区别详解
  7. Tensorflow中图像的预处理
  8. android 圆形图片按钮,Android自定义View圆形图片控件代码详解
  9. 流畅的Python笔记
  10. 时间序列分析-AR模型
  11. getmonth_日期getMonth()方法以及JavaScript中的示例
  12. 百度图片保存显示服务器错误,百度UEditor编辑器本地上传正常在服务器中上传图片失败的解决办法...
  13. 旋翼无人机及摄影测量基础
  14. 传感器发展历史,你知道吗?(图文并茂)
  15. ios 常用的第三方库
  16. 【校园卡】更新联通校园卡套餐海报及常规操作,校园卡最新消息及选购建议,增加评论功能...
  17. 云摆摊 | 手把手教你制作ESP8266物联网创意点阵时钟,女朋友看了都想要!
  18. Word中录制宏,学会后成大神
  19. 手机**##,试试看
  20. cas66-71-7|1,10-菲啰啉有机配体/ 1,10-Phen/邻菲啰啉/邻二氮杂菲

热门文章

  1. 面向对象的程序设计的好处
  2. Spring-控制反转与依赖注入
  3. 改善足底筋膜炎的伸展运动
  4. B站上的高能学习资源来了,c/c++、Java、python、机器学习、大前端......
  5. 怎么有趣的介绍计算机,有趣的电脑自我描述
  6. 在Word2016及以上版本中,如何统一查看文章全部的脚注内容?个别脚注被增删,脚注顺序错乱怎么办?从一个Word复制到另一个Word中后,原文中脚注序号的格式变大了如何改回正常?
  7. 霍尔Foc算法解析,代码 中颖单片机,3213 提供代码、电路图和pcb 算法对开关霍尔的处理颇有独到之处,是做hallfoc的良好参考
  8. java生日提醒_生日提醒功能-SQL查询语句在Java中肿么运用?
  9. 程序员迷茫:30岁以上的“大龄程码农”出路在哪?java码农该怎么办?
  10. python colorama_Python colorama 模块 使用 说明