ShaderLab 移動・回転・拡縮コード
内容
・移動・回転・拡縮のコードを書きます
→資料が見つからなかったのでメモ
環境
・Unity5.4
・Windows
※間違っていたら指摘ください
初期準備
・UI-Default.shaderをベースに使用する
→Unityビルドインシェーダー
パターン
移動
//OUT.texcoord = IN.texcoord; // 元々書かれていたコード
OUT.texcoord = IN.texcoord;
OUT.texcoord.x += _Time.y; // 横方向へスクロール
OUT.texcoord.y += _Time.y; // 縦方向へスクロール
//OUT.texcoord = IN.texcoord; // 元々書かれていたコード
OUT.texcoord = IN.texcoord;
OUT.texcoord.x += _Time.y; // 横方向へスクロール
OUT.texcoord.y += _Time.y; // 縦方向へスクロール
[画像を後で貼り付ける]
回転
//OUT.texcoord = IN.texcoord; // 元々書かれていたコード
// 回転を設定
float angle = _Time.y * 1.0;
// 回転行列
float2x2 rotate = float2x2(cos(angle), -sin(angle), sin(angle), cos(angle));
// サイズを設定
float scale = 0.5;
// 回転UVを設定
float2 pivot_uv = float2(0.5, 0.5);
float2 r = (IN.texcoord.xy - pivot_uv) * (1 / scale);
OUT.texcoord = mul(rotate, r) + pivot_uv;
[画像を後で貼り付ける]
拡大・縮小
//OUT.texcoord = IN.texcoord; // 元々書かれていたコード
// サイズを設定
float scale = _Time.y % 1.0;
// 中心UVを設定
float2 pivot_uv = float2(0.5, 0.5); // ←UV方向間違ってる?
float2 r = (IN.texcoord.xy - pivot_uv) * (1 / scale);
OUT.texcoord = r + pivot_uv;
[画像を後で貼り付ける]
お世話になった書籍・サイト
<Unityシェーダープログラミングの教科書 ShaderLab言語解説編>超オススメ!!
・https://s-games.booth.pm/items/660001
<サイト>
・https://qiita.com/niusounds/items/cb821062acfd353d088d
Author And Source
この問題について(ShaderLab 移動・回転・拡縮コード), 我々は、より多くの情報をここで見つけました https://qiita.com/moca_uni/items/4e71e423c84f830687f1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .