本日はShader勉強枠です。
〇電光掲示板
電光掲示板は多数のLED照明の集合として1つの絵を描いています。
電車やバスの行き先表、空港の案内などいたるところで見る電光掲示板を今回はUnityで再現します。
①プロジェクトウィンドウで右クリックし[UnlitGraph]でShaderGraphを作成します。
今回は[LEDBoard]という名前でShaderを作成しています。
②[UV]ノード、[Tiling And offset]ノード、[Fraction]ノード、[Rectangle]ノードをそれぞれ画像のようにつなぎます。
③[Backboard]に[Vector2]型で変数を作ります。今回は[LEDSize]としました。
[LEDSize]はLEDの数=解像度になります。[GraphInspector]ウィンドウでデフォルト値として30を設定しています。
④[LEDSize]を[Tiling And offset]ノードの[Tiling]へとつなぎます。
これによって電光掲示板の元となるLEDの束が作成されます。
⑤[Sample Texture 2D]ノードを作成し、[Multiply]ノードで掛け合わせます。
⑥最後に[Backboard]に[Texture2D]の変数を作成し[Sample Textue 2D]と接続します。
以上で電光掲示板のShaderが完成しました。
Planeのオブジェクトで見ると表現を見ることができます。
今回は以下のテクスチャを作成しました。
しかしこのままではLEDライトの半分がひかり、半分が黒いという現実ではあまり見ない見た目になっています。
現実の電光掲示板ではLEDライト一つで一つの光方をします。Shaderでもこれを再現します。
[Sample Texture 2D]の[UV]に[Posterize]ノードをつなぎます。
これによってモザイク処理のような効果がかかります。
以上でShaderが完成しました。