Unityに関連する記事です

×
 フレームレートの値を固定値に設定する方法です。



FrameRateLimiter クラスを作成する


 Unity の Project フォルダ内で新規の C# スクリプト・ファイルを作成します。
名前は「FrameRateLimiter」に変更してください。

 以下のソースコードを記載してください。

using UnityEngine;

public class FrameRateLimiter : MonoBehaviour
{
    [SerializeField] private int targetFrameRate = 60;

    void Awake()
    {
        QualitySettings.vSyncCount = 0;
        Application.targetFrameRate = targetFrameRate;
    }

    void Update()
    {
        if (Application.targetFrameRate != targetFrameRate)
        {
            Application.targetFrameRate = targetFrameRate;
        }
    }
}


<処理の説明>


 targetFrameRate変数は、フレームレートの値を設定する変数です。この値にフレームレートの値を固定します。
インスペクターから設定できるように[SerializeField]属性を使用しています。

 Awake()メソッドで、QualitySettings.vSyncCountを0に設定しています。

 QualitySettingsは、Unityのグラフィックス品質設定を制御するためのクラスです。
このクラスを使用することで、プロジェクトのグラフィック品質設定にアクセスし、変更することができます。
QualitySettingsにはプロパティやメソッドが含まれており、今回はQualitySettings.vSyncCount を設定しています。
これは垂直同期のカウントを設定します。0はVSyncをオフにし、1はモニターのリフレッシュレートに同期し、2はリフレッシュレートの半分に同期します。
フレームレートの値を固定化するためには、0 に設定する必要があります。

 同じく Awake()メソッドで、Application.targetFrameRate の値を設定しています。
この設定がフレームレートの値(固定値)になります。この値に targetFrameRateを設定することにより、指定したフレームレートの値に固定しています。

 Update()メソッドでは、ターゲットフレームレートが変更された場合に再度フレームレートを設定するようにしています。
そのため、ゲーム実行中であってもフレームレートの値を変更し、それを反映させることができるようにしています。


FrameRateLimiter ゲームオブジェクトを作成する


 ヒエラルキーの空いている場所で右クリックをしてメニューを開き、Create Empty を選択し、名前を FrameRateLimiter に変更します。
このゲームオブジェクトに、作成した FrameRateLimiter スクリプトをアタッチします。

 インスペクターからフレームレートの値を設定できます。初期値は 60 に固定するように設定されています。


インスペクター画像





 このクラスはいずれかのゲームオブジェクトに1つだけアタッチすれば、ゲーム全体でフレームレートの値が固定化が適用されます。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu



基礎

技術/知識(実装例)

2Dおはじきゲーム(発展編)

2D強制横スクロールアクション(発展編)

3Dダイビングアクション(発展編)

2Dタップシューティング(拡張編)

レースゲーム(抜粋)

2D放置ゲーム(発展編)

3Dレールガンシューティング(応用編)

3D脱出ゲーム(抜粋)

2Dリアルタイムストラテジー

2Dトップビューアドベンチャー(宴アセット使用)

3Dタップアクション(NavMeshAgent 使用)

2Dトップビューアクション(カエルの為に〜、ボコスカウォーズ風)

VideoPlayer イベント連動の実装例

VideoPlayer リスト内からムービー再生の実装例(発展)

AR 画像付きオブジェクト生成の実装例

AR リスト内から生成の実装例(発展)

private



このサイト内の作品はユニティちゃんライセンス条項の元に提供されています。

管理人/副管理人のみ編集できます

広告募集中