Compteur FPS d'unité

Dans les jeux vidéo, le nombre d'images par seconde (ou fps en abrégé) est une valeur qui représente le nombre d'images que l'ordinateur restitue en une seconde.

Le nombre d'images par seconde est un excellent indicateur de performance et peut être utilisé pendant le processus d'optimisation, ou simplement pour obtenir des commentaires sur la vitesse/ lisser les courses de jeu.

Dans ce didacticiel, je vais montrer comment ajouter un simple compteur de fps à votre jeu dans Unity.

Pas

Pour afficher les images par seconde dans le jeu, nous devrons créer un script qui comptera les images et les affichera à l'écran.

  • Créez un nouveau script, appelez-le "SC_FPSCounter" et collez-y le code ci-dessous:

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);
    }
}
  • Attachez le script SC_FPSCounter à n'importe quel objet de la scène et appuyez sur Lecture:

Images par seconde

Fps devrait maintenant être affiché dans le coin supérieur gauche.