using UnityEngine; using System.Collections; [ExecuteInEditMode] public class RatioFix : MonoBehaviour { Resolution[] resolutions; void Awake() { //StartCoroutine("Do"); Do(); } void Do() { //yield return new WaitForFixedUpdate(); resolutions = Screen.resolutions; float targetaspect = 16.0f / 9.0f; float windowaspect = (float) resolutions[resolutions.Length - 1].width / (float)resolutions[resolutions.Length - 1].height; //float windowaspect = Screen.width / Screen.height; float scaleheight = windowaspect / targetaspect; Camera[] camArray = FindObjectsOfType(typeof(Camera)) as Camera[]; foreach (Camera camera in camArray) { if (camera.gameObject.layer != 10 && camera.gameObject.layer != 13) { if (scaleheight < 1.0f) { Rect rect = camera.rect; rect.width = 1.0f; rect.height = scaleheight; rect.x = 0; rect.y = (1.0f - scaleheight) / 2.0f; camera.rect = rect; } else { float scalewidth = 1.0f / scaleheight; Rect rect = camera.rect; rect.width = scalewidth; rect.height = 1.0f; rect.x = (1.0f - scalewidth) / 2.0f; rect.y = 0; camera.rect = rect; } } } } }