unity小技巧备忘录1使用代码单物体同时存在多个材质,使用代码更换指定材质
2020-03-01 21:38
1186 查看
1单物体同时存在多个材质,更换指定材质
首先直接尝试替换材质数组单个元素
public Material mymt; void Replace() { GetComponent<Renderer>().materials[2]=mymt; }
事实证明上面的方法并没有什么卵用
网上找了半天,经过测试,目前了解到大概有三种方法可行
- 新建材质数组,直接更换材质数组。优点就是任何材质都可以替换。
public Material[] customMt; public void Replace() { GetComponent<Renderer>().materials = customMt; }
- 直接替换目标材质的贴图,这种方法有弊端,就是如果连材质金属度等属性都要改的时候,就很麻烦了。
public Texture texture; public void Replace() { GetComponent<Renderer>().materials[2].mainTexture = texture; }
- 比较实用的方法来了,使用Material .CopyPropertiesFromMaterial方法来直接修改材质各项属性,其实就是将上面目标材质的属性复制到目标材质,这种方法只适用于同种材质之间。
public Material mymt; public void Replace() { GetComponent<Renderer>().materials[2].CopyPropertiesFromMaterial(mymt); }
第一次写自己的博客,以后我也是大佬啦(梦真香)!
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- unity,如何手动或者使用代码更换材质
- 【Unity&UGUI&Shader】创建材质球Material&代码控制更换物体材质球
- IO流获取指定目录下所有txt文件的个数,并将这些txt文件复制到D盘test目录 用缓冲流实现. 注意: 需要判断test目录是否存在,如果不存在,使用代码创建
- Unity使用Shader控制物体材质的透明度(Lambert版和非光照版)
- jQuery使用CSS()方法给指定元素同时设置多个样式
- Unity使用代码控制2d游戏物体(一)
- Unity笔记:更换物体材质球
- 在ASP.NET 中使用 Unity Application Block – 示例(提供代码下载)
- 在asp.net里使用指定的用户运行访问Sharepoint网站的代码
- Unity Application Block 1.0系列(5): 使用BuildUp让已存在对象实例也支持依赖注入
- 使用vc连接指定url获得其HTML的代码
- IE中,给一个HTML元素同时指定多个class时,样式是怎么确定的
- eclipse使用小技巧----自定义自己喜欢的代码格式
- 请帮忙。。。 使用谷歌代码网站上的开源代码,为指定站点提供AJAX定制搜索
- 小技巧:如何在(博客园)TinyMCE编辑器模式下同时插入Flash和Sliverlight以及代码运行框
- C#使用指定打印机打印Word,Excel等Office文件和打印PDF文件的代码
- Eclipse分栏同时显示多个代码文件的办法
- Unity引擎使用小技巧
- [Unity3d]unity同时开启多个项目
- 编写高质量代码改善C#程序的157个建议[为泛型指定初始值、使用委托声明、使用Lambda替代方法和匿名方法]