Unity3D 帧数修改

Unity3D 帧数修改

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

 

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上,运行游戏,即可以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
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值