Unity —— Camera

本文详细解析Unity中摄像机组件的各个参数,包括ClearFlags、Background、CullingMask、Projection、ClippingPlanes、ViewportRect、Depth、RenderingPath等,帮助开发者理解如何控制摄像机的渲染行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实际开发工作中会遇到很多渲染相关的问题,今天学习一下Unity的一个重要组件摄像机
显示场景中,摄像机照射部分,是向玩家捕获和显示世界的设备
Unity5.6版本
1、Clear Flags: 清除标记,决定屏幕哪部分将被清除。有以下4中模式:

  • Skybox:天空盒。Camera的默认模式,在屏幕的空白部分将显示当前摄像机的天空盒,如果当前摄像机没有天空盒,会默认用Background色。
  • Solid Color:纯色。选择该模式屏幕上的空白部分将显示当前摄像机的background色。

Skybox,以及Solid Color在每一帧在绘制之前,先清空深度缓存和颜色缓存,然后与已有的天空盒信息或者固定的颜色信息做深度测试和颜色混合,得到结果放入帧缓存并呈现。

  • Depth only:仅清理深度信息。该模式用于游戏对象不希望被裁减。(某些情况下希望游戏对象无论如何都要渲染显示出来,就会采用这种方式)
    由于上一帧的缓存中深度缓存区被清理,那么新的信息就无法做深度测试,直接通过和颜色缓存区的颜色信息做颜色混合;然后放入缓存区并呈现。
  • Dont Clear: 不清除。该模式不清除任何颜色或深度缓存。其结果是,每一帧渲染的结果叠加在下一帧之上。一般与自定义的shader配合使用。

2、Background: 背景。设置背景颜色。在镜头中的所有元素渲染完成且没有指定skybox的情况下,将设 置的颜色应用到屏幕的空白处。
3、 Culling Mask: 剔除遮罩,选择所要显示的layer。
4、Projection: 投射方式。

  • Perspective:透视。摄像机将用透视的方式来渲染游戏对象。
    Field of view:视野范围。用于控制摄像机的视角宽度以及纵向的角度尺寸。
  • Orthographic:正交。摄像机将用无透视的方式来渲染游戏对象。
    Size:大小。用于控制正交模式摄像机的视口大小。

5、Clipping Planes: 剪裁平面。摄像机开始渲染与停止渲染之间的距离。

  • Near:近点。摄像机开始渲染的最近的点。
  • Far:远点。摄像机开始渲染的最远的点。

6、Viewport Rect: 标准视图矩形。用四个数值来控制摄像机的视图将绘制在屏幕的位置和大小,使用的是屏幕坐标系,数值在0~1之间。坐标系原点在左下角。
7、Depth: 深度。用于控制摄像机的渲染顺序,较大值的摄像机将被渲染在较小值的摄像机之上。
8、 Rendering Path: 渲染路径。用于指定摄像机的渲染方法。

  • Use Graphics Settings:使用Project Settings–>Player中的设置。
  • Forward:快速渲染。摄像机将所有游戏对象将按每种材质一个通道的方式来渲染。对于实时光影来说, Forward的消耗比Deferred更高,,但是Forward更加适合用于半烘焙半实时的项目。Forward解决了一个Deferred没能解决的问题.。那就是Deferred不能让Mixed模式的DirectionalLight将动态阴影投射在一个经过烘焙了的静态物体上。
  • Deferred:Unity5多了一种RenderingPath,可以取代过去的Legacy Deferred. 最大的特点是对于实时光影来说的性能消耗更低了,这个模式是最适合动态光影的。对于次时代PC或者主机游戏, 当然要选择这个。通过Viking Village以及”进化”这些最新游戏的观察我发现次时代游戏几乎不需要烘焙光照贴图了, 全都使用实时阴影是很好的选择.。通过阴影距离来控制性能消耗。而在Viking Village的场景中,由于整个场景全部使用了动态光源,Forward的Rendering方面的性能消耗要比Deferred高出一倍! 因此在完全使用动态光源的项目中千万不能使用Forward。
  • Legacy Vertex Lit:顶点光照。摄像机将对所有的游戏对象座位顶点光照对象来渲染。
  • Legacy Deferred:旧代延迟光照。摄像机先对所有游戏对象进行一次无光照渲染,用屏幕空间大小的Buffer保存几何体的深度、法线已经高光强度,生成的Buffer将用于计算光照,同时生成一张新的光照信息Buffer。最后所有的游戏对象会被再次渲染,渲染时叠加光照信息Buffer的内容。

9.、Target Texture: 目标纹理。用于将摄像机视图输出并渲染到屏幕。一般用于制作导航图或者画中画等效果。
**10、Occlusion Culling:**遮挡剔除

这些参数在实际游戏开发项目中会经常用到,本文转载自详情点击查看
参考链接-1
参考链接-2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值