2020年03月19日

Shader内でTiling/Offset値の取得方法

UnityのShaderプログラム内で「Tiling」や「Offset」の値を知りたい場合は{TextureName}_STの値を参照すると良いそうです。

sampler2D _MainTex;
float4 _MainTex_ST;

_MainTex_ST.x; // Tilingのxの値
_MainTex_ST.y; // Tilingのyの値

_MainTex_ST.z; // Offsetのxの値
_MainTex_ST.w; // Offsetのyの値

テクスチャーのサイズを知りたい場合は{TextureName}_TexelSizeの方を参照するそうです。

リンク

Unity - Manual: Accessing shader properties in Cg/HLSL
https://docs.unity3d.com/560/Documentation/Manual/SL-PropertiesInPrograms.html
タグ:shader
posted by unity-chan at 03:27 | Script