Unity FPS-Zähler
In Videospielen ist Frames pro Sekunde (oder kurz fps) ein Wert, der die Anzahl der Frames angibt, die der Computer in einer Sekunde rendert.
Frames pro Sekunde ist ein großartiger Indikator für die Leistung und kann während des Optimierungsprozesses verwendet werden oder einfach, um Feedback darüber zu erhalten, wie schnell/flüssig das Spiel läuft.
In diesem Tutorial zeige ich, wie Sie in Unity einen einfachen FPS-Zähler zu Ihrem Spiel hinzufügen.
Schritte
Um FPS im -Spiel anzuzeigen, müssen wir ein Skript erstellen, das Frames zählt und sie auf dem Bildschirm anzeigt.
- Erstellen ein neues Skript, nennen Sie es "SC_FPSCounter" und fügen Sie den folgenden Code darin ein:
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);
}
}
- Hängen Sie das SC_FPSCounter-Skript an ein beliebiges Objekt in der Szene an und drücken Sie „Play“:
Fps sollten jetzt in der oberen linken Ecke angezeigt werden.