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. 软件开发架构、构架趋势、OSI七层协议

    目录 软件开发架构 构架总结 网络编程前戏 OSI七层协议简介 OSI七层协议值之物理连接层 OSI七层协议之数据链层 网络相关专业名词 OSI七层协议之网络层 IP协议: IP地址特征: IP地址分 ...

  2. 判断条件为NULL

    在ASCII码表里NULL的二进制位0.所以NULL作为判断条件时,表示为假的意思. ASCII表               二进制                       字符         ...

  3. [论文总结] kmeans聚类和WGCNA

    kmeans聚类和WGCNA 文章目录 kmeans聚类和WGCNA 论文1 论文2 论文3 总结 总结了3篇论文中kmeans聚类和WGCNA的运用. 论文1 Comprehensive disse ...

  4. 实现简单的csv文件上传和bootstrap表格的下载

    一.写一个简单的页面并发送文件 引入bootstrap.js,jQuery.js等,具体的网页就不细写了,很简单. 加入input框,button控件,进度条.如下: <li class=&qu ...

  5. [WPF]项目整合Metro和MaterialDesignInXamlToolkit UI框架

    项目地址 MapApps:Metro MaterialDesignInXamlToolkit:MaterialDesignInXamlToolkit MapApps官网:官网链接 官方整合文档 官方提 ...

  6. [C#]关于override和new在重写方法时的区别

    规则: 在"运行时"遇到虚方法时,对象会调用虚成员派生得最远的.重写的实现. 如果是用new修饰符实现的方法,它会在基类面前隐藏派生类重新声明的成员,这时候会找到使用new修饰符的 ...

  7. 算法学习笔记(3): 倍增与ST算法

    倍增 目录 倍增 查找 洛谷P2249 重点 变式练习 快速幂 ST表 扩展 - 运算 扩展 - 区间 变式答案 倍增,字面意思即"成倍增长" 他与二分十分类似,都是基于" ...

  8. py教学 之字符串处理·····

    访问字符串中的值 Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用. Python 访问子字符串,可以使用方括号 [] 来截取字符串,字符串的截取的语法格式如下: 变量 ...

  9. C++Vector源码解析(侯捷STL)

    vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新的元素.vector的实现技术,关键在于对大小的控制以及重新配置时的数据移动效率. 一.vector的数据结构 vector采 ...

  10. 自定义alert弹框,去掉IP以及端口号提示

    最新版例子~~  如果同时多个弹框,只显示第一个 <!DOCTYPE html> <html lang="en"> <head> <met ...