项目实训- 基于unity的2D多人乱斗闯关游戏设计与开发(小地图工作前期知识:摄像机)

一、前言

使用相机制作小地图时,发现Unity的Camera的投影(Projection)设置有如下两种,正交(Orthographic)和透视(Perspective)。

二、透视(Perspective)

在这里插入图片描述
透视模式下的话,摄像机是以一个角度(Field of View),扩散观察。被观察的物体会因离摄像机的远近,而导致最终显示在屏幕的大小位置不同。物体旋转会有离摄像机近的部位显示的偏大,远的部位偏小的效果(3D效果)。本项目暂未涉及,不详细写了。

三、正交(Orthographic)

在这里插入图片描述
摄像机是以一个固定的大小(Size),平行观察。被观察的物体不会因离摄像机的远近,而导致最终显示在屏幕的大小位置不同。物体旋转的话,在屏幕上的效果只会边长或变短,并不会有前大后小的效果(2D效果)
可以看到,修改size的值时,摄像机所看到的范围会发生变化
在这里插入图片描述
在这里插入图片描述size的值是正交摄像机高度的一半。当你拉伸屏幕窗口的时候,摄像机的高度不变,宽度改变。比如,我们Size设置的为7,表示屏幕的高度为14unit。

四、实际操作

通过如下代码放大缩小相机size

public void ChangeMapSize(float value)
    {
        mapSize += value;
        mapSize = Mathf.Clamp(mapSize, minSize, maxSize);
        minicamera.orthographicSize = mapSize;
    }

五、遇到的问题

做相关小地图之前,未了解相关摄像机分为正交透视两种,所以无论如何查找bug,仍然无法进行小地图缩小放大的修改,后来通过查找相关资料,了解到相机的Orthographic Size。接下来在2d下操作,多次测试修改camera_map的orthographic的size值,最终实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值