对于unity3d camera渲染不显示的情况,现在来详细的讲解一下,正如电影中的镜头用来将故事呈现给观众一样,Unity的相机用来将游戏世界呈现给玩家。你始终至少有一个相机在场景中,你也可以有多个。多相机可以给你一个双人分屏效果或创建高级的自定义效果。你可以让相机动起来,或用物理(组件)控制它们。几乎你能想到的任何事,都可以用相机变成可能,而且为了适合你的游戏风格,你可以用典型的或特殊的相机类型。

摄像机

相机是为玩家捕捉和显示世界的一种装置。通过定制和操作相机,可以让你的游戏外观与众不同。在一个场景中你可以有数量不限的相机。它们可以被设置为以任何顺序来渲染,在屏幕上的任何地方来渲染,或仅仅渲染屏幕的一部分。

属性

  • ·Clear Flags 清除标记
  • 决定屏幕的哪部分将被清除。当使用多个相机来描绘不同的游戏景象时,利用它是非常方便的 

  • ·Background 背景
  • 在镜头中的所有元素描绘完成且没有天空盒的情况下,将选中的颜色应用到剩余的屏幕 

  • ·Culling Mask 剔除遮罩
  • 包含或忽略相机渲染对象层。在检视视图中为你的对象指派层 

  • ·rojection 投射
  • 切换摄像机的模拟透视功能 

  • ·--> Perspective 透视
  • 相机将用完全透视的方式来渲染对象。 

  • ·--> Orthographic 正交
  • 相机将用没有透视感的方式均匀地渲染对象 

  • ·Size 大小
  • 当设置了正交时摄像机的视口大小。 

  • ·Field of view 视野范围
  • 相机的视角宽度,以及纵向的角度尺寸。 

  • ·Clipping Planes 剪裁平面
  • 从相机到开始渲染和停止渲染之间的距离。 

  • ·--> Near 近点
  • 开始描绘的相对于相机最近的点。 

  • ·--> Far 远点
  • 开始描绘的相对于相机最远的点。 

  • ·归一化视口矩形
  • 用四个数值来表示这个相机的视图将绘制在屏幕的什么地方,使用屏幕坐标系(值0-1)。 

  • ·--> X
  • 相机视图将进行绘制的水平位置的起点 

  • ·--> Y
  • 相机视图将进行绘制的垂直位置的起点 

  • ·--> W (Width) 宽度
  • 相机输出到屏幕上的宽度

  • ·--> H (Height) 高度 

  • ·相机输出到屏幕上的高度

  • ·Depth 深度
  • 绘图顺序中的相机位置,具有较大值的相机将被绘制在具有较小值的相机的上面 

  • ·Rendering Path 渲染路径 
  • 该选项定义相机将要使用的渲染方法 

  • ·--> Use Player Settings
  •      使用播放器设置 
  • 该相机将使用任意一个播放器设置中所设置的渲染路径

  • ·--> Vertex Lit 顶点光照
  • 本相机对所有对象的渲染会作为顶点光照对象来渲染 

  • ·--> Forward 快速渲染
  • 所有对象将按每种材质一个通道的方式来渲染,如同在Unity2.x中的标准 

  • ·--> Deferred Lighting 延迟照明
  • 所有对象将无照明绘制一次,然后所有对象的照明将一起在渲染队列的末尾被渲染。 

  • ·Target Texture 目标纹理
  • (Unity Pro/Advanced only)
  • 请参考Render Texture,该页包含了相机视图的输出。这个引用属性将禁用相机渲染到屏幕的功能。 


细节

相机对于将你的游戏显示给玩家是必不可少的。它们可以被定制、被脚本化、或被子类化以实现几乎任何可以想象的效果。对于一个益智游戏,你要保持相机处于静态显示全部视角。对于第一人称射击游戏,你应该将相机作为玩家角色的子对象,并将其放置在与角色的眼睛等高水平上。对于一个赛车游戏,你可能更希望让相机跟随玩家的车辆。

你可以创建多个相机并且给每一个分配不同的深度。相机是按深度从低到高来绘制的,换言之,一个深度为2的相机将绘制在一个深度为1的相机之上。你可以调整标准视口矩形(参照前面的属性列表)的属性值来改变其大小和其在屏幕上的位置。这样你就可以创建多个小视窗,如导弹控制器,小地图窗口,后视镜等等。