Unity中实现垂直角度的相机在不同分辨率下的适配
Posted Hello Bug.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity中实现垂直角度的相机在不同分辨率下的适配相关的知识,希望对你有一定的参考价值。
一:透视相机
透视相机的视野范围是一个锥体,虽然可以控制Field of View大小去调整视野范围,但会影响画面效果,所以使用调整相机的高度的方式去适配
using UnityEngine;
/// <summary>
/// 透视相机分辨率适配(只适用于垂直角度的相机)
/// </summary>
public class CameraAdaption_perspective : MonoBehaviour
{
[Header("初始屏幕宽度")]
public float initWidth;
[Header("初始屏幕高度")]
public float initHeight;
[Header("初始相机高度")]
public float initCameraHeight;
private void Awake()
{
float v = (initWidth / initHeight) / (Screen.width * 1f / Screen.height);
transform.position = new Vector3(transform.position.x, initCameraHeight * v, transform.position.z);
}
}
二:正交相机
using UnityEngine;
/// <summary>
/// 正交相机分辨率适配(只适用于垂直角度的相机)
/// </summary>
public class CameraAdaption_orthographic : MonoBehaviour
{
[Header("初始屏幕宽度")]
public float initWidth;
[Header("初始屏幕高度")]
public float initHeight;
[Header("初始视野大小")]
public float initOrthographicSize;
private void Awake()
{
float v = (initWidth / initHeight) / (Screen.width * 1f / Screen.height);
GetComponent<Camera>().orthographicSize = initOrthographicSize * v;
}
}
以上是关于Unity中实现垂直角度的相机在不同分辨率下的适配的主要内容,如果未能解决你的问题,请参考以下文章