unity 性能优化之遮挡剔除(Occlusion Culling)
2018-01-25 10:59
344 查看
1.当场景中包含大量模型时,造成渲染效率的降低(即帧速率FPS的降低),采用遮挡剔除技术,可以使得那些被阻挡的物体不被渲染提高渲染效率
2.原理:在场景空间中创建一个遮挡区域,该遮挡区域是有单元格(Cell)组成;每个单元格是构成整个场景遮挡区域的一部分,这些单元格会把整个场景拆分成多个部分,当摄像机能够看到该单元格时,表示该单元格的物体会被渲染出来,其他的不去渲染
3.遮挡剔除步骤:
(1)场景
(2)除了主角,摄像机,直线光,地面。把层级视图中的所有游戏对象标记为“遮挡静态”(Occluder Static/Occludee Static)
(3)执行菜单命令“Windows”—>“OcclusionCulling”,弹出“遮挡剔除”面板,单击下方的“Back”按钮,开始烘焙
(4)单击“遮挡剔除”(Occlusion)窗口的“Visualizatior”,运行程序
4.若场景中存在大量的小“物件”,使用“层消隐距离”来优化场景
(1):原理:较远距离将小物件剔除,减少绘图调用的数量
(2):方法:将小物件放入一个单独的层(Separate Layer)中,并使用Camera.main.layerCullDistances函数设置层的消隐距离
(3)例如:void Start(){
Float[] distances=newfloat[32];
//这里定义的数组下标“8”表明第8层
distances[8]=10;
Camera.main.layerCullDistances=distances;
}
当摄像机距离这些小物件超过10m的时候,就不可见了
渲染视野内的游戏物体 视野之外的不渲染
1.选中需要遮挡剔除的游戏物体
2.点击Static里面的Occlude Static
3.点击Window里面的Occlusion Culling
4.选择Occluder Static
然后点击Bake生成网格是用来遮挡剔除计算的
在视野内显示视野外不显示
添加新物体需要重新烘焙
5.选择主相机
4.选择Occluder Static
然后点击Bake生成网格是用来遮挡剔除计算的
在视野内显示视野外不显示
添加新物体需要重新烘焙
5.选择主相机
2.原理:在场景空间中创建一个遮挡区域,该遮挡区域是有单元格(Cell)组成;每个单元格是构成整个场景遮挡区域的一部分,这些单元格会把整个场景拆分成多个部分,当摄像机能够看到该单元格时,表示该单元格的物体会被渲染出来,其他的不去渲染
3.遮挡剔除步骤:
(1)场景
(2)除了主角,摄像机,直线光,地面。把层级视图中的所有游戏对象标记为“遮挡静态”(Occluder Static/Occludee Static)
(3)执行菜单命令“Windows”—>“OcclusionCulling”,弹出“遮挡剔除”面板,单击下方的“Back”按钮,开始烘焙
(4)单击“遮挡剔除”(Occlusion)窗口的“Visualizatior”,运行程序
4.若场景中存在大量的小“物件”,使用“层消隐距离”来优化场景
(1):原理:较远距离将小物件剔除,减少绘图调用的数量
(2):方法:将小物件放入一个单独的层(Separate Layer)中,并使用Camera.main.layerCullDistances函数设置层的消隐距离
(3)例如:void Start(){
Float[] distances=newfloat[32];
//这里定义的数组下标“8”表明第8层
distances[8]=10;
Camera.main.layerCullDistances=distances;
}
当摄像机距离这些小物件超过10m的时候,就不可见了
渲染视野内的游戏物体 视野之外的不渲染
1.选中需要遮挡剔除的游戏物体
2.点击Static里面的Occlude Static
3.点击Window里面的Occlusion Culling
4.选择Occluder Static
然后点击Bake生成网格是用来遮挡剔除计算的
在视野内显示视野外不显示
添加新物体需要重新烘焙
5.选择主相机
4.选择Occluder Static
然后点击Bake生成网格是用来遮挡剔除计算的
在视野内显示视野外不显示
添加新物体需要重新烘焙
5.选择主相机
相关文章推荐
- Unity优化之遮挡剔除Occlusion Culling
- unity GPU优化(Occlusion Culling遮挡剔除,LOD多细节层次,GI(Global Illumination)全局光照)
- unity中关于游戏场景的优化——遮挡剔除
- Unity优化之遮挡剔除Occlusion Culling
- Unity性能优化之Draw Call
- Unity 3d性能优化技巧
- Unity性能优化
- [Unity-13] Unity 3D 遮挡剔除(仅专业版) Occlusion Culling (Pro only)
- unity性能优化(二)
- Unity性能优化方法总结
- Unity性能优化(主要是内存的优化)
- Unity 性能优化 Draw Call
- unity性能优化小技巧
- Unity中使用Occlusion Culling进行遮罩剔除来实现场景优化
- 总结使用Unity 3D优化游戏运行性能的经验
- Unity 3D 性能优化(二)
- Unity+NGUI性能优化方法总结(转) ------2016.1.5
- Unity-性能优化
- unity项目优化-- 常规性能优化技巧