強火で進め

このブログではプログラム関連の記事を中心に書いてます。

FPSの値を変更する方法

FPS(1秒間に描画が呼ばれる数。フレームレート)を変更する方法。

以下の様な記述で変更出来ます。

Application.targetFrameRate = 60;

実際にちゃんと切り替わっているを確認する為に以下の様なJavaScriptのプログラムを作りました。

var count: int = 0;
var t: float = 0;
var info: String = '';

function Awake () {
	Application.targetFrameRate = 60;
}

function Update () {
	t += Time.deltaTime;
	count++;
	if (t >= 1.0) {
		info = t+' : '+count+' count';
		t = 0.0;
		count = 0;
	}
}

function OnGUI () {
	GUILayout.Label(info);
}

こちらは Update () が呼ばれるたびにカウントアップを行い、1秒経過した後に何カウントされたかを表示するプログラムとなっています。

空のGameObjectなどに追加し、スタンドアローンアプリなどを作成して動作させ、ちゃんと反映されているか確認してみて下さい。
※なお、何故かエディタ(IDE)上で実行した時はFPSの設定は反映されないという制約が有るのでエディタ上では確認出来ません。

FPSを高い値に設定した場合はマシンスペックによっては実際にその値が出ない場合も有ります。その場合は数値を低くして確認するか起動時の「画面サイズ」や「グラフィッククオリティ」の設定を下げて実行してみて下さい。

また、iPhoneの場合にはこの方法では変更出来ません。iPhoneの場合は以前紹介した様に AppController.mm ファイルの以下の数値を変更して下さい。

#define kFPS 30 

関連情報

Unity Script Reference – Application.targetFrameRate
http://unity3d.com/support/documentation/ScriptReference/Application-targetFrameRate.html