原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/youxikaifa/2019/0102/299.html
常州网页开发游戏开发-Unity3D设置帧率和显示FPS脚本
对于一些PC端的FPS游戏来说,游戏帧率跑得越高越好,FPS跑得越高游戏就越流畅,但是在手机端就不行了,游戏帧率过高,会导致CPU和GPU负荷增大,这样手机就会发热过大,影响游戏体验。在大多数情况下,30-60帧的范围就足够了,下面就来看看手机App外包设置帧率和显示FPS脚本的实现方法。
1、Unity3D设置帧率FPS的方法
3.5以后的版本,可以直接设置Application.targetFrameRate。直接修改脚本就可以了。
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
void Awake() {
Application.targetFrameRate = 60;
}
}
默认参数为-1,这个时候所有平台中游戏都会尽可能快地渲染,在WEB平台上最高是50~60帧,当然要你的游戏能达到这个帧率才行。
需要注意的是在Edit/Project Setting/QualitySettings下,若vsync被设置了,则targetFrameRate设置的将无效。两者是冲突关系。
2、App开发培训显示FPS脚本
/// <summary>
/// Set FPS
/// this script use to set FPS if platform is mobile
/// </summary>
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class ShowFPS : MonoBehaviour {
public int fpsTarget;
public float updateInterval = 0.5f;
private float lastInterval;
private int frames = 0;
private float fps;
void Start()
{
//设置帧率
Application.targetFrameRate = 10;
lastInterval = Time.realtimeSinceStartup;
frames = 0;
}
// Update is called once per frame
void Update()
{
++frames;
float timeNow = Time.realtimeSinceStartup;
if (timeNow >= lastInterval + updateInterval)
{
fps = frames / (timeNow - lastInterval);
frames = 0;
lastInterval = timeNow;
}
}
void OnGUI()
{
GUI.Label(new Rect(200, 40, 100, 30), fps.ToString());
}
}
上篇:上一篇:常州手机游戏开发-Unity3D新脚本自动元信息
下篇:下一篇:常州手游开发-U3D Coroutine内部机理