【Unity】フレームレートの設定方法

Unity

はじめに

Unityのフレームレートの設定は、ゲームのパフォーマンスに直結する重要な要素です。
本記事では、フレームレートの設定する方法について解説します。

検証環境

Unity
2022.3.12f1

フレームレートとは

フレームレート(fps:Frames Per Second)は、1秒間に描画されるフレームの数を表します。
この数値が大きければゲームは滑らかな動作やアニメーションをします。
逆にフレームレートが低いと、動きがカクカクしてると感じる可能性があります。

また、画面の滑らかさ以外にもバッテリー消費や発熱にも影響してきます。

フレームレートの確認方法

Unityエディタ上でフレームレートの簡単な確認方法は
Game view を開き Stats を表示します。
表示された画面の Graphics: ○○fps がフレームレートの値になります。

フレームレートの設定方法

Unityの初期設定では、ディスプレイのリフレッシュレート によって変動してしまいます。
なので、ディスプレイとの同期しないようにし、フレームレートを固定するよう設定を変更します。

フレームレートの固定

メニューバーから Edit > Project Settings > Quality を開きます。

VSync CountDont Sync 変更することでフレームレートの固定できます。
また、この項目は以下のような動作をします。

Dont Sync : ディスプレイと同期しない
Every V Blank : ディスプレイのリフレッシュレートを目標値に
Every Second V Blank : ディスプレイのリフレッシュレートの半分を目標値に

フレームレートの固定ができたので次は、目標値の設定をしていきます。

フレームレートの目標値を設定

フレームレートの目標値は Application.targetFrameRate から設定できます。

void Start()
{
    // 60fpsを目標に設定
    Application.targetFrameRate = 60;
}

この値は、VSync CountDont Sync 以外の場合は無視されてしまうので注意です。

ちなみに VSync CountQualitySettings.vSyncCount から設定できます。

void Start()
{
    // VSyncCount を Dont Sync に変更
    QualitySettings.vSyncCount = 0;
    // 60fpsを目標に設定
    Application.targetFrameRate = 60;
}

QualitySettings.vSyncCount の数値は
0 : Dont Sync
1 : Every V Blank
2 : Every Second V Blank
となります。

コメント