Unity 多重材质球替换、多重材质球特定贴图替换、Materials替换
又被问到多重材质球的特定材质球怎么替换。之前遇到这个问题的时候,天真的以为可以用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替换相关推荐
- unity替换模型材质
我们用一个柜门的模型做例子,这个模型一共有8个材质,正常思路是通过获取模型的Meshenderer组件下的Materials中的材质,然后将这些材质替换成图片中cube的红色材质 using Sys ...
- 温敏AIE双亲多肽分子/AIE磁性荧光微球/多重刺激响应性聚合物纳米微球相关制备
下面小编给大家介绍了温敏聚集诱导发光特性双亲多肽分子/AIE磁性荧光微球/多重刺激响应性聚合物纳米微球的相关制备与研究,一起来看! 一种聚集诱导发光磁性荧光编码微球: 所述编码微球粒径为0.3μm-2 ...
- unity build-in管线中的PBR材质Shader分析研究
PBR分析 前言 我理解的PBR PBR组成部分 直接光漫反射 直接光镜面反射(高光) 间接光漫反射 间接光镜面反射 最终加和 结果 前言 近来,用到了几次Surface Shader,对于其封装好的 ...
- Unity给模型添加逼真效果材质
一.给模型添加多维材质 1.使用maya导入模型. 2.打开Hypershade窗口 3.新建材质 4.选中材质,右键选择重命名,输入材质名. 5.在模型中选中面. 6.选中材质,点击[为当前选择指定 ...
- Unity批量给模型上同一个材质
Unity批量给模型上同一个材质 第一步:先选择所有要上材质的模型: 第二步:将创建的材质拖到右侧属性栏:
- unity导入FBX模型时出现材质丢失,模型为白膜的情况
unity导入FBX模型时出现材质丢失,模型为白膜的情况 导入模型后点击该模型 修改属性即可:
- Unity 动态修改URP自带材质参数
Unity 动态修改URP自带材质参数 前言 代码 Emission 参考连接 前言 修改此处默认参数 代码 Emission 启用自发光效果的代码是 material.EnableKeyword(& ...
- Unity Shader 之 不锈钢(各向异性材质)
Unity Shader 之 不锈钢(各向异性材质) 常见的实现方案 思路: 先求出半角向量halfVector 再求法线方向与光照方向的点积NdotL 半角向量与各向异性方向点积HdotA 求出各向 ...
- Unity开发备忘录000006:用Unity标准着色器构建金属材质效果(二)
按照Unity开发备忘录000005:用Unity标准着色器构建金属材质效果(一)所介绍的方法,我们又做了一个如下的模型渲染. 在此基础上我们再给它加一个高度贴图,其立体感的细节会更加丰富,如下图: ...
最新文章
- Python每日一练0018
- 成功解决SQL server服务,远程过程调用失败
- python环境准备_python开发环境准备
- spring-Bean依赖注入-》普通数据类型
- GCC选项_-Wl,-soname
- 分布式事务解决方案之 Alibaba Seata1.3.0 seata-server 1.3.0
- 全国计算机等级考试题库二级C操作题100套(第02套)
- 论文笔记(SocialGCN: An Efficient Graph Convolutional Network based Model for Social Recommendation)
- 写完程序 看 蜡笔小新 的有木有
- 随想录(中断中真的不能上下文切换吗)
- plsql dev中Dynamic Performance Tables not accessible分析解决(转载)
- Redis学习(1)NoSQL非关系型数据库、Redis概述、Linux安装Redis
- html日期选择限制,element-ui 日期选择器范围时间限制
- 远程控制客户端使用教程-multiDesk
- java 存根_存根键值存储
- 斐波那契数列(经典兔子繁殖问题)
- Android平台第三方插件开发指导(dcloud)
- bootstrap手风琴_快速提示:如何自定义Bootstrap 4的手风琴组件
- 石墨烯具有非常良好的光学特性,可能拥有一个非线性相移的光学非线性克尔效应-供应石墨烯/生态炭复合材料 聚苯乙烯/氧化石墨烯(PS/GO)复合微球 石墨烯-四氧化三铁(Fe_3O_4)微球复合材料
- IEEE Transactions on Image Processing文献跟踪11月