【Unity】モバイル環境での60FPS化とFPSの可視化の方法!FixedTimestepの変更だけではNGでした

どうも、だらはです。
今回は、モバイル環境での60FPS化とFPSの可視化の方法についてまとめたいと思います。

スポンサーリンク

手順

では早速手順に入ります。

◆手順

  1. [Edit -> Project Settings -> Time -> Fixed Timestep]の値を0.02から0.01に変更(参考:60FPS = 1.667)
  2. [Hierarchy -> UI -> Legacy -> Text]より、FPSを表示するための表示器を準備する。
  3. 2で作成した表示器に後述するFPSDisplay.csをアタッチする。
  4. 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)

以上、だらはでした。

スポンサーリンク

基礎

Posted by daraha_gm