【Unity(C#)】ゲームオブジェクトの色をスクリプトから変更する方法

  

  

  

この記事は

『プログラミング完全未経験からUnityでの開発現場に迎え入れてもらえた世界一の幸せ者』

の記事です。そのつもりでお読みください。

  

  


ゲームオブジェクトの色をスクリプトから変更する方法

ゲームオブジェクトの色を変更とありますが

正確には"ゲームオブジェクトのmaterialのプロパティを変更する"?ですね。

なのでまずはmaterialのプロパティを確認しましょう。

  

ゲームオブジェクトのInspector画面で下の方までスクロールすると、

画像のようにmaterialの設定を見れる?ようなやつがあるので

右上の歯車っぽいやつを押してみてください。

material_ColorCheck.png

そうするとSelect Shaderというのがあるのでそこに飛びましょう。

Select Shader.png

そして、Propertiesの_Colorと書いてあるところを確認してください。

ここが_TintColorとなっている場合があります。

どちらになっているかで若干コードが変わります。

_Color.png


①_Colorの場合

GetComponent<Renderer>().material.color = Color.red;


②_TintColorの場合

GetComponent<Renderer>().material.SetColor("_TintColor", Color.red);

正直、プロパティの_Colorとか_TintColorとかはよくわかりません。

もしわかる人いたら教えてください。

あと、色の変え方調べてたら

this.renderer.material.color = Color.red;



というやり方がけっこう出てくるんですが、旧形式の書き方なので注意してください。

this.renderer.material.color = Color.red.png

"情弱乙www"と煽られます。