Unity 相机

相机属性优化

1.相机的Clear属性:
Skybo背景会渲染天空盒;
solid color背景为颜色;
depth only仅仅深度,至关于优先级;
Don`t Clear背景是上一帧的图像;
2.Projection投影方式:
Perspective透视模式,这里相机看到的和人眼相似,是一个由角度的视野范围,这个模式下相机会出现Filed of View,用于设置相机视野的角度;
Othographic正交模式,相机渲染平行区域,这里最佳例子是2D游戏的方式,这个模式下会出现Size属性,主要用于设置平行区域的大小。
3.Clipping Planes裁剪平面:
这里主要用于设置相机渲染世界区域的先后两个裁剪平面的位置。
4.Depth相机的深度:
这里至关于多个相机的渲染优先级,定义谁先渲染。
5.Viewport Rect:
用于设置裁剪区域的宽高和在屏幕上的偏移。默认状况下xy为0,hw为1恰好铺满整个屏幕。否者屏幕的其余区域均为黑色。spa

6.Rendering Path:
这里是相机的渲染路径,这里主要和shader一些特殊效果有关。
7.Target Texture目标贴图:
若是若是这里添加了Renderer Texture(渲染贴图),那么相机的得到的内容会渲染到Render Texture上,而不是屏幕上,能够新建一个材质,让材质的贴图为Render Texture,就能在使用该材质的物体上看到相机内容,可是还须要另外一个相机来渲染世界中的物体到屏幕上,用途如在场景中制做一个电视机来播放场景中另外一个地方发生的事。这个材质对UI一样有效,能够用来制做小地图。blog


8.Occlusion Culling遮挡剔除:
主要用于场景中的渲染优化,选择性的不渲染某些物体,提升机器速度。游戏

9.Allow HDR(Hight Dynamic Range):
相机将会识别更多的颜色,渲染将更真实。
10.Allow MSAA:
容许硬件抗锯齿。
11.Target Display:ip

这个属性能够用来设置分屏幕,实现两个硬件屏幕显示同一个场景中不一样的内容。get

 

相机的操做与应用io

1.遮挡剔除的操做渲染

要使用遮罩裁剪,首先要打开Occlusion Culling面板,在Windows->Occlusion Culling选项中。
00
将须要进行遮罩裁剪的场景物体进行设置,选中右上角Static中的Occluder Static和Occludee Static两个选项。硬件

01
随后在Occlusion面板中有三部份内容,分别是Object、Bake和Visualization。im

在Object选项中,咱们能够设置遮罩方式,通常使用默认设置便可,若是使用了Occlusion Areas,在场景中若是未对Area进行设置,则默认为Area是整个场景。

02
在Bake面板中,有三个选项,分别是Smallest Occluder、Smallest Hole和Backface Threshold。

Smallest Occluder能够设置可以遮挡其余物体的物体最小尺寸,当物体的长、宽、高中的某个尺寸大于这个最小尺寸时,即可以对后边的物体发生遮挡。

Smallest Hole能够设置相机经过最小间隙或孔洞能够看到以后的物体,当相机前方的物体间隙或孔洞小于最小值时,其后方的物体将可能不会进行渲染。

Backface Threshold能够设置物体的背面是否可见,当设置为100时,则全部物体的背面都是可见的,当小于100时,物体的背面将从Occlusion的数据集中删除,通常能够使用默认值100。

全部设置完成后,便可对当前场景进行渲染,点击Bake选项执行操做。

03
当完成Bake操做后,能够选择Visualization面板,在Scene中观察遮罩剔除的效果,若是不满意,能够从新设置选项中的值,并将原始的数据Clear掉,从新Bake便可。

若是在Bake时你选择了Occlusion Areas,须要对Areas进行大小设置,在设置完成后选择Bake,便会对所选区域进行Bake操做。


2.相机的渲染层次问题

通常状况下例如,可让一个相机渲染UI,另外一个相机专一在场景中的操做,UI相机的depth应该大于场景相机的depth,才能正确渲染UI,可是渲染UI的相机的clear tag须要设置为depth Only,不然将看不到场景相机的内容,由于在渲染上,天空和会被当作一个无限大的物体,所以会遮挡场景相机的内容,设置depth Only至关于裁剪掉对天空盒的渲染。
3.相机的同屏幕分屏问题

若是要将屏幕分割成左右两个部分,来实现两个玩家同时游戏,或者其余的应用,那么有两个方式:第一个是使用Render Texture,将其做用到左右两个UI上,让两个相机渲染到两个UI上;第二个方式是设置相机viewport Rect的属性,让两个相机分别使用屏幕的两个部分。

相关文章
相关标签/搜索