在 Unity 6 中使用APV为您的世界创建全局照明的新方法(一)

devtools/2024/12/22 23:23:14/

Unity 6 中推出的新照明功能让您能够更快速、更高效的完成对烘焙场景的照明工作,在本文中我们将与大家详细分享在 Unity 6 中应用自适应探针卷创建快速全局光照的更多细节与具体应用方法。由于内容比较丰富,我们将把内容分为三篇文章,以便大家更好阅读。

通过Unity 6中全新且强大的灯光烘焙架构 ,以及使用自适应探针卷(APV)创作灯光探针点亮环境的创新方法,您将享受到更简化的灯光创作流程。这将大大增强视觉效果,同时确保运行时的高性能。

1ac02ec22f6f4b0bf97b283a1ae37a47.jpeg

用全球照明点亮您的世界

如果您以前使用过预计算的照明数据,就会知道这个过程有多繁琐。光贴图的预计算过程可能需要很长时间;光贴图UV 需要编写,需要放置探针以便正确照亮动态对象,还需要处理大型纹理,这可能会给应用程序的运行内存带来沉重负担。

在Unity 6中,添加了一种新方法,让您可以通过自适应探针卷(APV)创建更高质量的光线探针照明环境,并对光线烘焙后台进行了基础性改进,以提高稳定性。

Adaptive Probe Volume(自适应探针体积)

自适应探针卷是一组光探针,Unity 会根据场景中的几何体密度自动放置这些探针,以建立烘焙的间接照明。

3e2376663a2ccd38ec67e8b6822505a0.jpeg

自适应探针卷会自动填充由 "砖块 "组成的三维结构。每块砖包含 64 个光探针,按 4 × 4 × 4 的网格排列。

由于 APV 具有自适应特性,它将在几何体较多的区域生成更密集的探针,而在物体密度较低的区域(如场景背景)则生成较少的探针。

自适应探针卷还为您提供了一整套强大的功能,用于创建美观的照明环境。

  • 为探针放置工作流程提供更简单的工作流程,为基于探针的间接漫射照明提供更快的迭代速度 。

  • APV每像素照明的质量比 Light Probe Groups高得多,方向性也比 Lightmaps好,因此整体照明质量极佳。

  • 与大气效果无缝集成,使 HDRP 中的体积雾和URP和HDRP中的 VFX 图形粒子等效果在间接光照下更加美观。

  • 通过天空遮蔽和照明场景,可实现视觉效果极佳的照明过渡,适用于实现日间光照和灯光开/关的情况。

  • 根据您对渲染管道和目标硬件的使用情况,提供更多对运行时性能优化的控制。

  • 运行流功能,使光探针数据能够从磁盘流向 CPU,以及从 CPU 流向 GPU。

  • 提供减少漏光的强大工具集。

08705d2bae8d647bdb16de5e1e17538d.jpeg

APV 与大气效果无缝集成,这意味着 HDRP 中的体积雾和 URP 与 HDRP 中的 VFX 图形粒子等效果现在可以通过间接照明美观地呈现。

以下是将 URP Oasis 场景转换为使用 APV 的方法

为了在本文中进行演示,我们将 URP 3D 示例场景从 2022 LTS 升级到了Unity 6 预览版和自适应探针卷功能。

a8e42c46c6f0e03be3d59e80455ce2ff.jpeg

绿洲 "场景从 2022 LTS 转换到 Unity 6,应用自适应探针卷进行间接照明。

使用自适应探头体积放置探头

APV 是一种基于体积的系统,可自动放置探针,无需手工放置。

通过 APV 的常规设置选项卡,您可以控制最小和最大探针间距等参数,从而根据周围的几何形状创建多个细分级别。默认情况下,密集区域将使用最高分辨率,而几何图形较少的区域将使用较低的密度级别。这种自动适应行为可确保高效的资源分配,并将重点放在最需要的地方。

ff8777a0fd204c2470f5c90e3451bf2d.jpeg

在 "照明窗口 "和 "自适应探针体积 "选项卡中,可以指定 APV 应使用的细分级别。

要自动生成探针,可以创建自适应探针卷。在工作时,您可以看到实时更新,无需烘烤即可预览测头位置。这些更新基于砖块和您之前定义的细分级别,然后根据附近几何体的距离进行调整。

37a1ac34638dfd9d84e2e50103c02b0f.jpeg

 实时更新调试模式有助于在烘焙前实时预览不同的探针。

生成照明

生成照明会预先计算所有照明数据,包括光探针,您可以在场景中直观地看到这些数据。使用砖块预览时,可以看到放置探针时应用的各种细分级别。

84fee064916366df156b5cc2d00d4194.jpeg

可使用渲染调试器显示探针和多个细分级别。

在下一篇文章中我们将继续为您介绍有关Unity 6 全局照明的全新应用方法,如果您对本文内容感兴趣请继续关注我们~

本文部分内容转自Unity官网Blog。


http://www.ppmy.cn/devtools/144507.html

相关文章

【DevOps工具篇】SCM之Gitlab

【DevOps工具篇】SCM之Gitlab 目录 【DevOps工具篇】SCM之Gitlab什么是Git?Git命令有哪些?什么是GitHub?什么是GitLab?GitLab的后期发展为什么使用GitLab?Docker Compose部署GitLab持久化Gitlab数据推荐超级课程: Docker快速入门到精通Kubernetes入门到大师通关课AWS云服…

深入解析Ubuntu 20.04 ROS中的setup.bash文件

深入解析Ubuntu 20.04 ROS中的setup.bash文件 在Ubuntu 20.04系统上使用ROS(Robot Operating System)进行机器人软件开发时,setup.bash文件扮演着至关重要的角色。本文将详细解释ROS中的setup.bash文件是什么、其功能和用途、使用方法及其特…

Harmonyos多线程之Worker基本使用

Harmonyos多线程之Worker基本使用 Worker的注意事项创建Worker的注意事项手动创建Worker线程自动创建Worker现成 跨har包加载Worker多级Worker的声明周期管理 Worker和宿主线程的通信 Worker主要作用是为应用程序提供一个多线程的运行环境,可满足应用程序在执行过程…

HTML基本标签详解

HTML基本标签详解 HTML&#xff08;超文本标记语言&#xff09;是构建网页的基础&#xff0c;以下是一些常用的 HTML 基本标签及其详细说明&#xff1a; <html> 定义&#xff1a;整个 HTML 文档的根元素。示例&#xff1a;<html lang"zh"><head> …

Scala快速入门+示例

目录 定义和描述idea基础关键字变量、常量输出数据类型类型转换 函数式编程函数和方法的区别定义示例有参带返回值有参没有返回值 注意点 面向对象object和class的区别对象的属性 快速上手使用版 定义和描述 基于JVM的语言&#xff0c;支持面向对象、面向函数&#xff0c;支持…

Emacs折腾日记(四)——elisp控制结构

目前我们接着学习elisp相关语法&#xff0c;这里我是按照 elisp 简明教程 来进行学习。与其说这是我自己写得教程到不如说是在这个上面做得注释。目前我不知道这样是否侵犯相关的知识产权。目前就先这样继续学习&#xff0c;继续写记录吧。 闲话少说&#xff0c;进入本篇的正题…

【论文阅读】从单张图像到高质量3D模型的快速生成方法

导言 现有的单视角图像生成3D方法存在计算成本高、生成质量不足且缺乏多视角一致性等问题。本文介绍的方法提出了一种新框架&#xff0c;结合多视角2D深度图和RGB图像&#xff0c;通过Stable Diffusion模型生成显式表面几何和纹理。论文强调了深度图在捕捉几何信息方面的优势&…

分布式专题(6)之MongoDB复制(副本)集实战及其原理分析

一、MongoDB复制集结构 在生产环境中&#xff0c;不建议使用单机版的MongoDB服务器。原因如下&#xff1a; 单机版的MongoDB无法保证可靠性&#xff0c;一旦进程发生故障或是服务器宕机&#xff0c;业务将直接不可用。一旦服务器上的磁盘损坏&#xff0c;数据会直接丢失&#x…