Birlik FPS Sayacı
video oyunlarında, saniyedeki kare sayısı (veya kısaca fps), bilgisayarın bir saniyede oluşturduğu kare sayısını temsil eden bir değerdir.
Saniyedeki kare sayısı harika bir performans göstergesidir ve optimizasyon süreci sırasında veya yalnızca oyunun ne kadar hızlı/akıcı çalıştığına dair geri bildirim almak için kullanılabilir.
Bu derste Unity'de oyununuza basit bir fps sayacını nasıl ekleyeceğinizi göstereceğim.
Adımlar
oyun'te fps'yi göstermek için, kareleri sayacak ve bunları ekranda gösterecek bir komut dosyası oluşturmamız gerekecek.
- yeni bir komut dosyası oluşturun, onu "SC_FPSCounter" olarak adlandırın ve içine aşağıdaki kodu yapıştırın:
SC_FPSCounter.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SC_FPSCounter : MonoBehaviour
{
/* Assign this script to any object in the Scene to display frames per second */
public float updateInterval = 0.5f; //How often should the number update
float accum = 0.0f;
int frames = 0;
float timeleft;
float fps;
GUIStyle textStyle = new GUIStyle();
// Use this for initialization
void Start()
{
timeleft = updateInterval;
textStyle.fontStyle = FontStyle.Bold;
textStyle.normal.textColor = Color.white;
}
// Update is called once per frame
void Update()
{
timeleft -= Time.deltaTime;
accum += Time.timeScale / Time.deltaTime;
++frames;
// Interval ended - update GUI text and start new interval
if (timeleft <= 0.0)
{
// display two fractional digits (f2 format)
fps = (accum / frames);
timeleft = updateInterval;
accum = 0.0f;
frames = 0;
}
}
void OnGUI()
{
//Display the fps and round to 2 decimals
GUI.Label(new Rect(5, 5, 100, 25), fps.ToString("F2") + "FPS", textStyle);
}
}
- SC_FPSCounter komut dosyasını Sahnedeki herhangi bir nesneye ekleyin ve Oynat'a basın:
Fps artık sol üst köşede görüntülenmelidir.