Unity3D之2D摄像机与分辨率自适应

首先确认开发分辨率,以移动平台为例,主流的分辨率比例是16:9,暂定开发分辨率16:9,设置Orthographicz正交摄像机
Unity3D之2D摄像机与分辨率自适应_第1张图片
这里的size 的含义是屏幕的一般,也就是640/2=320,由于sprite默认的Pixels Per Unit设置的是100,所以 320/100=3.2

脚本代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Script_06_01 : MonoBehaviour {

	public Camera camera;

	void Update () 
	{
		float designWidth = 1136f;//开发时分辨率宽
		float designHeight = 640f;//开发时分辨率高
		float designOrthographicSize=3.2f;//开发时正交摄像机Size
		float designScale  =  designWidth/designHeight;
		float scaleRate  =  (float)Screen.width/(float)Screen.height;
		//当前分辨率大于开发分辨率,会自动缩放,小于的时候需要手动处理如下
		if(scaleRate<designScale)
		{
			float scale = scaleRate / designScale;
			camera.orthographicSize = 3.2f / scale;
		}else{
			camera.orthographicSize = 3.2f;
		}
	}

	void OnGUI()
	{
		GUILayout.Label (string.Format ("{0} X {1} ", Screen.width, Screen.height));
	}
}

你可能感兴趣的:(Unity3D,分辨率自适应)