*
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
|
||||
|
||||
public class Utils {
|
||||
public static Rect GetCameraRect2D(Camera cam){
|
||||
float pixWidth = (cam.orthographicSize * Camera.main.aspect) * 2;
|
||||
float pixHeight = cam.orthographicSize * 2;
|
||||
|
||||
return new Rect(
|
||||
Camera.main.transform.localPosition.x - (pixWidth * 0.5f),
|
||||
Camera.main.transform.localPosition.y + (pixHeight * 0.5f),
|
||||
pixWidth, pixHeight);
|
||||
}
|
||||
|
||||
public static Rect RectFromBounds(Bounds b){
|
||||
return new Rect (b.center.x - b.size.x * 0.5f, b.center.y + b.size.y * 0.5f, b.size.x, b.size.y);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class ParallaxBackground : MonoBehaviour {
|
||||
public float scrollSpeed = 0.5f;
|
||||
public bool KeepTextureAspect = true;
|
||||
public Camera cam;
|
||||
public float Scale = 0.01f;
|
||||
public float LerpSpeed = 0.5f;
|
||||
// Use this for initialization
|
||||
void Start () {
|
||||
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update () {
|
||||
|
||||
Vector2 offset = gameObject.renderer.sharedMaterial.mainTextureOffset;
|
||||
Vector3 mousePos = Input.mousePosition;
|
||||
Vector2 screenCenter = new Vector2 (Screen.width / 2, Screen.height / 2);
|
||||
Vector2 mouseDir = new Vector2 (mousePos.x, mousePos.y) - screenCenter;
|
||||
Vector2 nextOffset = mouseDir * -Scale;
|
||||
|
||||
gameObject.renderer.sharedMaterial.mainTextureOffset = Vector2.Lerp (offset, nextOffset, LerpSpeed * Time.deltaTime);
|
||||
//offset.x += tcScrollSpeed * Time.deltaTime;
|
||||
//gameObject.renderer.sharedMaterial.mainTextureOffset =offset;
|
||||
|
||||
|
||||
/*float textureAspect = gameObject.renderer.sharedMaterial.mainTexture.width / gameObject.renderer.sharedMaterial.mainTexture.height;
|
||||
float textureScale = cam.aspect / textureAspect;
|
||||
var camRect = Utils.GetCameraRect2D (cam);
|
||||
float tcScrollSpeed = textureScale * scrollSpeed;
|
||||
|
||||
if (Application.isPlaying) {
|
||||
Vector2 offset = gameObject.renderer.sharedMaterial.mainTextureOffset;
|
||||
offset.x += tcScrollSpeed * Time.deltaTime;
|
||||
gameObject.renderer.sharedMaterial.mainTextureOffset =offset;
|
||||
}
|
||||
|
||||
|
||||
if (KeepTextureAspect) {
|
||||
|
||||
gameObject.renderer.sharedMaterial.mainTextureScale = new Vector2(textureScale, 1);
|
||||
}
|
||||
|
||||
transform.localScale = new Vector3 (camRect.width, camRect.height, 1);*/
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user