回答編集履歴
1
コード修正
answer
CHANGED
@@ -1,7 +1,18 @@
|
|
1
1
|
モデル側でマテリアルを複数セットしている状態なら
|
2
2
|
`this.GetComponent<Renderer>().sharedMaterial = _material[i];`
|
3
3
|
この部分を
|
4
|
-
`this.GetComponent<Renderer>().sharedMaterials[0] = _material[i];`
|
4
|
+
~~`this.GetComponent<Renderer>().sharedMaterials[0] = _material[i];`~~
|
5
5
|
こう変えればいいんじゃないでしょうか。
|
6
6
|
|
7
|
-
ちなみにマテリアルを複製する(共有しない)なら`sharedMaterials`ではなく`materials`でよいかと。
|
7
|
+
ちなみにマテリアルを複製する(共有しない)なら`sharedMaterials`ではなく`materials`でよいかと。
|
8
|
+
|
9
|
+
---
|
10
|
+
|
11
|
+
(2020/01/28追記)コードが適切でなかった為修正します。
|
12
|
+
```C#
|
13
|
+
Material[] materials = this.GetComponent<Renderer>().sharedMaterials;
|
14
|
+
materials[0] = _material[i];
|
15
|
+
this.GetComponent<Renderer>().sharedMaterials = materials;
|
16
|
+
```
|
17
|
+
参考:
|
18
|
+
[c# - How to replace element in MeshRenderer.sharedMaterials - Stack Overflow](https://stackoverflow.com/questions/55849541/how-to-replace-element-in-meshrenderer-sharedmaterials)
|