複数のマテリアルが状態でEmissionColorの値をスクリプトから変更するにはどうしたらいいですか?
下記のサイトを見てコードを書いたのですが動きませんでした。
画像に写ってる__イタリックテキスト__Emissive Color値をC#で変更する方法を教えてください!
質問の修正をお願いします。
・リンクをクリックできるようにして下さい
・画像の部分が一部うまく表示されていないように思われます
・動作しなかったそうですが、具体的にどのように動作しなかったのか、エラー文ままでいいので追記して下さい
これらを修正すれば回答がつきやすくなると思います。
ご質問者さんのコードもご提示いただけると回答しやすくなるかと思います。bochan2さんからのアドバイスにあるような複数マテリアルに関する問題なのか、あるいはプロパティ名が間違っているのか(Standardは「_EmissionColor」ですが、VertexLitの場合は「_Emission」のはずです)といったことも突き止めやすくなるでしょう。
大変失礼しました。
リンククリックできるようにしました
自分が書いたコードがこちらです
Material[] mats7 = GetComponent<Renderer>().materials;//スカーフ
Color color7 = mats7[21].color; //リボン
color.a = 0f;//リボン
mats7[21].color = new Color(255f, 255f, 255f, 0f);//リボン mats7[21].SetColor("_EmissionColor", new Color(66f, 66f, 66f, 255f));
上記のコードだとmaincolorは変更できるのですが_EmissionColor(画像ではEmissive Color)が変更できないです。(エラーは起こっていません)
bochan2様が書いてくれたコードも画像の通りエラーがでてしまいます