Unity中的Camera
2015-09-21 10:03
931 查看
Main Camera
场景被创建出来时自带的camera,一个场景可以有多个camera,但是Main Camera只能有一个,一旦Main Camera被删除,不能再通过其他途径生成。
Camera
Camera是一个设备,玩家通过它看世界。
Clear Flags 清除标识
我们所看到的游戏画面,其实是摄像机拍摄下来的画面,通过渲染呈现出来的,当对摄像机进行渲染时,需要对摄像机所拍摄下来的所有物体进行处理,如果物体间存在相互遮挡,或者拍摄的位置没有物体时,需要人为进行清除或者添加。它有如下四种清除标识的方法。
(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 映射到一个定义静态可视物体的索引列表 (精确剔除后的静态物体)。
场景被创建出来时自带的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 映射到一个定义静态可视物体的索引列表 (精确剔除后的静态物体)。
相关文章推荐
- unity3d手游《熊出没森林保卫战》手游源码
- Unity3D光照贴图烘焙知识详解
- Git Community Book 中文版
- unity3d实现场景截图
- Unity热更新专题(九)Unity热更新实例
- Unity 游戏皇家消消乐Android版
- 深入浅出聊Unity3D项目优化:从Draw Calls到GC
- unity, Invoke延迟执行
- unity3d模仿魔兽世界鼠标对游戏操作
- unity UGUI text font size对性能影响较大
- unity3d实现动态显示伤害值
- Unity UGUI鼠标穿透UI问题(Unity官方的解决方法)
- Unity3D游戏开发Mecanim动画系统讲解
- Unity3D:内存优化
- Unity3D:Texture图片空间和内存占用分析
- Unity3D:图形渲染优化、渲染管线优化、图形性能优化
- Unity5打包Assetbundle 出错 `System.IO.File' does not contain a definition for `ReadAllBytes'
- [Android交互]Android与Unity的交互
- Unity热更新专题(八)uLua示例Demo简析及SimpleFramework工作流程
- unity3d动画系统(5.0以上版本,资源在51kaifa.com中下载)