本日はShader枠です。
今回は実践でよく使用する表現としてオブジェクトの透明表現として、テクスチャに基づいてメッシュの一部を透明にしていく表現を行います。
〇ShaderGraphでの実装
ShaderGraphではコードを意識することなく実装することができるためプロトタイプ開発などで非常に役に立ちます。
①マスタースタックを選択している状態でGraph Inspector
ウィンドウでSurface Type
をTransparent
に設定します。
これによってAlpha
の出力が現れます。
②マテリアルのインスペクターとしてTexture2D型のパラメータを追加します。
③Alphaの出力に作成したTexture2D型のパラメータをSample Texture2D
ノードを介して接続します。
これによってパラメータのテクスチャに適応した画像に応じて透明度が設定されます。
しかし上記の状態ではRGBのR値が透明度のパラメータとして使用されています。
次に画像をグレースケール化します。
④SampleTexture2D
ノードの出力をMaximam
ノードにつなぎ、RGBの成分のうち一番大きい値をα値に使用するようにします。
これによってよりアルファテクスチャを生かした透明表現ができます。
〇AlphaThreshold
AlphaThreshould
はα値の閾値という意味です。
使用するためにはマスタースタックでGraph Inspector
でAlphaThreshould
を有効にする必要があります。
有効にすることでデフォルトで0.5の値が設定されていますが、アルファ値が0.5未満は切り捨てられ0としてカウントされるという効果を与えます。
本日は短いですが以上です。
ShaderGraphでは実装は簡単でしたが実際のShaderLabでのコードを用いた処理ではAlphaBlendingなどを使用する必要があり若干難易度が上がります。
次回はこちらを行っていきます。