我正在测试Unity 6 URP的外景地形和建筑的GPU遮挡剔除功能。我的设置包括: * URP(Universal Render Pipeline) * GPU Resident Drawer:Instanced Drawing * GPU Occlusion Culling:启用 * Camera Occlusion Culling:启用 * 建筑使用标准的MeshRenderer和URP/Lit材料 * GPU Resident Drawer剔除统计信息:启用 当建筑物可见时,调试器报告: * 摄像机可见实例:20 * 摄像机可见原理图:386,360 当我下坡时,地形完全遮挡所有建筑物,调试器仍然报告: * 摄像机可见实例:20 * 摄像机可见原理图:386,360 光照视图中的数字下降,但摄像机视图中的数字保持不变。正常的游戏统计窗口也保持在大致: * 三角形:1.47百万 * 顶点:2.73百万 * 绘制调用:428 我理解这些通用统计包括地形、阴影、深度通道、骨骼网格和非GRD渲染。然而,我期望专门的摄像机可见原理图值在建筑物完全被遮挡时会下降。在渲染调试器的遮挡剔除事件部分,我只看到: * OccluderUpdate Occluder Version 0 Occluder Version 1 可见和被剔除的列包含横线。没有单独的遮挡测试事件。我启用了遮挡测试覆盖层,在游戏视图中出现了红橙色调试可视化,表明某些遮挡系统正在运行。我还启用了: * Override Occlusion Test To Always Pass 但摄像机可见原理图的数量没有改变。 我还测试了使用一个大透明立方体代替地形,结果相同。性能目前似乎正常—the实际URP渲染成本仅约为1.5毫秒—but我想确认遮挡功能在扩大场景之前是正常工作的。是否有人在Unity 6 URP中看到过这种行为?摄像机可见原理图保持不变是正常的,还是这表明遮挡纹理正在生成但建筑实例从未实际被剔除?
Unity 6 URP GPU Occlusion Culling似乎是活跃的,但隐藏建筑永远不会被裁剪
评论 (0)