Contatore FPS Unity

Nei videogiochi, frame al secondo (o fps in breve) è un valore che rappresenta il numero di frame che il computer esegue il rendering in un secondo.

I fotogrammi al secondo sono un ottimo indicatore delle prestazioni e possono essere utilizzati durante il processo di ottimizzazione o semplicemente per ottenere un feedback sulla velocità/ liscio il gioco funziona.

In questo tutorial, mostrerò come aggiungere un semplice contatore di fps al tuo gioco in Unity.

Passi

Per mostrare gli fps nel gioco, dovremo creare uno script che conterà i fotogrammi e li mostrerà sullo schermo.

  • Crea un nuovo script, chiamalo "SC_FPSCounter" e incolla il codice sottostante al suo interno:

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);
    }
}
  • Allega lo script SC_FPSCounter a qualsiasi oggetto nella scena e premi Riproduci:

Fotogrammi al secondo

Fps dovrebbe ora essere visualizzato nell'angolo in alto a sinistra.

Articoli suggeriti
Zone Controller Pro - Pacchetto Unity Asset Store
Script per creare un interruttore della luce in Unity
Collezione di monete 2D in unità
Come utilizzare il nuovo sistema idrico HDRP in Unity
Una risorsa unitaria completa per ambienti acquatici immersivi
Una risorsa rivoluzionaria
Script per l'aspetto del mouse per Unity