💭
Unity ImGUI 高解像度でも文字を読めるようにする
GUI.matrix でスケール
using System.Collections;
using UnityEngine;
public class GUITest : MonoBehaviour
{
void OnGUI()
{
//スケールを確認
float scale = (Screen.dpi / 96f)* 0.8f;;
//スケール可変実行( GUI.matrix で可変)
GUI.matrix = Matrix4x4.TRS(Vector3.zero, Quaternion.identity, new Vector3(scale, scale, 1f));
//検証用パーツ群
GUILayout.Label("GUI.matrix:\n" + GUI.matrix);
GUILayout.Label("scale / Screen.dpi -> " + scale + " / " + Screen.dpi);
GUILayout.Label("width height -> " + Screen.width + " , " + Screen.height);
GUILayout.Box("OUTSIDE Menu");
GUILayout.Button("OUTSIDE Button");
GUILayout.Box("INSIDE Menu");
GUILayout.Button("INSIDE Button");
}
}
GUI.matrix 有無での比較
GUI.matrix あり(可変している)
GUI.matrix なし(文字小さいまま)
Discussion