遮挡剔除

  • 1.遮挡剔除简述
    • 2.遮挡剔除使用方法
      • 动态遮挡剔除

1.遮挡剔除简述

遮挡剔除的作用:可以降低被渲染对象的个数,降低渲染时间。
原理:避免对因为完全被其他物体挡住而不可见的物体的渲染。

2.遮挡剔除使用方法

Unity主要是用于静态遮挡剔除,但可以对动态物体进行遮挡剔除。
使用遮挡剔除主要有:
1.开启Occlusion Culling窗口,选中物体若为被遮挡物则在Static中设置为Occludee Static ,若为遮挡物在Static中设置为Occluder Static。

遮挡物
理想的遮挡物应该是实心的,体积较大的物体。

原则1:可能阻挡到其它对象的对象才应该被设置为遮挡物。一些远景物体不要设置成遮挡物,否则很可能会导致剔除数据成倍增长以及运行时剔除查询效率降低。另外半透明的物体也不应设置为遮挡物。

原则2:对于某些带类似小孔的物体(例如网,树叶茂盛的树木),可以不将其设置为遮挡物,这样可以避免得到不正确的结果。(smallest
hole参数可以处理这种情况但是其值不宜设得太小)

被遮挡物
通过勾选一个对象的Occludee Static(如上图)可将其设置为静态被遮挡物。

理想的被遮挡物应该是体积较小的,这样它被完全遮挡到的情况才会比较多,因此做遮挡剔除查询才比较有意义。但是如果将对象拆分得过小,也会导致遮挡剔除性能下降。

较大的物体不宜设成被遮挡物(例如在3dMax里合并了之后再倒入到Unity编辑器),但是请注意到被U3D做batch之后渲染的多个mesh在做遮挡剔除时还是会针对单个mesh分别进行,所以不受影响。

bake(烘焙)
在Occlusion窗口的Bake页面进行对场景的遮挡剔除数据的烘培

Smallest Hole 场景中有带孔的物体需要能被视线穿透,其设置小孔的直径(尽量大)。在0.05~0.50间
Smallest Occluder场景内最小遮挡物的尺寸,比player高度略大 ,一般在2~6。
Backface threshold 减少剔除数据的大小,设置不当可能导致出错,因此,暂时请保持默认值100不变。

Occlusion Culling:
用于观察遮挡剔除的效果。

动态遮挡剔除

动态遮挡剔除只用于被遮挡物,当要确定动态游戏对象是否充当被遮挡物,可以在任何类型的渲染器组件上设置 Dynamic Occlusion 属性。

启用 Dynamic Occlusion 后,渲染器在摄像机的视图中被静态遮挡物 (Static Occluder) 阻挡时,Unity会剔除渲染器。
禁用 Dynamic Occlusion 后,渲染器在摄像机的视图中被静态遮挡物 (Static Occluder)阻挡时,Unity 不会剔除渲染器。 默认情况下会启用Dynamic Occlusion。为了获得特定的效果,例如在墙后的角色周围绘制轮廓,可能需要禁用 Dynamic Occlusion。 如果确定 Unity 绝对不应该将遮挡剔除应用于特定的游戏对象,则可以禁用 Dynamic Occlusion 以减少运行时计算并降低 CPU使用率。 虽然这些计算对每个游戏对象的影响很小,但如果规模足够大,减少这些计算可能有利于提高性能。

