AIプログラム

FPSを表示するプログラム

FPSはFrames Per Secondの略で、ゲームが滑らかに動くかどうかの指標です。

1秒間に何枚の静止画が表示されるかの指標です。

  • 滑らかな動き:60FPS以上
  • 滑らかな動き:40~60FPS
  • カクカクした動き:20FPS以下

10FPS以下ぐらいになると、キーボードやマウスの操作がままならなくなります。

 

自分で作成したゲームが、異なる環境で実行すると、どの程度のFPSであるかを表示するプログラムを作りました。

ここでは、主にGitHub Copilotで作ったプログラム(GameManager)を説明しています。

 

プログラム以外の部分、FpsTextの作り方や、GameManagerにFpsTextをアタッチするところなどは、簡単な説明に留めています。

そのため、Unityの全くの初心者には「???」となると思いますが、FPSプログラムの大体の感じはつかめると思います。

 

 

Unityの学習リソース

FpsTextの作り方やアタッチ方法については、以下の学習リソースがオススメです。

Textの画面配置やアタッチとは何かとかが、しっかりと理解できます。

  • アタッチって何?

 

 

Unity Play

Unity Playは、Unityで開発したゲームを公開・共有できるWebサービスです。

今回作成したプログラムはUnity Playに公開しています。

ご自身のPC環境でどの程度のFPS値になるかをチェックしてみてください。

Unity Play
Unity Play:画面クリックで拡大表示

 

[プレイ]ボタンをクリックすると動きます。

  • フルスクリーン表示(全画面表示)にすると、FPSが見えます

ワールド中を動き回るときは、一旦画面をマウスクリックしてください。

  • 一旦画面をクリック
  • カメラ移動:WASDキー もしくは 矢印キー
  • カメラ回転:マウス

 

 

FpsTextの作成

ヒエラルキー

  1. SampleSceneにCanvasとTextを設置します
  2. TextをFpsTextとリネームします

インスペクター

  1. Canvas内でのTextの位置を指定
  2. フォントサイズ、色などを指定
  3. テキストの内容を記述(FPS : 100)
FpsText
FpsText:画像クリックで拡大表示

 

 

 

GameManagerの作成

GitHub Copilotへのプロンプト

今回のプログラムは、どんな感じなるか分かっていたので、プロンプト※も簡単でした。

以下、今回のプロンプト

  • テキスト表示のための名前空間
  • FPSテキストを表示するための変数
    • FPS更新間隔
  • timer
    • タイマー更新
  • updateInterval時間経過したらFPS更新
  • FPSを小数点以下を四捨五入して計算
    • FPSテキスト更新
    • タイマーリセット

プロンプト( ● )を入力すると、プロンプト( ○ )はCopilotから提案してきます。

プロンプトを入力するで、コードはほぼ自動で出来上がります。

※プロンプト:生成AI(GitHub Copilot)に入力する日本文(英文)のこと。呪文と呼ばれることもある。

 

GameManager.cs

以下、Copilotがプロンプトから生成したプログラム(GameManager.cs)

GameManager.cs
GameManager.cs

 

 

GameManagerのアタッチ

アタッチ(Attach)の一般的な意味は、「関連付ける」とか「装着する」などです。

  • アタッチ:関連付ける、装着する、など

Unityにおけるアタッチは、コンポーネントをゲームオブジェクトに追加することです。

今回は、以下のアタッチが必要です。

  • GameManagerにGameManager.csをアタッチ
  • GameManager.csのFpsTextに、CanvasにあるFpsTextをアタッチ

 

GameManager-Attach

GameManager-Attach:画面クリックで拡大表示

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です