なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

テクスチャを切り替えられるシェーダーを作りたい

暫く前に、Texture2DArray を作成する記事を書いたのですが、その続きです。
Texture2DArray を元に、テクスチャを切り替えられるシェーダーを作ってみます。


といっても実装は簡単。
まずは Texture2DArray を宣言しておきます。
あとは、テクスチャを切り替える為の入力も宣言しておきます。

Shader "Mochizuki/Shader/001" {
    Properties {
        _Textures  ("Texture Array",  2DArray) = "white" {}
        _TextureNo ("Texture No", Range(0, 1)) = 0
    }
}

シェーダー内部ではこんな感じのマクロを使って定義します。

UNITY_DECLARE_TEX2DARRAY(_Textures);
uniform float _TextureNo;

最後にフラグメントシェーダーで処理します。

float4 color = UNITY_SAMPLE_TEX2DARRAY(_Textures, float3(i.uv, floor(_TextureNo)));

これだけ、簡単ですね。
ということでメモでした。 ではではヾ(๑╹◡╹)ノ"