转载自http://blog.csdn.net/Aries_H/article/details/52787286
将下面的脚本挂在camera上
----------
using UnityEngine;
using System.Collections;
public class ShowFPS_OnGUI : MonoBehaviour
{
public float fpsMeasuringDelta = 2.0f;
private float timePassed;
private int m_FrameCount = 0;
private float m_FPS = 0.0f;
private void Start()
{
timePassed = 0.0f;
}
private void Update()
{
m_FrameCount = m_FrameCount + 1;
timePassed = timePassed + Time.deltaTime;
if (timePassed > fpsMeasuringDelta)
{
m_FPS = m_FrameCount / timePassed; //是否需要乘以Time.timeScale 需要注意下
timePassed = 0.0f;
m_FrameCount = 0;
}
}
private void OnGUI()
{
GUIStyle bb = new GUIStyle();
bb.normal.background = null; //这是设置背景填充的
bb.normal.textColor = new Color(1.0f, 0.5f, 0.0f); //设置字体颜色的
bb.fontSize = 40; //当然,这是字体大小
//居中显示FPS
GUI.Label(new Rect((Screen.width/2)-40, 0, 200, 200), "FPS: " + m_FPS, bb);
}
}
设置Android屏幕分辨率的脚本
using UnityEngine;
using System.Collections;
public class CameraSetup : MonoBehaviour {
public int ScreenWid = 1280;
public int ScreenHei = 800;
private int scaleWidth ;
private int scaleHeight ;
// Use this for initialization
void Start () {
setDesignContentScale();
}
public void setDesignContentScale()
{
#if UNITY_ANDROID
//if(scaleWidth ==0 && scaleHeight ==0)
//{
int width = Screen.currentResolution.width;
int height = Screen.currentResolution.height;
int designWidth = ScreenWid;
int designHeight = ScreenHei;
float s1 = (float)designWidth / (float)designHeight;
float s2 = (float)width / (float)height;
if(s1 < s2) {
designWidth = (int)Mathf.FloorToInt(designHeight * s2);
} else if(s1 > s2) {
designHeight = (int)Mathf.FloorToInt(designWidth / s2);
}
float contentScale = (float)designWidth/(float)width;
if(contentScale < 1.0f) {
scaleWidth = designWidth;
scaleHeight = designHeight;
}
//}
if(scaleWidth >0 && scaleHeight >0)
{
if(scaleWidth % 2 == 0) {
scaleWidth += 1;
} else {
scaleWidth -= 1;
}
Screen.SetResolution(scaleWidth,scaleHeight,true);
}
#endif
}
void OnApplicationPause(bool paused)
{
if (paused) {
} else {
setDesignContentScale();
}
}
// Update is called once per frame
void Update () {
}
}
设置shader的最大全局分辨率脚本
using UnityEngine;
using System.Collections;
public class shaderLOD : MonoBehaviour {
//public GameObject waterObj;
//public GameObject waterObj2;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void OnGUI ()
{
if (GUI.Button(new Rect(60, 100, 200, 60), "Toggle Hight Quality Shader!"))
{
Shader.globalMaximumLOD = 300;
//waterObj.GetComponent<WaterSetup>().quality = WaterSetup.Quality.High;
//waterObj2.GetComponent<WaterSetup>().quality = WaterSetup.Quality.High;
}
//if (GUI.Button(new Rect(60, 200, 200, 60), "Toggle Med Quality Shader!"))
//{
// Shader.globalMaximumLOD = 250;
//}
if (GUI.Button(new Rect(60, 300, 200, 60), "Toggle Low Quality Shader!"))
{
Shader.globalMaximumLOD = 200;
}
}
}