暫く前に、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)));
これだけ、簡単ですね。
ということでメモでした。 ではではヾ(๑╹◡╹)ノ"