您的位置:首页 > 移动开发 > Unity3D

Unity中的Camera

2015-09-21 10:03 931 查看
Main Camera

场景被创建出来时自带的camera,一个场景可以有多个camera,但是Main Camera只能有一个,一旦Main Camera被删除,不能再通过其他途径生成。

Camera
Camera是一个设备,玩家通过它看世界。

Clear Flags 清除标识

我们所看到的游戏画面,其实是摄像机拍摄下来的画面,通过渲染呈现出来的,当对摄像机进行渲染时,需要对摄像机所拍摄下来的所有物体进行处理,如果物体间存在相互遮挡,或者拍摄的位置没有物体时,需要人为进行清除或者添加。它有如下四种清除标识的方法。

(1)Skybox 天空盒

[align=left] 天空盒通过六个面的盒子包裹在摄像机周围,当摄像机拍摄方向上不存在物体时,渲染包裹着它的天空盒,当射线机照射到的地方存在物体,则渲染这个物体。[/align]

(2)Solid Color 纯色
屏幕上的任何空的部分将显示当前相机的背景颜色。

(3)Depth Only 仅深度

[align=left] 当场景内存在多个摄像机,通过设置摄像机的Depth来实现多个摄像机之间的切换,Depth值越大,越优先显示,也可以通过仅深,将多个摄像机拍摄到的画面,放到同一个画面当中。[/align]

(4)Don't Clear 不清除

该模式不清除任何颜色或深度缓存。之前每一帧所有的颜色或深度缓存将会留在屏幕中,运行时,屏幕中会产生之前帧的残影。

Culling Mask

遮挡Layer,摄像机culling mask默认是everything,如果你不想在摄像机中渲染某些物体,通过改变物体所在的Layer,让摄像机不去渲染这个层就不会在屏幕中显示该物体。

Prohection

perspective 透视图,锥形,用于3D
orthographic 正视图,长方体形,用于2D;

Clipping Planes 裁剪平面

摄像机near(最近)显示距离和far(最远)显示距离。

Viewport Rect

设置摄像机在屏幕中大小,可以实现分屏效果。

Rendering Path渲染路径

根据你的游戏选择不同的渲染路径。

Deferred Shading延迟渲染
延时光照是有着最高保真度的光照和阴影的渲染路径。如果你有很多实时灯光,最好是使用延时光照。 它需要一定水平的硬件支持,仅在 Unity Pro可用,移动设备上不支持。

Forward Rendering 正向渲染
正向渲染一个基于着色器的渲染路径。它支持逐像素计算光照(包括法线贴图和灯光Cookies)和来自一个平行光的实时阴影。在默认设置中,少数最亮的灯光在逐像素计算光照模式下渲染。其余的灯光计算对象顶点的光照。

Vertex Lit 顶点光照
顶点光照(Vertex Lit) 是最低保真度的光照、不支持实时阴影的渲染路径。最好是用于旧机器或受限制的移动平台上。

Occlusion Culling遮挡剔除

http://game.ceeger.com/Manual/OcclusionCulling.html
(待定)
遮挡剔除, 当一个物体被其他物体遮挡住而不在摄像机的可视范围内时不对其进行渲染。.遮挡剔除在3D图形计算中并不是自动进行的。因为在绝大多数情况下离 camera 最远的物体首先被渲染,靠近摄像机的物体后渲染并覆盖先前渲染的物体(这被称为重复渲染"overdraw"). 遮挡剔除不同于视锥体剔除. 视锥体剔除只是不渲染摄像机视角范围外的物体而对于被其他物体遮挡但依然在视角范围内的物体,则不会被剔除. 注意当你使用遮挡剔除时你依然受益于视锥体剔除(Frustum Culling).
遮挡剔除的运行将通过在场景中使用一个虚拟的摄像机来创建一个物体潜在可视性状态(set)的层级。 这些数据可以实时让每个摄像机来确定什么能看见什么看不见。通过这些数据,Unity 将确定只把可以看见的物体送去渲染。这将降低 绘制调用(draw calls) 的数量并增加 游戏的运行效率。
遮挡剔除的数据由单元格(cells)组成, 每个单元格是在整个场景的包围体积的一部分,单元格来自一个二叉树( binary tree),遮挡剔除使用两棵树, 一个给 View Cells (静态物体) ,另一个给 Target Cells (移动物体)。 View Cells 映射到一个定义静态可视物体的索引列表 (精确剔除后的静态物体)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: