41 lines
658 B
C#
41 lines
658 B
C#
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
[ExecuteInEditMode]
|
|
public class PixelPerfectCamera : MonoBehaviour {
|
|
private Camera _cam;
|
|
public int pixelsToUnits = 1;
|
|
public int zoom = 1;
|
|
|
|
// Use this for initialization
|
|
void Start () {
|
|
|
|
FindCamera();
|
|
FitCameraSize();
|
|
}
|
|
|
|
|
|
|
|
// Update is called once per frame
|
|
void Update () {
|
|
FitCameraSize();
|
|
}
|
|
|
|
void FitCameraSize(){
|
|
if(_cam != null){
|
|
float camSize = ((float)(_cam.pixelHeight) / 2.0f ) / pixelsToUnits;
|
|
_cam.orthographicSize = camSize / zoom;
|
|
}
|
|
}
|
|
|
|
void FindCamera(){
|
|
_cam = gameObject.GetComponent<Camera>();
|
|
}
|
|
|
|
void OnValidate(){
|
|
FindCamera();
|
|
FitCameraSize();
|
|
}
|
|
|
|
}
|