バッテラが如く

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

【Unity】ShaderGraphでテクスチャを貼れるシェーダーを作る (第3弾)

第3弾はテクスチャを貼るシェーダーを作ってみます。

テクスチャを貼るなんて当たり前かもしれませんが、自前で作ると結構大変だということがやってみると分かると思います。

ShaderGraphについては以下記事で解説していますので良かったら参考にしてね!

www.m2game.net

■開発環境

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

    Cubeにテクスチャが貼れるまでを目指します!

    ShaderGraphを新規作成

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

    SampleTextture2Dノードを追加

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

    シンプルにテクスチャを表示するにはSampleTextture2Dノードを使います。

    Create Node → Input → Texture → Sampler Texture 2Dで作成します。

    RGBA(4)FragmentBaseCoorを繋ぎます。

    これでTextureの色情報をFragmentに渡すことができました。

    Texture2Dプロパティを追加

    次は外部からTextureをセットできるようにBlackNodeにTexture2D型プロパティを追加します。

    ↑のプロパティをSamplerTexture2DのTextureと紐付けます。

    これでノードは完成です!

    デフォルトのテクスチャをセットしたい場合

    Graph Inspectorで Defaultをクリックするとデフォルトのテクスチャをセットすることもできます。

    外から変えられるので不要な人は飛ばしても問題ないです。

    エディタでテクスチャを変更してみる

    マテリアルのインスペクタ上でテクスチャが変えることができます。