Unity

【Unity】UVスクロールするやり方

unity-uv-scroll

UVスクロールするやり方

準備

・テクスチャはシームレステクスチャを使用
・テクスチャの設定は WrapMode:Repeatにすること
・MeshのUVもシームレスにスクロールできるように0.1を確認すること

やり方

1. スクロールさせたいオブジェクトに下記のスクリプトを追加
2. スクロールさせたい方向へscrollSpeedXまたはscrollSpeedYに値を入力して、スピードを調節

using UnityEngine;
using System.Collections;
public class UVScroll : MonoBehaviour {
[SerializeField]
private float scrollSpeedX = 0.1f;
[SerializeField]
private float scrollSpeedY = 0.1f;
void Start() {
GetComponent<Renderer>().sharedMaterial.SetTextureOffset("_MainTex", Vector2.zero);
}
void Update() {
var x = Mathf.Repeat(Time.time * scrollSpeedX, 1);
var y = Mathf.Repeat(Time.time * scrollSpeedY, 1);
var offset = new Vector2(x, y);
GetComponent<Renderer>().sharedMaterial.SetTextureOffset("_MainTex", offset);
}
}
ABOUT ME
すいみん
名前:すいみん 東京在住のデザイナー DTP・映像・3D・プログラミングまで、 なんでも自分で試して作ることが好きです。 ブログはその備忘録です。