【Unity3D小技巧】Unity3D中实现FPS数值显示功能实现

推荐阅读

大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。

一、前言

很简单也很使用的小技巧,就是在Unity3D中实现FPS数值。

实现的思路就是,在Update里面,使用+=Time.deltaTime,得到一帧的秒数。

然后,每过一秒,去除以固定帧率30帧,得到这一秒的FPS值。

二、正文

新建脚本,编辑代码,代码参考:

csharp 复制代码
using System.Collections.Generic;
using TMPro;
using UnityEngine;

public class FpsDisplay : MonoBehaviour
{
    [SerializeField]
    TextMeshProUGUI text = null;

    [SerializeField]
    float updateRate = 30f;

    float deltaTime;
    int fps;
    float lastUpdateTime;

    Dictionary<int, string> pool = new Dictionary<int, string>();

    private void Awake()
    {
        DontDestroyOnLoad(this);
    }

    void Update()
    {
        if (Time.timeScale.Equals(0f))
        {
            return;
        }

        deltaTime += (Time.deltaTime - deltaTime) * 0.1f;
        fps = Mathf.CeilToInt(1f / deltaTime);

        var time = Time.time;
        if (time - lastUpdateTime > 1f / updateRate)
        {
            lastUpdateTime = time;

            if (!pool.ContainsKey(fps))
            {
                pool.Add(fps, fps.ToString());
            }

            text.text = pool[fps];
        }
    }
}

新建个空对象,然后在空对象上,新建TextMeshPro放到角落里:

把组件都拖过去:

运行结果:

三、后记

如果觉得本篇文章有用别忘了点个关注,关注不迷路,持续分享更多Unity干货文章。


你的点赞就是对博主的支持,有问题记得留言:

博主主页有联系方式。

博主还有跟多宝藏文章等待你的发掘哦:

专栏 方向 简介
Unity3D开发小游戏 小游戏开发教程 分享一些使用Unity3D引擎开发的小游戏,分享一些制作小游戏的教程。
Unity3D从入门到进阶 入门 从自学Unity中获取灵感,总结从零开始学习Unity的路线,有C#和Unity的知识。
Unity3D之UGUI UGUI Unity的UI系统UGUI全解析,从UGUI的基础控件开始讲起,然后将UGUI的原理,UGUI的使用全面教学。
Unity3D之读取数据 文件读取 使用Unity3D读取txt文档、json文档、xml文档、csv文档、Excel文档。
Unity3D之数据集合 数据集合 数组集合:数组、List、字典、堆栈、链表等数据集合知识分享。
Unity3D之VR/AR(虚拟仿真)开发 虚拟仿真 总结博主工作常见的虚拟仿真需求进行案例讲解。
Unity3D之插件 插件 主要分享在Unity开发中用到的一些插件使用方法,插件介绍等
Unity3D之日常开发 日常记录 主要是博主日常开发中用到的,用到的方法技巧,开发思路,代码分享等
Unity3D之日常BUG 日常记录 记录在使用Unity3D编辑器开发项目过程中,遇到的BUG和坑,让后来人可以有些参考。
相关推荐
异次元的归来6 小时前
Unity DOTS中的Entity
unity·游戏引擎
向宇it6 小时前
【unity小技巧】Unity 四叉树算法实现空间分割、物体存储并进行查询和碰撞检测
开发语言·算法·游戏·unity·游戏引擎
小春熙子6 小时前
Unity图形学之灯光的原理
unity·游戏引擎·技术美术
誓约酱8 小时前
(动画)Qt控件 QLCDNumer
开发语言·c++·git·qt·编辑器
dangoxiba9 小时前
[Unity Demo]从零开始制作空洞骑士Hollow Knight第二十集:制作专门渲染HUD的相机HUD Camera和画布HUD Canvas
游戏·unity·c#·游戏引擎·playmaker
Spiffo_Sir10 小时前
【Spiffo】环境配置:VScode+Windows开发环境
vscode·编辑器
Gipsyz14 小时前
记录两次Unity编辑器和真机表现不符的情况,引用丢失等
编辑器
锅巴编程20 小时前
VsCode 插件推荐(个人常用)
ide·vscode·编辑器
做个爱笑的大男孩21 小时前
VScode clangd插件安装
ide·vscode·编辑器
虾球xz21 小时前
游戏引擎学习第20天
前端·学习·游戏引擎