Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用两种材质更改对象上的一种材质_C#_Unity3d - Fatal编程技术网

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

C# 使用两种材质更改对象上的一种材质,c#,unity3d,C#,Unity3d,我在Blender中创建了一个简单的模型,它有两种材质。我将其导出到.obj文件并导出到Unity项目。我需要写一个脚本,应该改变一个模型材料从两个它有。但我怎样才能用脚本做到这一点呢 有多种选择 我建议你做以下几点: 在更改材质的脚本中,调用如下函数 public void change物料(物料m,整数索引){ GetComponent().物料【索引】=m; } 如果要多次更改材质,可能需要缓存渲染器组件 这里有一个完整的脚本示例 公共类MyScript:monobhavior { 私有

我在Blender中创建了一个简单的模型,它有两种材质。我将其导出到.obj文件并导出到Unity项目。我需要写一个脚本,应该改变一个模型材料从两个它有。但我怎样才能用脚本做到这一点呢

有多种选择

我建议你做以下几点:

在更改材质的脚本中,调用如下函数

public void change物料(物料m,整数索引){
GetComponent().物料【索引】=m;
}
如果要多次更改材质,可能需要缓存
渲染器
组件

这里有一个完整的脚本示例

公共类MyScript:monobhavior
{
私有渲染器_渲染器;
私有void Start(){
_renderer=GetComponent();
}
公共材料(材料m,内部索引){
_1.材料[指数]=m;
}
}