——个人笔记
unity的ui自适应,但是游戏物体(指的是2D3D的物体)的适应呢?unity会自动帮我们处理,不过他处理的方式是,保证高度能全部看到,而裁剪宽度。如果我们要保持宽度都能看到那么往下看,不需要则直接继续开干!
那么写一个脚本,有一个公式实际视口=初始视口*初始宽高比/实际宽高比
这个只对orthographic
的投射有效。(透视摄像机就没办法)
创建一个脚本:
using UnityEngine;
public class CamearAdaptation : MonoBehaviour
{
public float initOrthoSize;
public float initWidth;
public float initHeight;
float factWidth;
float factHeight;
void Start ()
{
factWidth = Screen.width;
factHeight = Screen.height;
//实际正交视口 = 初始正交视口 * 初始宽高比 / 实际宽高比
GetComponent<Camera>().orthographicSize = (initOrthoSize * (initWidth / initHeight)) / (factWidth / factHeight);
}
}