用两种材质更改对象上的一种材质

时间:2019-09-29 11:39:39

标签: c# unity3d material

(Image: model with two materials)我在Blender中创建了一个简单的模型,它有两种材料。我将其导出到.obj文件,然后导出到Unity项目。我需要编写一个脚本,该脚本应该将其中的一种模型材料更改为两种。但是我该如何使用脚本呢?

1 个答案:

答案 0 :(得分:0)

有多个选项。

我建议您按照以下步骤操作:

在更改其中一种材料的脚本中,调用类似的函数

public void ChangeMaterial(Material m, int index){
    GetComponent<Renderer>().materials[index] = m;
}

如果您想多次更改材质,则可能要缓存Renderer组件。

有完整的脚本示例

public class MyScript : MonoBehaviour
{
    private Renderer _renderer;

    private void Start(){
        _renderer = GetComponent<Renderer>();
    }

    public void ChangeMaterial(Material m, int index){
        _renderer.materials[index] = m;
    }
}