我是靠谱客的博主 动人冰棍,这篇文章主要介绍Unity中非等比例修改CameraFOV大小,现在分享给大家,希望可以做个参考。

最近公司在进行unity中项目的时候,有一个需求就是将Unity进行分屏操作,而由于我们的最终显示设备需要2560*720的分辨率,导致使用正常的VR插件会使得场景中物体拉长,显示不正常.

最终试了很多种方法后,发现Unity自带了一个改变camera的FOV的api:Camera.projectionMatrix,其使用的参数是一个4*4的矩阵,对矩阵进行变换即可对camera的FOV进行操作,而非在edictor中直接进行FOV的缩放,Edictor中FOV的数值更改是等比的.以下为示例代码.

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

public class PhantaCameraRenderer : MonoBehaviour
{
    void Awake ()
    {
        Camera[] cams = GetComponentsInChildren<Camera>();
        foreach (Camera cam in cams)
            cam.projectionMatrix = cam.projectionMatrix * Matrix4x4.Scale(new Vector3(0.5f, 1, 1));
    }
}

效果是将显示出的东西进行左右的压缩,效果如下图

最后

以上就是动人冰棍最近收集整理的关于Unity中非等比例修改CameraFOV大小的全部内容,更多相关Unity中非等比例修改CameraFOV大小内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部