ue3d在Unity中实现遮挡剔除

在Unity中实现遮挡剔除

分类:
ue3d - 在Unity中实现遮挡剔除

在 Unity 中渲染 3D 视图时,游戏场景中不可见的对象通常在浪费资源,通常优化这类情况,需要使用遮挡剔除,主要将摄像机不可见之外的对象删除,达到减少内存的目的。

从下面的 Unity 场景可以从顶视图看到该场景内的对象组成结构,一般情况下这种渲染会占用大量的内存,说白了就是因为场景资产太多。

ue3d - 在Unity中实现遮挡剔除

因此我们需要通过遮挡剔除技术来优化我们的场景,在开头提到遮挡剔除会将摄像机不可见之外的对象进行删除,这过程是真的删除不是隐藏!因此这些对象是不会参与渲染。

既然要将摄像机之外的对象进行删除,那么须先告诉系统希望被剔除的对象是谁?

那么…

在 Unity 中被剔除的对象仅支持静态网格,不支持动态网格,因为涉及到烘焙。

咋们这个例子是 HDRP 专有内容,因此需要确保安装了高清渲染管道,如果不确定如何进行此设置,可以查看一下3D天堂网站内文章。

具体步骤

1. 选择被剔除的静态网格右上角的 Static(静态)菜单并启用 occluder static 和 occludee static。

ue3d - 在Unity中实现遮挡剔除

2. 然后从 Win 菜单 Rendering(渲染)选项,打开 Occlusion Culling(遮挡剔除)。

ue3d - 在Unity中实现遮挡剔除

3. 选择 Occlusion 下烘焙选项卡,其他参数不用动,直接点击底部的烘焙按钮,等待提示完成。

ue3d - 在Unity中实现遮挡剔除

最终效果

烘焙之后,就可以在视口中通过转动摄像机看到剔除的效果了,在摄像机视口内的则显示,视角之外的则自动删除,类似在上下左右加了四个“刀片”。

ue3d - 在Unity中实现遮挡剔除

相关信息

  • 类型:知识
  • 字数:446
  • 字符:1092
  • 适用软件:Unity
  • 说明:无
  • 编号:97578

热门内容

提示:3D天堂作为服务提供者,尊重网络版权及知识产权,对某些行为的发生不具备充分的监控能力,若无意间侵犯到您的权利,请 联系我们,我们会在收到信息后尽快给予处理。

本站文章版权归本站自创作者所有,未经允许不得转载!