Лічильник Unity FPS

У відеоіграх кадри за секунду (або скорочено кадри в секунду) — це значення, яке представляє кількість кадрів, які комп’ютер відтворює за одну секунду.

Кількість кадрів за секунду є чудовим показником продуктивності, і його можна використовувати під час оптимізації процесу або просто для отримання відгуку про швидкість/плавність роботи гри.

У цьому посібнику я покажу, як додати простий лічильник кадрів в секунду до вашої гри в Unity.

Кроки

Щоб показувати кадри в секунду в грі, нам потрібно буде створити скрипт, який буде рахувати кадри і показувати їх на екрані.

  • Створіть новий сценарій, назвіть його "SC_FPSCounter" і вставте в нього наведений нижче код:

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 до будь-якого об’єкта в Сцені та натисніть «Відтворити»:

Кадров за секунду

Fps тепер має відображатися у верхньому лівому куті.

Рекомендовані статті
Скрипт для створення вимикача світла в Unity
2D колекціонування монет в Unity
Zone Controller Pro - пакет Unity Asset Store
Як використовувати нову систему водопостачання HDRP в Unity
FPC Swimmer - всеосяжний ресурс Unity для занурення у воду
Ultimate Spawner 2.0 – ресурс, що змінює гру
Сценарій вигляду миші для Unity