凛(kagring)のUE4とUnityとQt勉強中ブログ

2016 年から UE4 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

テクスチャの UV スクロール

テクスチャの UV スクロールをする方法です。
調べてみたらどうもテクスチャが一枚のマテリアルであればこういう方法があるようです。

・テクスチャの擬似スクロールと小技
http://unity-study.net/archives/170

この方法だとちょっと汎用性に欠けたのでマテリアルからセットする方法を探してみました。
マテリアルからセットする方法があるようです。

ここの方法でマテリアルを取得して
そのマテリアルに対して「SetTextureOffset」関数でUVスクロールができるようです。

こんな感じですね。

// テクスチャUVスクロール
Material material = this.gameObject.renderer.material;
material.SetTextureOffset("_MainTex", new Vector2( 0.5f, 0.25f ) );


引数に Vector2 を渡すことでその分だけオフセットで動きます。
上記の例だと値が動いてないのでスクロールはしないので注意してください。

第一引数はそのマテリアルのシェーダーのテクスチャ変数名っぽいですね。
だいたいはデフォルトであれば「_MainTex」の指定で行けると思います。

ドキュメントはこちら。
・Material.SetTextureOffset
https://docs.unity3d.com/Documentation/ScriptReference/Material.SetTextureOffset.html

というわけで上記の処理をいれてみたのがこちら。


ちゃんとスクロールしているのではないでしょうか。
スポンサーサイト

| Unity | 01:31 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/61-1484033a

TRACKBACK

PREV | PAGE-SELECT | NEXT