又被问到多重材质球的特定材质球怎么替换。之前遇到这个问题的时候,天真的以为可以用skinned.materials[0] = xxx替换,结果不能替换,但是材质球特定的贴图是可以替换。想到materials是个数组,结果用一组材质球替换就成功了。

 public Material[] mat;public Texture texture;SkinnedMeshRenderer skinned;//替换多重材质球skinned.materials = mat;
//替换多重材质球里特定贴图skinned.materials[0].mainTexture = texture;//

先看下效果图


上代码

public class ChangeMat : MonoBehaviour
{//多层材质球public Material[] mat;//贴图--眼睛public Texture eye;//题图---衣服public Texture cloth;SkinnedMeshRenderer skinned;/// <summary>/// 替换多重材质球/// </summary>void ChangeMats(){skinned.materials = mat;//之前的错误写法//skinned.materials[0] = xxx;//skinned.materials[1] = sss;//skinned.materials[2] = fff;}/// <summary>/// 替换多重材质球贴图--眼睛/// </summary>void ChangeMatsTextureEye(){skinned.materials[0].mainTexture = eye;}/// <summary>/// 替换多重材质球贴图--衣服/// </summary>void ChangeMatsTextureCloth(){skinned.materials[3].mainTexture = cloth;}private void Start(){skinned=transform.Find("/f05_bathtowel_02_l/f05/f05_bathtowel_02_l").GetComponent<SkinnedMeshRenderer>();Button changeMats = transform.Find("/Canvas/Button").GetComponent<Button>();changeMats.onClick.AddListener(() => { ChangeMats(); });Button changeEye = transform.Find("/Canvas/Button (1)").GetComponent<Button>();changeEye.onClick.AddListener(() => { ChangeMatsTextureEye(); });Button changeCloth = transform.Find("/Canvas/Button (2)").GetComponent<Button>();changeCloth.onClick.AddListener(() => { ChangeMatsTextureCloth(); });}
}

Unity 多重材质球替换、多重材质球特定贴图替换、Materials替换相关推荐

  1. unity替换模型材质

     我们用一个柜门的模型做例子,这个模型一共有8个材质,正常思路是通过获取模型的Meshenderer组件下的Materials中的材质,然后将这些材质替换成图片中cube的红色材质 using Sys ...

  2. 温敏AIE双亲多肽分子/AIE磁性荧光微球/多重刺激响应性聚合物纳米微球相关制备

    下面小编给大家介绍了温敏聚集诱导发光特性双亲多肽分子/AIE磁性荧光微球/多重刺激响应性聚合物纳米微球的相关制备与研究,一起来看! 一种聚集诱导发光磁性荧光编码微球: 所述编码微球粒径为0.3μm-2 ...

  3. unity build-in管线中的PBR材质Shader分析研究

    PBR分析 前言 我理解的PBR PBR组成部分 直接光漫反射 直接光镜面反射(高光) 间接光漫反射 间接光镜面反射 最终加和 结果 前言 近来,用到了几次Surface Shader,对于其封装好的 ...

  4. Unity给模型添加逼真效果材质

    一.给模型添加多维材质 1.使用maya导入模型. 2.打开Hypershade窗口 3.新建材质 4.选中材质,右键选择重命名,输入材质名. 5.在模型中选中面. 6.选中材质,点击[为当前选择指定 ...

  5. Unity批量给模型上同一个材质

    Unity批量给模型上同一个材质 第一步:先选择所有要上材质的模型: 第二步:将创建的材质拖到右侧属性栏:

  6. unity导入FBX模型时出现材质丢失,模型为白膜的情况

    unity导入FBX模型时出现材质丢失,模型为白膜的情况 导入模型后点击该模型 修改属性即可:

  7. Unity 动态修改URP自带材质参数

    Unity 动态修改URP自带材质参数 前言 代码 Emission 参考连接 前言 修改此处默认参数 代码 Emission 启用自发光效果的代码是 material.EnableKeyword(& ...

  8. Unity Shader 之 不锈钢(各向异性材质)

    Unity Shader 之 不锈钢(各向异性材质) 常见的实现方案 思路: 先求出半角向量halfVector 再求法线方向与光照方向的点积NdotL 半角向量与各向异性方向点积HdotA 求出各向 ...

  9. Unity开发备忘录000006:用Unity标准着色器构建金属材质效果(二)

    按照Unity开发备忘录000005:用Unity标准着色器构建金属材质效果(一)所介绍的方法,我们又做了一个如下的模型渲染. 在此基础上我们再给它加一个高度贴图,其立体感的细节会更加丰富,如下图: ...

最新文章

  1. Python每日一练0018
  2. 成功解决SQL server服务,远程过程调用失败
  3. python环境准备_python开发环境准备
  4. spring-Bean依赖注入-》普通数据类型
  5. GCC选项_-Wl,-soname
  6. 分布式事务解决方案之 Alibaba Seata1.3.0 seata-server 1.3.0
  7. 全国计算机等级考试题库二级C操作题100套(第02套)
  8. 论文笔记(SocialGCN: An Efficient Graph Convolutional Network based Model for Social Recommendation)
  9. 写完程序 看 蜡笔小新 的有木有
  10. 随想录(中断中真的不能上下文切换吗)
  11. plsql dev中Dynamic Performance Tables not accessible分析解决(转载)
  12. Redis学习(1)NoSQL非关系型数据库、Redis概述、Linux安装Redis
  13. html日期选择限制,element-ui 日期选择器范围时间限制
  14. 远程控制客户端使用教程-multiDesk
  15. java 存根_存根键值存储
  16. 斐波那契数列(经典兔子繁殖问题)
  17. Android平台第三方插件开发指导(dcloud)
  18. bootstrap手风琴_快速提示:如何自定义Bootstrap 4的手风琴组件
  19. 石墨烯具有非常良好的光学特性,可能拥有一个非线性相移的光学非线性克尔效应-供应石墨烯/生态炭复合材料 聚苯乙烯/氧化石墨烯(PS/GO)复合微球 石墨烯-四氧化三铁(Fe_3O_4)微球复合材料
  20. IEEE Transactions on Image Processing文献跟踪11月

热门文章

  1. linux 系统删除 3天以前的 指定的进程
  2. 线段覆盖长度(c++)
  3. Word2vec看我这一篇就足够应付面试了
  4. 基于加速科技ST2500的TPS73625芯片测试(1)
  5. Android原生编解码接口 MediaCodec 之——完全解析
  6. Linux下NFS服务器的配置
  7. wwwww.wwwwww.wwwww
  8. Figma#4:图片填充
  9. java定义接口必用关键字_Java中定义接口的关键字是什么
  10. 基于信息增益的ID3决策树介绍。