【100个 Unity小知识点】☀️ | Unity中显示运行时游戏帧率的方法 矫情吗;* 2022-09-17 04:20 281阅读 0赞 ## Unity 小科普 ## 老规矩,先介绍一下**Unity**的科普小知识: * **Unity**是 实时3D互动内容创作和运营平台 。 * 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助**Unity**将创意变成现实。 * **Unity** 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。 * 也可以简单把 **Unity** 理解为一个游戏引擎,可以用来专业制作游戏! -------------------- ## Unity小知识点学习 ## ## Unity中显示运行时游戏的帧率 ## `帧率`在一个游戏中的作用举足轻重,`帧率`能体现一个游戏运行的是否流畅 * 帧率 = 某段时间内的总帧数 / 某段时间 * 帧率 = 1帧 / 运行一帧所需要的时间 简而言之就是在一秒钟内运行的总帧数,就称为`帧率` 现在的电脑、手机和游戏中都有帧率这一说,帧率越高内容越丝滑,所以高帧率一直深受人们喜欢 Unity中的帧率有以下几种方法查看: #### 第一种, 在Game视图中点击Stats按钮,即可查看游戏帧率 #### ![在这里插入图片描述][834e042edc7a48dfb12dd0c7b2615247.png] #### 第二种,使用代码:FPS=1 / Time.deltaTime #### 将以下代码放到Update中即可, float FPS = 1 / Time.deltaTime; 效果如下 ![请添加图片描述][b94027148ffc40a38c05eb752a150b63.gif] #### 第三种,使用代码:FPS = 某段时间内的总帧数 / 某段时间 #### public Text FPS_Text; private float m_LastUpdateShowTime = 0f; //上一次更新帧率的时间; private float m_UpdateShowDeltaTime = 0.2f;//更新帧率的时间间隔; private int m_FrameUpdate = 0;//帧数; private float m_FPS = 0;//帧率 private void Start() { m_LastUpdateShowTime = Time.realtimeSinceStartup; } private void Update() { m_FrameUpdate++; if (Time.realtimeSinceStartup - m_LastUpdateShowTime >= m_UpdateShowDeltaTime) { //FPS = 某段时间内的总帧数 / 某段时间 m_FPS = m_FrameUpdate / (Time.realtimeSinceStartup - m_LastUpdateShowTime); m_FrameUpdate = 0; m_LastUpdateShowTime = Time.realtimeSinceStartup; FPS_Text.text = (1 / Time.deltaTime).ToString(); } } 这段代码的含义就是用 某段时间内的总帧数 / 某段时间来计算出帧率,顺便还可以加一个更新帧率的时间间隔 上述代码也可以写成这样: public Text FPS_Text; private float m_UpdateShowDeltaTime;//更新帧率的时间间隔; private int m_FrameUpdate = 0;//帧数; private float m_FPS = 0;//帧率 private void Update() { m_FrameUpdate++; m_UpdateShowDeltaTime += Time.deltaTime; if (m_UpdateShowDeltaTime>=0.2) { m_FPS = m_FrameUpdate / m_UpdateShowDeltaTime; m_UpdateShowDeltaTime = 0; m_FrameUpdate = 0; FPS_Text.text = m_FPS.ToString(); } } 效果如下,每0.5秒更新一下帧率显示 ![请添加图片描述][72b16104cc484d0a9741c9e26d68f9d4.gif] -------------------- ![请添加图片描述][3688e131a1c34c9f9836d8c0dd8af4b3.gif_pic_center] [834e042edc7a48dfb12dd0c7b2615247.png]: /images/20220828/263ac8244e664d53adea77c670fa5925.png [b94027148ffc40a38c05eb752a150b63.gif]: /images/20220828/ff9eb2d4f9a74a858607a9b9b35a12bc.png [72b16104cc484d0a9741c9e26d68f9d4.gif]: /images/20220828/d50b6d3b342646a0aeaa004afae85be4.png [3688e131a1c34c9f9836d8c0dd8af4b3.gif_pic_center]: /images/20220828/9524e43e118b44749b99d288148e4609.png
还没有评论,来说两句吧...