Appearance
初识Main Camera

Unity 中的照相机 Camera 本质上不是“真实拍摄”,而是告诉引擎:从哪个位置、哪个角度、用什么规则,把 3D/2D 场景投影成一张 2D 画面。
核心原理
Camera 主要做三件事:
- 确定观察位置和方向 Camera 是一个 GameObject,所以它有
Transform:Position决定从哪里看,Rotation决定朝哪里看,Scale一般对 Camera 没什么实际意义。

- 决定能看到哪些东西 Camera 前方有一个可视区域,叫 视锥体 Frustum。 只有在这个范围内的物体才可能被渲染出来。
- 把 3D 世界投影到屏幕上 Unity 会把摄像机看到的 3D 坐标转换成屏幕上的 2D 像素,最后显示在 Game 窗口或设备屏幕上。
可以把它理解成:
场景中的物体
↓
摄像机视角筛选
↓
3D 坐标投影到 2D 屏幕
↓
渲染成最终画面常见参数


Field of View:视野角度 用于透视相机。数值越大,看到的范围越广,但边缘变形更明显,类似广角镜头。
Projection:投影方式 有两种:
Perspective:透视投影,近大远小,常用于 3D 游戏。Orthographic:正交投影,没有近大远小,常用于 2D 游戏、等距视角、UI 或策略游戏。
Clipping Planes:裁剪平面 包括:
Near:离摄像机太近的物体不显示。Far:离摄像机太远的物体不显示。
这两个值会影响性能和深度精度。Far 不要无脑设特别大。
Culling Mask:剔除遮罩 决定摄像机渲染哪些 Layer。 比如 UI 摄像机只渲染 UI 层,主摄像机只渲染场景层。
Depth:摄像机渲染顺序 当场景里有多个 Camera 时,Depth 值越大的越后渲染,会覆盖前面的画面。
Clear Flags / Background:清屏方式 决定摄像机开始渲染前,背景怎么处理。 常见有天空盒、纯色、保留上一帧等。
Viewport Rect:显示区域 决定 Camera 的画面显示在屏幕的哪一块。 可以用来做分屏游戏、小地图、画中画。
透视相机原理
透视相机类似人眼或真实相机:
近处物体大
远处物体小
平行线看起来会向远处汇聚适合:
- 第一人称游戏
- 第三人称游戏
- 3D 动作游戏
- 赛车、射击、冒险类游戏
正交相机原理
正交相机不考虑距离带来的缩放:
近处和远处大小一样
没有透视变形适合:
- 2D 游戏
- UI
- 地图
- 棋盘游戏
- 等距视角游戏
正交相机中最重要的参数是 Size,它控制摄像机垂直方向能看到多大的范围。
渲染过程简化理解
Unity 每一帧大概会这样工作:
- 找到场景中的 Camera。
- 根据 Camera 的位置和方向生成观察范围。
- 根据
Culling Mask和视锥体剔除不可见物体。 - 按材质、光照、Shader、深度等规则渲染物体。
- 应用后处理效果,例如泛光、景深、色彩调整。
- 输出到屏幕、Render Texture 或其他目标。
多个摄像机
Unity 可以同时使用多个 Camera,例如:
- 主摄像机:渲染游戏世界。
- UI 摄像机:单独渲染界面。
- 小地图摄像机:从上往下渲染地图。
- 武器摄像机:第一人称游戏中单独渲染手和武器。
- 监控屏摄像机:把画面渲染到一张 Render Texture 上。
一句话总结
Unity 的 Camera 就是场景的“观察者”和“渲染入口”:
它决定玩家从哪里看、看多远、看哪些层、用透视还是正交方式看,最后把三维世界变成屏幕上的二维画面。