【Unity】モバイル環境での60FPS化とFPSの可視化の方法!FixedTimestepの変更だけではNGでした
どうも、だらはです。
今回は、モバイル環境での60FPS化とFPSの可視化の方法についてまとめたいと思います。
手順
では早速手順に入ります。
◆手順
- [Edit -> Project Settings -> Time -> Fixed Timestep]の値を0.02から0.01に変更(参考:60FPS = 1.667)
- [Hierarchy -> UI -> Legacy -> Text]より、FPSを表示するための表示器を準備する。
- 2で作成した表示器に後述するFPSDisplay.csをアタッチする。
- 3のfpsTextに2の表示機を指定する (2を3にドラッグ&ドロップ)
以上です。
モバイル環境での60FPS化に重要なのは、[QualitySettings.vSyncCount = 0]と[Application.targetFrameRate = 60]を宣言すること。 これかないとモバイル環境では60FPSになりません。
◆FPSDisplay.cs
using UnityEngine;
using UnityEngine.UI;
public class FPSDisplay : MonoBehaviour
{
public Text fpsText; // UnityエディタでUI Textを設定してください
private float deltaTime;
void Start()
{
QualitySettings.vSyncCount = 0; // VSyncを無効にする
Application.targetFrameRate = 60; // ターゲットフレームレートを60に設定
}
void Update()
{
deltaTime += (Time.unscaledDeltaTime - deltaTime) * 0.1f;
float fps = 1.0f / deltaTime;
fpsText.text = string.Format("{0:0.} FPS", fps); // FPSを表示
}
}
まとめ
重要なのは、スクリプトにて、[QualitySettings.vSyncCount = 0]と[Application.targetFrameRate = 60]を宣言することです。
忘れずに実施するようにしましょう。(もし他に方法があれば教えて下さいmm)
以上、だらはでした。
ディスカッション
コメント一覧
まだ、コメントがありません