unity 遮挡剔除的实现

这篇具有很好参考价值的文章主要介绍了unity 遮挡剔除的实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

unity在渲染时,默认只是对模型进行视椎体剔除,也就是在相机显示范围内的物体进行剔除,而遮挡剔除则是,渲染物体被整个遮挡住后,将不参与此帧的渲染,unity虽然内置,但是不默认启用,需要我们进行一些操作,才能够实现当前的操作。

设置场景

对于静态的模型,我们需要设置其为static属性,最简单的方式。
unity 遮挡剔除的实现
或者,单独设置其的属性
unity 遮挡剔除的实现
Occluder Static 属于静态遮挡物体,设置后,客气遮挡其它物体
Occludee Static 属于静态被遮挡物体,设置后,可以被其它遮挡物体遮挡。

对于动态或者可移动的物体,如果需要被遮挡,那么需要在其Mesh Renderer 或者 Skinned Mesh Renderer上面设置即可
unity 遮挡剔除的实现
开启Dynamic Occlusion

对于动态加载的物体,要能够遮挡其它物体,需要挂载Occlusion Portal脚本进行实现
unity 遮挡剔除的实现
比如 门 那种入口处的,可以用这个实现,实现遮挡 需要将Occlusion Portal脚本的Open属性关闭。确保未将此游戏对象标记为 Occluder Static 或 Occludee Static

注意:

场景内元素设置好以后,需要再烘焙一次场景资源,才能够实现遮挡的效果。动态加载的物体也一样。
对于会移动的物体,遮挡效果不会起作用。有可能会出现视觉错误。

烘焙遮挡数据

unity 遮挡剔除的实现
可以在Window --Rendering–Occlusion Culling 打开遮挡剔除面板。
unity 遮挡剔除的实现
Object 为对象选择面板,在里面可以选择All 全部对象显示,Renderers 只显示带有渲染器的对象 Occlusion Areas 只显示创建的遮挡剔除区域。
随着你的选择,你的Hierarchy列表也会跟着变化。
下面也会显示你没有设置静态遮挡的渲染器。

unity 遮挡剔除的实现
Bake 列表是烘焙遮挡数据的一些配置项。
Smallest Occluder 可以遮挡其他游戏对象的最小游戏对象的大小(以米为单位)。通常,要使文件最小且烘焙时间最短,应选择在场景中产生良好结果的最大值。

Smallest Hole 摄像机可以看到的最小间隙的直径(以米为单位)。通常,要使文件最小且烘焙时间最短,应选择在场景中产生良好结果的最大值。

Backface Threshold 如果需要减小烘焙数据的大小,Unity 可以在烘焙时对场景进行采样,并排除场景中可见遮挡物几何体所含背面超过给定百分比的部分。背面百分比很高的区域可能在几何体的下方或内部,因此不太可能是在运行时摄像机所在的某个位置。默认值 100 表示绝不会从数据中删除区域。值越小,产生的文件就越小,但可能会导致视觉失真。

正常的操作就是,Smallest Occluder和Backface Threshold的值调小,Smallest Hole的往大调,一直调到不可以接受的值,再回调一下即可。这就是最适合当前场景的配置。
unity 遮挡剔除的实现
可视化,可以运行起来,然后选择Cameras,列表就会显示所有的相机,选择一个,就会发现窗口上有一个可视化配置,
unity 遮挡剔除的实现
选择Visualize选项,我们可以查看当前的剔除效果。
unity 遮挡剔除的实现
勾选Occlusion culling可以查看当前相机剔除了多少模型。

unity 遮挡剔除的实现
面板最下面就是清空烘焙的数据,以及重新烘焙。调整好之后,在未运行的状态下,点击Bake即可。文章来源地址https://www.toymoban.com/news/detail-404525.html

