はじめに
UIを調整している時、Gameウィンドウのサイズを確認したくなったので作ってみました。
作ったものについて
Gameウィンドウの画面サイズとアスペクト比を表示します。
環境
Windows 10
Unity2017.2.0f3
ソースコード
UnityプロジェクトにEditorフォルダを作り、以下のスクリプトをフォルダの中へ入れてください
AspectRatioViewer.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class AspectRatioViewer : EditorWindow
{
[MenuItem("Tools/AspectRatio Viewer")]
static void Open()
{
GetWindow<AspectRatioViewer>(); // ウィンドウを開く
}
void OnGUI()
{
EditorGUILayout.LabelField("画面解像度を表示します");
var sizes = UnityStats.screenRes.Split('x');
var w = float.Parse(sizes[0]); // 横のサイズをもとめる
var h = float.Parse(sizes[1]); // 縦のサイズをもとめる
this.ShowValue("Width", w.ToString());
this.ShowValue("Height", h.ToString());
this.ShowValue("Aspect Ratio", string.Format("{0} : {1}", 1f, h / w));
}
void Update()
{
this.Repaint(); // ウィンドウにフォーカスが乗っていないときでも画面描画を更新
}
void ShowValue(string label, string value)
{
EditorGUILayout.BeginVertical("Box");
EditorGUILayout.LabelField(label);
EditorGUI.indentLevel++;
EditorGUILayout.LabelField(value.ToString());
EditorGUI.indentLevel--;
EditorGUILayout.EndVertical();
}
}
使う
メニューの Tools/AspectRatio Viewer を選択するとウィンドウが開きます。