読者です 読者をやめる 読者になる 読者になる

スマゲ

スマートなゲームづくりを目指して日々精進

UnityでFPSを求め、表示するコンポーネント

UnityでFPSを求める方法はいろいろな方が紹介していますが、Unityのプロジェクトを作成するたびに毎回その実装をするのは面倒なので、どんなプロジェクトにも簡単に導入できるようにコンポーネントとして切り出してみました。

■機能仕様
・0.5秒ごとにFPSを計算し、表示する
・ゲーム背景によってFPSが見えづらくならないように背景を表示する
・多くのUnityバージョンに対応するためOnGUIを利用する
・スクリーンの解像度に応じて表示するUIの大きさも可変する
・スクリーンの解像度が途中で変わっても、UIがそれに応じて可変する

■利用イメージ
f:id:sanukin39:20170513232350g:plain

■導入方法
1. 以下のGistにアクセスしてファイルをダウンロードする。
Simple FPS conter for Unity · GitHub
f:id:sanukin39:20170513232711p:plain

2. ダウンロードしたファイルを解答し、中にある[UniFPSCounter.cs]をUnityプロジェクトにインポートする(ドラック&ドロップで可能)
f:id:sanukin39:20170513233854p:plain

3. ゲームの起動シーンに空のゲームオブジェクトを作成しインポートしたスプライトをアタッチする
f:id:sanukin39:20170513233940p:plain

4. 以上!

■実装コード
0.5秒ごとに経過した時間と、その期間内のフレーム数をもとにFPSを求め表示しているだけです。
gist.github.com

■まとめ
よく使う機能はちょこちょこ切り出しておくと、毎回プロジェクトを作るときに時間短縮になっていいですね

■参考
Unityでフレームレート(fps)を取得する - TASOGARE GAMES BLOG
FramesPerSecond - Unify Community Wiki

■関連
UnityでのFPS設定まとめ - スマゲ