Unity学习笔记(06):Camera摄像机、透视摄像机和正交摄像机、光源、烘培模式


九、Camera

什么是摄像机(Camera)

将3D世界拍摄出2D的画面 从而显示到屏幕上

摄像机的角度和位置不一样 就能拍出不同的画面

Camera节点能够拍摄正因为带有了Camera组件

clearFlags

clearFlags 屏幕上任何空的部分将显示当前相机的XXXX(以xxx为背景来绘制场景)

  • skybox即天空 屏幕上若没有物体 则看到天空
    摄像机内若没有任何物体 则绘制天空 当绘制出天空后 再绘制每一样物体
  • solid color即纯色背景
  • depth only即仅仅清除深度信息
  • don’t clear即不进行任何处理 没有背景

culling mask

culling mask即摄像机对哪些物体时 是可见的摄像机能够拍摄哪些物体
在这里插入图片描述
和layer有关:
layer也可以自己添加
在这里插入图片描述

Clipping Planes裁剪平面

摄像机能够拍摄到多远的距离
Near:最近距离
Far:最远距离
在这里插入图片描述

Viewport Rect

成像出的视窗大小
x和y是所处的位置的坐标轴
该属性通常用于多个摄像机 同时监视多个画面时
在这里插入图片描述
若都改成0.5 那么只有四分之一了
在这里插入图片描述
在这里插入图片描述

Depth

Depth是摄像机的顺序
若场景中有两个摄像机 这两个摄像机都会将各自的画面输出到屏幕上
那么 有个绘制的先后顺序 哪个先绘制 哪个后绘制

  • Depth大的 后绘制
  • Depth小的 先绘制
    在这里插入图片描述

Target Display渲染目标

为什么要有这么多Display

在这里插入图片描述
因为一台电脑可以接多台显示器 可以使用扩展将应用显示到多台显示器上
Target Display就是渲染目标 控制显示在哪台Display上
在这里插入图片描述

?透视摄像机和正交摄像机

用Projection属性来控制投射类型
在这里插入图片描述

  • Perspective透视投射 就是有个锥角来投射
    在这里插入图片描述
    同时会提供Field of View控制视角的角度
    在这里插入图片描述
    所展示的这个视角被称为视椎 在视椎外的场景不会被绘制
    该模式的特点是距离越近的宽度越宽 距离越远的宽度越窄 较为符合通常的摄像方式
  • Orthographic正交摄像机
    该模式下 拍摄角不是一个椎体了 而是一个立方体
    size在纵向(y)上一半的显示范围
    在这里插入图片描述
    在这里插入图片描述
    正交投射不会有远处窄近处宽的特点 不适合3D场景 但适合2D界面
    在这里插入图片描述

遮挡剔除

在绘制的时候 由于是按顺序绘制的 因此部分被遮挡了的物品是没必要被绘制的 这样可以提高性能
因此需要开启遮挡剔除:
(若勾选 则开启)
在这里插入图片描述
一个模型下有很多子节点 相当于零部件用于拼凑成完整的模型
遮挡剔除实际上是针对带有Mesh的子节点

因此 关卡中的几何体必须被分割成明显的不同尺寸的块 也有助于布置关卡中小块的容易定义的区域被其他大物体遮挡(例如墙壁和建筑物)
每个单独的Mesh被确定是否渲染 取决于Occlusion(包藏)数据
因此 若有一个物体包含了房间里的所有家具 那么所有家具要么全渲染 要么全不渲染 这是不妥当的 因此需要分开
是否渲染是基于组件而不是基于每个单独的物体自身的

十、光源

光源实际上也就是一个普通节点 只不过添加了Light组件
每种光都会有颜色 波及范围强度 这三个因素决定了一个光源

?Unity的光源:

  • 1、平行光源 - 模拟现实的太阳光
    有颜色和范围 强度 范围是全局的 强度都是一致的
  • 2、点光源 - 模拟现实的灯泡的光
    从一个点开始 光向四周四散 强度根据距离衰减 有一定的范围
  • 3、聚光灯 - 模拟现实的台灯
    光像一个椎体 光中有一个看不见的中间轴 越靠近中间轴则光强度越强
    在这里插入图片描述

?太阳光 / 平行光

光的颜色:可以自己调整
光的强度:世界里面所有的强度都一样
光的范围:整个世界
生活参照:太阳光

Type选择光源类型:
Directional平行光
在这里插入图片描述
Color设置光照颜色
在这里插入图片描述
Intensity设置光照强度
在这里插入图片描述
Shadow设置光照的阴影类型
阴影能够使图形效果更逼真 但性能也会损耗
在这里插入图片描述
Resolution设置阴影精度
阴影精度不高时 计算量也没那么大 因此性能会有所提升
在这里插入图片描述
Draw Halo设置是否显示光晕
在这里插入图片描述
在这里插入图片描述
Culling Mask设置哪些物体受光源所影响
在这里插入图片描述

?点光源

光源颜色:可以自由设置颜色
光源强度:从中心点开始向四周减弱
光源范围:球体范围内进行衰减 距离越近 强度越强
生活参照:普通灯泡
在这里插入图片描述
Range设置光照的衰减距离/波及范围(单位是半径)
在这里插入图片描述
同样也支持阴影Shadow
在这里插入图片描述
在这里插入图片描述

?聚光灯

光源颜色:可以自由设置颜色
光源强度:从中心轴开始 向四周减弱
光源范围:有特定的方向和范围 像是锥形
生活参照:聚光灯
在这里插入图片描述
Spot Angle设置灯光 "打开"的角度
在这里插入图片描述
还可以调整照射的角度:
在这里插入图片描述

?光源模式

在这里插入图片描述
光源模式分为三种:

  • 1、实时模式
    光照是实时计算的 可以不断变化
    但缺点是光照实时计算会比较耗费CPU
    因此 建议该实时的时候才实时
  • 2、烘培模式
    烘培模式的光照是预先计算好的 性能好 但是不能动态改变
    烘培步骤:
    • (1)场景中的3D物体设置为Lighting Static静态光照模式
      在这里插入图片描述
    • (2)将烘培的光源设置为Baked模式
      在这里插入图片描述
    • (3)打开Lighting窗口 在Scene下点击Build(5.6.0版本以前) 可以自动也可以点击Object maps然后取消Auto Generate 点击Generate Lighting按钮(在5.6.0版本)进行烘培
      Window -> lighting -> settings
      在这里插入图片描述
      烘培之后就会生成烘培数据 那么此时即使将光源隐藏 还是有灯光效果
      若要烘培阴影 比如物体的阴影落在平面上 那么此时平面也要设置为Lighting Static模式
      如果烘培了阴影 那么物体移动后 阴影还会再原地
      通常适用于不移动的游戏场景
  • 3、混合模式
    在这里插入图片描述
    若有另一个光是混合模式的 那么对于烘培的光源 也是能够将混合模式的光保存烘培的

Render设置渲染模式
若选择Important 则会对每个像素进行光照 那么光照的质量会更加好
若旋转Not Important 则会对每个顶点进行光照 那么光照的性能会更加好
若选择Auto 则自动选择

Cookie可以设置使用一个带Alpha通道的纹理来制作一个遮罩
从而使得光线在不同的地方具有不同的强度
在这里插入图片描述