前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小功能⭐️解决Unity无法对一个物体上的所有材质球进行更改

小功能⭐️解决Unity无法对一个物体上的所有材质球进行更改

作者头像
星河造梦坊官方
发布2024-08-16 08:40:03
630
发布2024-08-16 08:40:03
举报
文章被收录于专栏:星河造梦坊专栏

🟥 目的:

想实现将该cube上的所有材质球New Material换成change材质球

🟧 错误方法:

获取到MeshRenderer,对GetComponent().materials[i]挨个进行赋值。

我们运行后发现,项目不报错,但材质球并没有替换为change。而是将原材质球实例化了一下。也并没什么用。

🟨 正确方法:

对materials的整个数组进行赋值。而不是它其中的单个值。

代码示例:

代码语言:javascript
复制
using UnityEngine;
 
public class test : MonoBehaviour {
 
    [Tooltip("想赋的材质球")]
    public Material material;
 
    void Start () {
 
        Material[] tempMaterial = new Material[GetComponent<MeshRenderer>().materials.Length];
 
        for (int i = 0; i < tempMaterial.Length; i++)
        {
            tempMaterial[i] = material;
        }
 
        GetComponent<MeshRenderer>().materials = tempMaterial;
    }
}

大家还有什么问题,欢迎在下方留言!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🟥 目的:
  • 🟧 错误方法:
  • 🟨 正确方法:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档