Occlusion

1.视锥体剔除(Frustum Culling)
  根据摄像机的视见体的范围对场景模型进行剔除操作,在视见体以外的物体不被渲染,但是在视见体中的物体会以离摄像机最远的物体开始渲染,逐渐渲染靠近摄像机的物体。后渲染的物体会覆盖先前渲染的物体。
锥体剔除只剔除摄像机视角范围外的物体而对于被包含在视见体中的其他对象还是会进行渲染,即摄像机看不到的游戏对象也会进行渲染。
2.遮挡剔除(Occlusion Culling)
  剔除视见体以外的游戏对象,并且剔除视见体内被其他游戏对象所遮住的物体。

静态物体的遮挡剔除:

  将需要自动遮挡的对象勾选 为Occluder Static/Occludee Static,然后在 Occlusion 中进行简单的设置 Bake 即可。最后可以在 Visualization 模式下进行测试。

  

Occluder Static: 需要进行遮挡剔除操作的对象勾选;

Occludee Static: 进行遮挡剔除操作的对象为透明或半透明,以及那些不太可能遮挡其他物体的小物体。即能被其他物体遮挡而本身却不会遮挡到其他物体,这将有效减少计算量。

Smallest Occluder: 该值越小,烘焙的效果越好越精确

Smallest Hole: 最小的洞

Backface Threshold:

Visualization :形象化。在测遮挡剔除效果时选择此项(需要选择一个摄像机)

动态物体的遮挡剔除:

  1.为运动物体的运动范围添加遮挡区域 ,即添加组件 Occlusion Area 进行设置。

  2.将其他静态对象勾选为遮挡剔除静态物体,然后在 Occlution 窗口中进行设置烘焙即可

入口遮挡:

  为了创建可实时开启和关闭的遮挡。上面的静态、动态物体遮挡为引擎自动遮挡,而入口遮挡为人工控制的遮挡(脚本控制)。如下图:

  1.给门添加 Occlusion Portal 组件,不勾选 Open 属性。即门后的物体不渲染。

  2.Bake 其他静态物体

  3.添加脚本控制

/**
*
* 项目: 遮挡剔除
*
* 功能: Occlusion Portal 的简单应用
*
*/
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class OcclusionPortalPractice : MonoBehaviour
{
private OcclusionPortal _OcclusionPortal; //遮挡入口
private Renderer _Renderer; //渲染器
private void Start()
{
_OcclusionPortal = GetComponent<OcclusionPortal>();
_Renderer = GetComponent<Renderer>();
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
_OcclusionPortal.open = true; //渲染门后面的内容
_Renderer.enabled = false; //不渲染门
}
if (Input.GetKeyDown(KeyCode.D))
{
_OcclusionPortal.open = false; //不渲染门后面的内容
_Renderer.enabled = true; //渲染门
}
}
}

  

