using UnityEngine; using System.Collections; // カメラ追従しながらテクスチャ(マテリアル)のオフセットを変更して多重スクロール public class Parallax2 : MonoBehaviour { public float scroll_speed = 1.0f; public float div_v = 20.0f; private Vector3 oldcampos; private Vector3 oldpos; // Use this for initialization void Start () { // 初期位置を覚えておく oldpos = transform.position; oldcampos = Camera.main.transform.position; } // Update is called once per frame void Update () { // カメラ座標と同じにして追従させる Camera camera = Camera.main; float size = camera.orthographicSize; transform.localPosition = new Vector3(camera.transform.position.x, oldpos.y, oldpos.z); // テクスチャオフセットをずらす量を算出 float u = (camera.transform.position.x - oldcampos.x) / div_v; renderer.material.mainTextureOffset = new Vector2(u * scroll_speed, 0); } }