Unity-遮挡剔除相关推荐

  1. Unity - 遮挡剔除(Occlusion Culling)优化

    遮挡剔除对概念   很多童鞋的Unity作品完成后,发现场景卡的要死,尽管在模型阶段采用了很多优化建模方法,但还是卡顿.电脑端都这么卡,发布到移动端就更不用说了.遇到这种情况,很多童鞋急得团团转,不知 ...

  2. Unity Occlusion Culling 遮挡剔除研究

    本文章由cartzhang编写,转载请注明出处. 所有权利保留.  文章链接:http://blog.csdn.net/cartzhang/article/details/52684127  作者:c ...

  3. Unity 3D 遮挡剔除(仅专业版) Occlusion Culling (Pro only)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Occl ...

  4. Unity(四十六):遮挡剔除

    原理 游戏中的元素非常多,但是摄像机能看到的内容是有限的,并且有些元素会被另外一些元素挡住,例如城墙一类的,城墙后面的元素就会被它挡住.如果不进行处理的话,这些元素也会带来一定的开销,此时可以使用遮挡 ...

  5. unity学习——遮挡剔除

    unity学习--遮挡剔除 基本概念: "遮挡剔除"过程可防止 Unity 为那些被其他游戏对象完全挡住(遮挡)的游戏对象执行渲染计算. 说白了就是如果摄像机看不见的物体,我就不用 ...

  6. unity 性能优化之遮挡剔除(Occlusion Culling) 官方版

    遮挡剔除 (Occlusion Culling) 功能可在对象因被其他物体遮挡,当前在相机中无法看到时,禁用对象渲染.该功能不会在三维计算机图形中自动开启,因为在大部分情况下,离相机最远的对象最先渲染 ...

  7. Unity - 搬砖日志 - Occlusion Culling 关闭动态遮挡剔除 Renderer.allowOcclusionWhenDynamic = false

    文章目录 CullDynamicObjectsWithUmbra 消耗 如何禁止 动态对象的遮挡剔除的消耗 写工具来遍历 Renderer.allowOcclusionWhenDynamic = fa ...

  8. Unity优化之遮挡剔除Occlusion Culling

    遮挡剔除, 当一个物体被其他物体遮挡住而不在摄像机的可视范围内时不对其进行渲染..遮挡剔除在3D图形计算中并不是自动进行的.因为在绝大多数情况下离 camera 最远的物体首先被渲染,靠近摄像机的物体 ...

  9. Unity最全渲染优化(LOD、遮挡剔除、光照贴图、Mash合并)

    LOD技术 1.创建空物体,添加组件Lod Group 2.把不同细节的模型分别拖入到相对应的LOD0.LOD1.LOD2中去 3.调节每个区间的大小,测试 遮挡剔除 概念:只渲染那些在视野内的游戏物 ...

  10. unity 性能优化之遮挡剔除(Occlusion Culling)

    1.当场景中包含大量模型时,造成渲染效率的降低(即帧速率FPS的降低),采用遮挡剔除技术,可以使得那些被阻挡的物体不被渲染提高渲染效率 2.原理:在场景空间中创建一个遮挡区域,该遮挡区域是有单元格(C ...

最新文章

  1. linux中的网络配置
  2. 题解 UVA1555 【Garland】(二分)
  3. socket接收的消息怎么更新到页面_spring boot 集成 websocket 实现消息主动
  4. 阅读《Oracle内核技术揭秘》的读书笔记
  5. Linux-Rsync项目实战(详细) 备份全网服务器数据生产架构方案
  6. 顺丰同城宣布苏炳添出任首位品牌代言人
  7. 获取vue一个对象的所有属性_VUE中computed计算属性和data数据获取的问题
  8. MySql实战篇:写一个简单的存储过程,完成订单定时任务
  9. 数学建模算法与应用 数理统计
  10. 易语言c编译,易语言命令行编译工具免费版下载_易语言命令行编译工具最新版下载_3DM软件...
  11. Linux合入patch命令,Linux下Patch命令用来打补丁和卸载补丁
  12. 计算机辅助故障树分析法,非常实用的工具和方法:故障树分析法(FTA)
  13. 为什么学计算机容易秃顶,为什么程序员更容易脱发?知道答案惊呆了!
  14. 国外广告联盟骗局汇总(持续更新中)
  15. EMUI10安装java_速升级!荣耀Play推EMUI 9.1正式版更新:方舟编译器和EROFS系统来了 - IT之家...
  16. 股债收益模型 量化实战篇(一)
  17. 在线公开课 | 5G时代的视频云服务关键技术与实践
  18. clang vectorization
  19. 分分钟上手C#的委托和事件
  20. 如何开发一个水果识别,水果识别系统,蔬菜识别系统,果蔬识别系统毕业设计毕设作品

热门文章

  1. SOEN 287: Web Programming
  2. “视”不可挡:征兵招警,近视手术成“通关法宝”
  3. 谢烟客---------Linux之 sed工具使用
  4. java实现短视频拍摄_短视频 SDK 6大功能技术实现方式详解
  5. 2019 / 3 /24 触摸屏键盘的功能实现
  6. 成功解决xgboost\core.py:614: UserWarning: Use subset (sliced data) of np.ndarray is not recommended beca
  7. Python3 requests模拟登录天善智能!
  8. 复合梯形公式C语言程序,求运用c++来实现复合梯形公式的代码
  9. 李欣桐 计算机竞赛,思维角逐 以赛促学 ——记义乌枫叶小学部第四届计算“小能手”比赛...
  10. 中国工商银行上海市分行-存量房交易服务平台