Aetheria/Assets/Scripts/UI/BackgroundRenderer.cs
hyperion51 776e08a1d1 Local Zone Generation
Added the ability to generate zones locally in order to facilitate rapidly iterating generation parameters. Then of course I tweaked the shit out of the zone generation!
2020-03-30 03:11:57 +01:00

38 lines
1.3 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BackgroundRenderer : MonoBehaviour
{
public Transform Background;
public Transform Background2;
// public float RotationSpeed1 = 1;
// public float RotationSpeed2 = 1;
private Camera _camera;
private float _ratio;
private Material _material;
private Material _material2;
private float _depth;
private float _depth2;
private void Start()
{
_camera = GetComponent<Camera>();
_depth = Background.position.z;
_depth2 = Background2.position.z;
_material = Background.GetComponent<MeshRenderer>().material;
_material2 = Background2.GetComponent<MeshRenderer>().material;
}
private void OnPreRender()
{
_material.SetVector("ParallaxDirection", transform.position);
_material2.SetVector("ParallaxDirection", transform.position);
_ratio = (float) Screen.width / Screen.height;
Background.position = new Vector3(transform.position.x, transform.position.y, _depth);
Background2.position = new Vector3(transform.position.x, transform.position.y, _depth2);
var size = _camera.orthographicSize;
Background2.localScale = Background.localScale = new Vector3(size * 2 * _ratio, size * 2, 1);
}
}