バッテラが如く

プログラミングしましょ!

【Unity】ShaderGraphでテクスチャとカラーを合成できるシェーダーを作る (第4弾)

第1弾でやった色を変えるシェーダーと第3弾でやったテクスチャを貼れるシェーダーを合わせたシェーダーを作ってみます。

平たく言えばテクスチャも貼れるし色を変えれるというやつですね。

ShaderGraphについては以下記事で解説しています。

www.m2game.net

■開発環境

  • MacOS Monterey (12.1) Unity (2021.3.2f1)
  • ゴール

    ShaderGraphを新規作成

    Unlit Shader Graphで作り始めます。
    ※ビルトイン環境 (非URP)

    ここからはShaderGraphエディタで作業していきます。

    色を変えれる機能を実装

    第1弾の記事を参考に色を変えれるようにします。

    www.m2game.net

    テクスチャを貼れる機能を実装

    第3弾の記事を参考にテクスチャを貼れるようにします。

    www.m2game.net

    現時点で以下の構図になっていればOKです。

    色を合成するノードを追加 (Multiply)

    次はテクスチャの色とユーザー定義の色を合成していきます。

    色の合成にはMultiplyというノードを使います。 これにより2つの色を掛け合わせた結果を出力できます。

    使い方ですが、

    「入力」は下図のようにをMultiplyのA, Bにテクスチャとユーザー定義色を繋ぎます。

    「出力」は合成がされたものがOutに格納されているので、それを FragmentのBaseColorに繋ぎます。

    これで合成が完成しました。

    確認

    エディタでテクスチャとカラーの設定ができるのでいじってみて正しく反映されるかを確認します。