Occlusion(遮挡剔除)的更多相关文章

  1. Occlusion Culling遮挡剔除理解设置和地形优化应用

    这里使用的是unity5.5版本 具体解释网上都有,就不多说了,这里主要说明怎么使用,以及参数设置和实际注意点 在大场景地形的优化上,但也不是随便烘焙就能降低帧率的,必须结合实际情况来考虑,当然还有透 ...

  2. 遮挡剔除 Occlusion Culling(转)

    一.首先介绍下draw call(这个东西越少你的游戏跑的越快): 在游戏中每一个被展示的独立的部分都被放在了一个特别的包中,我们称之为“描绘指令”(draw call),然后这个包传递到3D部分在屏 ...

  3. Unity Occlusion Culling 遮挡剔除研究

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

  4. Unity3D-游戏场景优化之遮挡剔除(Occlusion Culling)的使用

    在大型3D游戏场景中,如何优化游戏性能是非常重要的一步.一般遮挡剔除是非常常用的.接下来我们看看如何使用遮挡剔除. 假设这是一个游戏场景. 下面这是相机的视口,相机的视觉是看不到很大立方体后面的那些小 ...

  5. Unity4.3 遮挡剔除:基本知识

    http://blogs.unity3d.com/2013/12/02/occlusion-culling-in-unity-4-3-the-basics/ 这篇博文由Umbra Software的J ...

  6. [WebGL入门]十九,遮挡剔除和深度測试

    注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:],另外.鄙人webgl研究还不够深入,一些专业词语,假设翻译有误.欢迎大家指 ...

  7. unity 的视锥剔除和遮挡剔除

    Regular frustum culling only renders objects within the camera’s view. This is automatic and always ...

  8. Unity性能优化-遮挡剔除

    1. Occlusion Culling-遮挡剔除的含义:没有在Camear视野范围内的游戏物体不进行渲染Render(默认情况下,Unity是会渲染所有GameObject,无论Camear是否看得 ...

  9. Unity5.X 编辑器介绍

      导航窗口中有一个 Add Asset Package 按钮,可以导入一些官方的资源包,例如Characters角色控制器   Windows → Layouts 可以更换窗口的摆放   常见视图 ...

  10. Occlusion Culling

    遮挡剔除 http://www.bjbkws.com/online/1092/ unity遮挡剔除(应用) http://www.unitymanual.com/thread-37302-1-1.ht ...

随机推荐

  1. 三步快速搭建Typora图床(SM.MS+PicGo)

    三步快速搭建Typora图床(基于SM.MS+PicGo) 前言 在有些同学使用Typora的过程中,会发现Typora不像Word一样,在文档脱离本机后依然正常显示图片,自己的tyopora文件在发 ...

  2. js将数组内属性值相同的项合并成二维数组

    var ary=[ {"RaDate":'2021-09-08',"Type":'Morning1','title':'测试1'}, {"RaDate ...

  3. NSSCTF_HUBUCTF的web部分题解

    checkin 题目: 主要是php弱比较和序列化知识点考察 <?php $username = "this_is_secret"; $password = "th ...

  4. 【转载】EXCEL VBA 工作簿(表)合并拆分

    一.合并工作簿 Sub 合并工作簿()    Application.ScreenUpdating = False     myfile = Dir(ThisWorkbook.Path & & ...

  5. [OpenCV实战]14 使用OpenCV实现单目标跟踪

    目录 1 背景 1.1 什么是目标跟踪 1.2 跟踪与检测 2 OpenCV的目标跟踪函数 2.1 函数调用 2.2 函数详解 2.3 综合评价 3 参考 在本教程中,我们将了解OpenCV 3中引入 ...

  6. CentOS7.6搭建Hadoop2.7.2运行环境-三节点集群模式

    一 环境准备 1.    准备机器 2.    修改静态IP 3.    修改主机名 4.    关闭防火墙 5.    创建普通用户hadoop 添加hadoop用户 [root@hadoop102 ...

  7. 前端向后端发送请求(FormData),你们不要吐槽我,有的时候我也不想写注释

    JSON对象转成formData对象,formData对象转成JSON 在向后端请求时,如果上传的数据里存在file文件对象,需要用到表单提交,这时候我们需要将JSON对象,转成formData对象, ...

  8. 作业详解及流程控制之for循环

    作业详解及流程控制之for循环 目录 作业详解及流程控制之for循环 一.作业详解 1.根据用户输入内容打印其权限 2.编写用户登录程序 4.猜年龄的游戏 二.流程控制之for循环 三.while循环 ...

  9. 行为型模式 - 命令模式Command

    模式的定义与特点 命令模式(Command Pattern),是将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化.命令模式是把发出命令的责任和执行命令的责任分割开,委派给不同的对象. ...

  10. 转载:SQL分页查询总结

    [转载]SQL分页查询总结 开发过程中经常遇到分页的需求,今天在此总结一下吧.    简单说来方法有两种,一种在源上控制,一种在端上控制.源上控制把分页逻辑放在SQL层:端上控制一次性获取所有数据,把 ...