unity3d 代码修改帧数 quality需要改什么意思

如题所述

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

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

}

温馨提示:内容为网友见解,仅供参考
无其他回答

unity3d 代码修改帧数 quality需要改什么意思
1、在Quality(质量)设置里把帧数设定关闭,之后才能在代码中修改游戏运行的帧数 2、在Unity中新建脚本UpdateFrame.cs ,编写如下代码 using UnityEngine;using System.Collections;\/\/\/ \/\/\/ 功能:修改游戏FPS\/\/\/ public class UpdateFrame : MonoBehaviour{\/\/游戏的FPS,可在属性窗口中修改public int tar...

开发一款游戏需要什么软件?
它最大的价值就是可以使开发人员的一套代码在不需要改动程序的情况下编译运行在不同设备平台上(改动不超过20%)。目前数位红及其他公司已经使用它开发游戏超过了30款。 引擎提供了非常完善的9个模块与3个增强模块,可以完全满足各类游戏开发的需要。游戏引擎可以直接嵌入到开发者的程序中,不需要额外的支持程序即可使所...

相似回答