我是靠谱客的博主 动人冰棍,最近开发中收集的这篇文章主要介绍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大小所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部