到了这里,关于unity 遮挡剔除的实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity Meta Quest MR 开发(四):使用 Scene API 和 Depth API 实现深度识别和环境遮挡

    此教程相关的详细教案,文档,思维导图和工程文件会放入 Spatial XR 社区 。这是一个高质量 XR 社区,博主目前在内担任 XR 开发的讲师。此外,该社区提供教程答疑、及时交流、进阶教程、外包、行业动态等服务。 社区链接: Spatial XR 高级社区(知识星球) Spatial XR 高级社区

    2024年02月20日
    浏览(43)
  • unity四叉树和视锥体剔除

    这个最好还是看代码,项目有注释放在这里: GetbadEarlyup/Quadtree-cone-scene: 这是一个unity四叉树场景视锥体剔除的Demo (github.com) https://github.com/GetbadEarlyup/Quadtree-cone-scene 国内地址: Quadtree-cone-scene: unity四叉树和视锥体剔除的一个示例项目 (gitee.com) https://gitee.com/dontgetupearly/Quadtre

    2024年02月08日
    浏览(34)
  • unity 性能优化之合批和剔除

    批次对渲染的性能影响是比较大的,批次过多会导致cpu提交的次数过多,导致每帧渲染时间过长,所以我们需要对其优化,减少Bathches数量和SetPassCall次数。 批次合并的方法有多种,下面一一列出: 将相同材质的Mesh,合并为一个新的Mesh,这样一次渲染,最方便调节,虽然现

    2024年02月15日
    浏览(38)
  • 自定义Collapse 折叠面板的下拉图标,以及切换数据渲染Collapse 时实现设置Collapse 默认全部关闭

    效果图: 1. 首先需要在折叠面板中绑定activeName,activeName用来装每个面板的唯一标识 2.在切换左侧规则时设置 activeNames 为空数组即可将全部的Collapse 设置为关闭状态 1.首先隐藏右侧的默认图标:审查元素可以看到右侧图标有自己的标签,直接隐藏掉(scoped下注意要用样式穿透

    2024年02月14日
    浏览(53)
  • 【Unity URP】2种描边方案:模板测试和正面剔除

    写在前面 风格化不像PBR,好像没有套路可言,,,简直是《怎么好看怎么来》的最大化实践了!感觉出的PBR+NPR也是为了更好地利用PBR资产才诞生的这样一个渲染方案。(当然我的评价非常非常的片面,瞎说的) 偶然间看到了b站一位大佬在blender里实现的效果(原链接【blen

    2024年02月02日
    浏览(44)
  • unity urp 实现丝绸渲染

    首先看一下实际上真实的效果 再来一张 这是专门去找的。 可以看到丝绸渲染使用了各向异性的GGX去实现,有点仿头发的感觉,接下来看一下怎么实现的。 首先,准备实现双向反射率分布函数(BRDF)的DVF项。 D项使用UE里面的各项异性GGX: V项使用配合D项的Vis_SmithJointAniso F项

    2024年02月10日
    浏览(39)
  • Unity实现GPU Cull渲染

    开放世界游戏中植被和物件的数量往往是巨大,  而传统组织大量植被渲染的方式是利用QuadTree/Octree/Kd-Tree等数据结构对植被Intance数据进行预先生成一个个Cluster,然后在运行时进行FrustumCull,收集可视的所有Cluster,最后进行DrawInstance. 这种方式往往存在两个缺点:  [1]Cluster粒度和

    2024年02月07日
    浏览(36)
  • Unity UI不被3D物体遮挡

    UI Shader: 用该Shader创建一个材质,将该材质挂到不被模型遮挡的UI上。 TextMeshPro 设置: 修改TextMesh Pro/Shaders/TMP_SDF.shader 修改如下:

    2024年02月07日
    浏览(55)
  • Unity 修改画面渲染顺序的几种实现方案

    首先看下Unity的渲染层级关系以及提供的各种默认渲染队列,然后再去看具体实现方案。 先按大项条件排序,后按小项条件排序 1.Camera Depth: 越小越优先 2.RenderQueue 2500以下           1. Sorting Layer/Order in Layer                           1. 按照Sorting Layer/Order in Laye

    2024年02月16日
    浏览(35)
  • 【unity shader】水体渲染基础-通过顶点偏移实现波浪

    为了表示宽广水域中的水体变化,往往需要进行水平面的整体运动变化。即对平面的顶点进行位移,以实现波浪的起伏效果。现在对于波浪的构成,如快速傅里叶变换和波浪的统计学理论,在游戏中的应用也相对完善。今天主要是做一个基础的波浪实现:正弦波形。 1.1. 基础

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包