和小伙伴们一起学Unity3D(七)摄像机

        “名媛不过各种鸡,千古风流一相机”,冠希哥用身体告诉我们,要泡妞,必须懂摄影!身为IT男屌丝,你可以不会GUI,不会移动,不会刚体,但,摄像机,你绝对值得学习,不为别的,只为拍下擦肩而过的女神大哭

        本节案例:极品飞车后视镜

        在Unity3D中,相机(Camera)是向玩家捕获和显示世界的设备。通过自定义和操纵摄像机,你可以使你的游戏表现得真正独特。和拍摄爱情动作片一样,在场景中摄像机的数量不受限制。他们可以以任何顺序设定放置在屏幕上的任何地方,或在屏幕的某些部分。创建多个摄像机时,每一个分配到不同的深度。相机从低深度到高深度进行绘制。换句话说,深度为2的摄像机将会绘制在深度为1的相机的上面。(深度为2的相机会在深度为1的相机绘制后绘制。)

        首先我们先来了解一下摄像机的各项参数

        

        Clear Flags:清除标志

        和我们的眼睛一样,每个摄像机在渲染场景时都会存储颜色和深度的信息,不绘制在屏幕的部分(眼睛看不到的地方)是空的,并且默认情况下会显示天空盒。

                Skybox:这是默认设置。屏幕上的任何空的部分将显示当前相机的天空盒。如果当前的相机没有设置天空盒,它会默认在渲染设置(Render Settings )选择天空盒                     (在 Edit->Render Settings可以找到)。并且它将会变回背景色。

                Soild Color:任何空部分,屏幕显示为当前相机的背景色。

                Depth Only :可以理解为相机仅仅是拍张它所看到的图片给你。如果你想绘制一个玩家的枪,又不让它内部环境被裁剪,你会设置深度为0的相机绘制环境,和另一个                 深度为1的相机单独绘制武器。武器相机的清除标志(Clear Flags )应设置 为depth only。

                Don't Clear:此模式不清除颜色或深度缓存。每一帧在下一帧结束后绘制,看上去像是涂抹(smear-looking)的效果。这在游戏中不常用,最好是在自定义着色器                    (custom shader)上使用。(博主没用过,官方解释)

        Culling Mask:消隐遮罩是利用层选择性地渲染组对象。这个大家在选择Nothing和Everything之后运行一下就明白了。

        Projection:摄像机观察场景的视角,默认状态是成锥形的(透视),还有一个选项是Orthographic( 正交),它使相机的视角编程矩形,这样,就不会出现角度不同造成         偏差,比如一个木桶,在透视状态下,相机的边缘,木桶的上方会成椭圆形,而正交状态则不会出现这种情况。

        Field of view :相机的视野

        Clipping Planes和Normalized View Port Rect属性实际上就是调整我们的视野,大家可以选中摄像机,拉近,然后调整里面的参数就可以很清晰的认识了。

        Depth:摄像机的深度,具有较低深度的相机将在较高深度的相机之前渲染。 用过PS的可以理解为层。

        下面的3个选项在用到的时候我会再向大家介绍(其实是博主没用过,不要打脸)


         接下来博主以极品飞车后视镜为例加深大家对摄像机的认识

         首先,新建一个工程,在场景中添加1个摄像机,一个Cube和一个Sphere(加上主摄像机一共2个摄像机),为了区分,我们将Main Camera的背景设为白色,位置如                下:

         

         这时如果运行的话,在Game视图是只能看到球的,选中副摄像机Camera,调整Normalized View Port Rect的参数,这是Game视图就可以看到住摄像机拍摄的画面了

         

         这里需要注意的是主相机的深度为-1,副相机的深度为0,所以副相机拍的东西才会在主相机之前,那么可以可以同时看到2个摄像机拍摄的画面呢?这里当然是可以,调整副相机的Normalized View Port Rect为默认,将深度数值大的相机设置的Clear Flags属性设置为Depth Only,来束平行光点亮世界:

         

         可以看到两个摄像机拍摄的画面同时显示在了屏幕,好了,今天就写到这,项目没什么东西就不上传了,有需要的可以留邮箱(好奇怪,怎么像黄图哥- -)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值