スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

UnityでFPSを設定する方法

Unityのデフォルト設定では、実行環境によってFPS(フレームレート)が自動で調整されるようになっている。
(スタンドアローンのゲームでは可変フレームレート)

移動などの処理には Time.deltaTime (前のフレームから今のフレームまでの時間)を掛けて
可変フレームレートで開発するのが良いらしいが、設定でFPSを固定することもできる。

Quality Settingsで垂直同期を変更


まずはUnityのメニューから"Edit"→"Project Settings"→"Quality"を選んで、
インスペクターから"VSync Count"の項目を変更する。

デフォルトでは"Every VBlank"(垂直同期)が設定されており、モニタのリフレッシュレートに同期されている。
(60Hzのモニタを使用なら60FPS、90Hzのモニタを使用なら90FPSとなる)

他に、ドロップダウンメニューから"Every Second VBlank"(垂直同期の半分)と"Don't Sync"(垂直同期無し)があるので、
FPSを固定する場合は"Don't Sync"(垂直同期無し)を選ぶ。

Application.targetFrameRate


static int targetFrameRate;

Application.targetFrameRateに数値を入れることで目標FPSを自分で設定できる。
デフォルトでは-1。(スタンドアローンでは可能な限り早く、ウェブプレイヤーでは50~60FPS)
垂直同期無しに設定して、パブリッシュしないとコードを書いても反映されないことに注意(エディター上でゲームを再生しても反映されない。)

(例)
void Awake() {
Application.targetFrameRate = 60; //60FPSに設定
}

テーマ: プログラミング | ジャンル: コンピュータ

コメント

コメントの投稿


 管理者にだけ表示を許可する

Page top
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。