Version: Unity 6.0 (6000.0)
言語 : 日本語
スクリプトによるマテリアルプロパティへのアクセス
Inspector ウィンドウでマテリアルプロパティを制御する

マテリアルプロパティ値を使用してシェーダー変数を設定する

マテリアルプロパティを使って ShaderLab コードに変数を設定

マテリアルプロパティから ShaderLab コードの変数の値を設定するには、ShaderLab コードでマテリアルプロパティ名を角かっこ [] で囲みます。

このサンプルコードは、マテリアルプロパティを使用して、ShaderLab Offset コマンドの units 値を設定する構文を示しています。

Shader "Examples/MaterialPropertyShaderLab"
{
    Properties
    {
        // Change this value in the Material Inspector to affect the value of the Offset command
        _OffsetUnitScale ("Offset unit scale", Integer) = 1
    }
    SubShader
    {
        // The code that defines the rest of the SubShader goes here

        Pass
        {
            Offset 0, [_OffsetUnitScale]

           // The code that defines the rest of the Pass goes here
        }
    }
}

マテリアルプロパティを使って HLSL コードの変数を設定

マテリアルプロパティを使って HLSL コードの変数の値を設定するには、マテリアルプロパティにシェーダープロパティと同じ名前を付けます。

このテクニックに関しては、以下のページも参照してください。実際のコード例も掲載されています。

スクリプトによるマテリアルプロパティへのアクセス
Inspector ウィンドウでマテリアルプロパティを制御する