【Unity】ScriptからMaterialにTextureを設定する
はじめに
UnityのScript(C#)からMaterialにNormalmapなどのTextureを設定する方法をメモっておきます。
MaterialにTextureをセットする
例えばMaterialにNormalmapのTextureをセットするには下記を実行します。
public Texture NormalmapTexture;
public Material TargetMaterial;
private void Start(){
TargetMaterial.SetTexture("_BumpMap", NormalmapTexture);
}
「SetTexture」の第一引数にプロパティ名を、第二引数に設定するTextureを指定します。
他にもDiffuse(オブジェクトのベースカラー)を設定したい場合は「MainTex」、Specularなら「SpecGlossMap」(Materialの種類を「Standard(Specular setup)」などに変更する必要があります)で設定できます。
※Diffuseについては「Material.mainTexture」でも設定できます。
さて、このプロパティ名は何を参照すればよいでしょうか。
ShaderのEditorを開く
- まずInspector上で変更対象のMaterialを開き、Material名の上で右クリック -> Edit Shader を開きます。

- 「Properties」から名前を探します(左側がプロパティ名です)。
