Unity3D 帧数修改

Unity3D 帧数修改

1、在Quality(质量)设置里把帧数设定关闭Unity3D 帧数修改_第1张图片之后才能在代码中修改游戏运行的帧数

 

2、在Unity中新建脚本UpdateFrame.cs ,编写如下代码

复制代码
using UnityEngine;
using System.Collections;

/// <summary>
/// 功能:修改游戏FPS
/// </summary>
public class UpdateFrame : MonoBehaviour
{
    //游戏的FPS,可在属性窗口中修改
    public int targetFrameRate = 300;
    
    //当程序唤醒时
    void Awake ()
    {
        //修改当前的FPS
        Application.targetFrameRate = targetFrameRate;
    }
    
}
复制代码


3、把该代码及ShowFPS.js绑定在层次视图的任一GameObject上Unity3D 帧数修改_第2张图片,运行游戏,即可以Game视图中看到当前的FPS,同时可修改targetFrameRate变量来观看结果

ShowFPS.js代码

@script ExecuteInEditMode
 
private  var  gui : GUIText;
 
private  var  updateInterval = 1.0;
private  var  lastInterval : double ; // Last interval end time
private  var  frames = 0; // Frames over current interval
 
function Start()
{
     lastInterval = Time.realtimeSinceStartup;
     frames = 0;
}
 
function OnDisable ()
{
     if  (gui)
         DestroyImmediate (gui.gameObject);
}
 
function Update()
{
#if !UNITY_FLASH
     ++frames;
     var  timeNow = Time.realtimeSinceStartup;
     if  (timeNow > lastInterval + updateInterval)
     {
         if  (!gui)
         {
             var  go : GameObject = new  GameObject( "FPS Display" , GUIText);
             go.hideFlags = HideFlags.HideAndDontSave;
             go.transform.position = Vector3(0,0,0);
             gui = go.guiText;
             gui.pixelOffset = Vector2(5,55);
         }
         var  fps : float  = frames / (timeNow - lastInterval);
         var  ms : float  = 1000.0f / Mathf.Max (fps, 0.00001);
         gui.text = ms.ToString( "f1" ) + "ms "  + fps.ToString( "f2" ) + "FPS" ;
         frames = 0;
         lastInterval = timeNow;
     }
#endif
}

你可能感兴趣的:(Unity3D 帧数修改)