参考記事をまとめて実施したかったのでメモ
解像度変更
・ボタンのUI作成
・ボタンにpublic void ChangeRate(int RefreshRate)を割り付け引数設定が必要
・テキストの作成
・このスクリプト public Text fpsText にテキストオブジェクトのアタッチが必要
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;//追加 public class RateCheck : MonoBehaviour { //テスト用 解像度変更 RefreshRateは60まで 小5 微15 中30 大60 //ボタンを作り、ボタンの引数に5、15、30、60を設定した //参考 https://kan-kikuchi.hatenablog.com/entry/UnityTips3 public void ChangeRate(int RefreshRate) { float screenRate = (float)1024 / Screen.height; if (screenRate > 1) screenRate = 1; int width = (int)(Screen.width * screenRate); int height = (int)(Screen.height * screenRate); Screen.SetResolution(width, height, true, RefreshRate); } //フレームレートチェック //参考 https://ekulabo.com/frame-rate-time public Text fpsText;// フレームレートを表示するテキストです。 private int frameCount;// Update()が呼ばれた回数をカウントします。 private float elapsedTime;// 前回フレームレートを表示してからの経過時間です。 void Update() { // 呼ばれた回数を加算します。 frameCount++; // 前のフレームからの経過時間を加算します。 elapsedTime += Time.deltaTime; if (elapsedTime >= 1.0f) { // 経過時間が1秒を超えていたら、フレームレートを計算します。 float fps = 1.0f * frameCount / elapsedTime; // 計算したフレームレートを画面に表示します。(小数点以下2ケタまで) string fpsRate = $"FPS: {fps.ToString("F2")}"; fpsText.text = fpsRate; // フレームのカウントと経過時間を初期化します。 frameCount = 0; elapsedTime = 0f; } } }