返回介绍

3ds Max 帮助

3ds Max 帮助归档

使用光能传递建立全局照明模型

发布于 2022-07-23 00:47:25 字数 8072 浏览 0 评论 0 收藏 0

光能传递是一种渲染技术,它可以真实地模拟灯光在环境中相互作用的方式。

本主题概念性的概述了什么是光能传递,以及这种全局照明技术如何与 3ds Max 中其他可用的渲染技术相关。这些信息将帮助您决定哪些技术最适于想要执行的可视化任务。通过更精确地模拟场景中的照明,光能传递能够比标准灯光提供更多优势:

  • 改善图像质量:3ds Max 的光能传递技术在场景中生成更精确的照明光度学模拟。像间接照明、软阴影和曲面间的映色等效果可以生成自然逼真的图像,而这样真实的图像是无法用标准扫描线渲染得到的。这些图像更好地展示了您的设计在特定照明条件下的外观。
  • 更直观的照明:通过与光能传递技术相结合,3ds Max 也提供了真实世界的照明接口。灯光强度不指定为任意值,而是使用光度学单位(流明、坎迪拉等)来指定。而且,真实世界照明设备的特性可以通过使用行业标准的“发光强度分布文件”(比如 IESCIBSELTLI)来定义,这些文件从大部分照明制造商那里都可以得到。通过使用真实世界的照明接口,可以直观的在场景中设置照明。您可以将更多注意力集中在设计浏览上,而不注意精确显示图像需要的计算机图形技术。

    顶图:未使用光能传递渲染的场景。

    底图:使用光能传递渲染的同一场景。

计算机图形渲染

在 3ds Max 中创建的 3D 模型含有相对于 3D 笛卡尔坐标系而定义的几何体数据,该坐标系被称为世界空间。该模型也含有有关每个对象的材质和场景中的照明的信息。计算机监视器上的图像由许多亮点组成的,这些点称为像素。在创建几何体模型的计算机图形图像过程中的任务决定每个像素的颜色,使用的颜色基于模型信息和指定的视点(摄像机)。

模型中曲面上任一指定点的颜色都是曲面的物理材质属性和照明灯光的函数。两个常规的明暗器算法为:局部照明全局照明 用于描述曲面如何反射和透射灯光。

局部照明

局部照明算法只描述单独的曲面如何反射或透射灯光。如果给出到达曲面的灯光的描述,则这些 3ds Max 中称作明暗器的数学算法会预测离开曲面的灯光的强度、颜色和分布。与材质描述相结合,不同的明暗器可以确定曲面是具有塑料外观还是金属外观,或它是平滑的还是粗糙的。3ds Max 为定义大量不同的曲面材质提供稳定的界面。

在定义单独的曲面如何与局部级的灯光相交互后,下一个任务就是确定灯光在何处到达曲面源。使用 3ds Max 的扫描线渲染系统,在明暗处理中只考虑直接来自于光源的灯光。

但是,为了获得更精确的图像,不仅需要考虑光源,同时也需要考虑环境中的所有曲面和对象与灯光如何相互影响,这一点非常重要。例如,某些曲面阻挡灯光,并在其他曲面上投射阴影;某些曲面很有光泽,我们在它们上会看到其他曲面的反射;某些曲面透明,我们会透过它们看到其他曲面;而且有些曲面会将灯光反射到其他曲面上。

全局照明

考虑模型中曲面间传输灯光方式的渲染算法称作全局照明。3ds Max 提供两种全局照明算法作为其产品级渲染系统的构成部分:光线跟踪光能传递

在解释光线跟踪和光能传递如何工作之前,了解灯光在物理世界中如何分布非常有用。例如,考虑如下所示的房间。

由两个灯光照明的厨房

上面的厨房拥有两个光源。灯光的一种理论将灯光看作称为光子的离散粒子,光子从光源发出直到遇到厨房中的某一曲面。根据曲面的材质,一些光子被吸收而另一些散射回环境中。以特定波长运动的光子被吸收,而其他的则不会被吸收,这一事实决定了曲面的颜色。

非常光滑的曲面在一个方向反射光子,并以与光子到达曲面的入射角相同的角度反射。这些曲面称作镜曲面,而这种反射称作镜面反射。镜子是一种完美的镜曲面。当然,许多材质在一定程度上同时显示镜面反射和漫反射。

左图:镜面反射

右图:漫反射

光子从曲面上反射的方式主要取决于曲面的光滑度。粗糙的曲面会向所有方向反射光子。这些曲面就是漫反射曲面,而这一类反射被称作漫反射(如上所示)。用平光漆绘制的墙面就是漫反射表面的一个很好例子。

厨房的最终照明由曲面间的相互作用和光源发出的数以亿计的光子共同决定。在曲面上任何给定点处,光子可能直接从光源到达(直接照明),或者通过在其他曲面上一次或多次反弹而间接到达(间接照明)。如果您站在厨房中,那么房间中少量的光子会进入眼睛并刺激视网膜的杆状和锥状细胞。从效果上来说,这样的刺激会形成大脑所接收的图像。

在计算机图形中,我们将视网膜的杆状和锥状细胞用计算机屏幕的像素来代替。全局照明算法的一个目的是尽可能精确的重新创建在真实环境中所看到的景象。第二个目的是尽可能快地完成任务,理想情况是能够实时(每秒 30 个图像)。到目前为止,还没有某种单独的全局照明算法能够同时实现这两个目标。

光线跟踪

全局照明算法首先开发的一项技术称作光线跟踪。光线跟踪算法在场景中运动的数以亿计的光子中进行识别,我们主要关心的是进入眼睛的那些光子。该算法跟踪从屏幕中每个像素进入 3D 模型的反向光线。这样,我们只计算构建图像所需要的信息。要使用光线跟踪创建图像,对于计算机屏幕上的每个像素执行下列步骤。

  1. 光线是通过眼睛的位置反向跟踪的,通过监视器上的像素,直到它与一个曲面相交。我们从材质的描述中可以知道曲面的反射率,但我们仍然不知道到达曲面的灯光量。
  2. 要确定总体照明,我们从相交点开始跟踪光线到环境中的每个光源(阴影光线)。如果到达光源的光线未被其他对象阻挡,则来自光源的灯光用于计算曲面颜色。
  3. 如果相交的曲面有光泽的或透明,则我们必须要确定在要处理的曲面中或通过这一曲面能看到什么。第 1 步和第 2 步在反射(在透明的情况下,则是透射)方向反复执行,直到遇到另一曲面。后续相交点的颜色也用于计算原始点的颜色。
  4. 如果第二个曲面也是反光的或透明的,则重复光线跟踪过程,以此类推,直到达到迭代的最大次数或没有更多的相交曲面为止。

    光线跟踪:光线通过一个像素从摄影机开始跟踪,经过几何体,然后回到光源。

光线跟踪算法的应用非常广泛,因为它可以建立多种照明效果的模型。它可以精确地实现直接照明的全局照明特性、阴影、高光反射(比如镜子)以及通过透明材质的折射。光线跟踪的主要不足在于即使对中等复杂的环境它也可能处理得非常慢。在 3ds Max 中,会有选择地将光线跟踪用于使用光线跟踪材质的对象上,这些材质将光线跟踪指定为其明暗处理选项。光线跟踪也可以指定为渲染光源投射阴影的方法。

光线跟踪和扫描线渲染的一个共同不足之处在于,这些技术都不考虑全局照明的一个非常重要的特性,即漫反射的相互反射。对传统光线跟踪和扫描线渲染而言,只有直接来自于光源自身的灯光才被精确考虑。但是,正如房间的例子中所示,到达曲面的灯光不仅仅来自于光源(直接照明),这些灯光也来自于其他曲面(间接照明)。例如,如果我们光线跟踪厨房的图像,则阴影中的区域应当以黑色显示,因为这些区域不能由光源直接照明。但是,我们从经验知道,这些区域不可能完全为黑色,因为它们也会接收到来自周围墙壁和地板的灯光。

在扫描线渲染和传统的光线跟踪(在 3ds Max v5 之前的版本)中,间接照明通常是仅通过添加一个任意的环境光值来实现,而此环境光与间接照明的物理现象无关,并且在整个空间中为固定值。因此,扫描线和光线跟踪图像通常看起来过于平面化,尤其是在建筑环境的渲染上,这些建筑环境通常来说大部分都是漫反射曲面。

光能传递

要解决这一问题,研究人员吸收了热学工程的研究成果,开始研究计算全局照明的其他替代算法。在 20 世纪 60 年代初期,工程师们开发了模拟曲面间辐射热传导的方法,以此判断他们的设计在实际应用中的性能(比如熔炉和引擎)。到了 20 世纪 80 年代中期,计算机图形研究人员开始研究这些技术在模拟灯光传播方面的应用。

光能传递,正如该技术在计算机图形世界中的称呼一样,它从本质上与光线跟踪有所不同。光能传递不仅决定场景中每个像素的颜色,也计算环境中所有曲面的强度。通过首先将原始曲面分割为称作元素 的更小曲面的网格来实现这些操作。光能传递算法计算分布在从每个网格元素到每个其他网格元素的灯光量。为网格的每个元素保存最终光能传递值。

光能传递:碰撞到曲面的灯光的光线由多个漫反射光线反射,这些漫反射光线自身可以照明其他曲面。细分曲面可增加解决方案的精确度。

在光能传递算法的早期版本中,必须完全计算网格元素中灯光的分布才能在屏幕上显示有用的结果。即使结果是视图独立的,预处理也会花费很多时间。1988 年,出现了逐步细化技术。该技术可以立即显示可视结果,并在精确度和可视质量上逐步改善。1999 年,出现了一种称作 stochastic relaxation 光能传递(SRR)的技术。SRR 算法组成了由 Autodesk 提供的商业光能传递系统的基础。

集成解决方案

虽然光线跟踪和光能传递算法不同,但它们在许多方面是互补的。每项技术都有其优点和不足。

照明算法优点不足之处
光线跟踪精确的渲染直接照明、阴影、高光反射和透明效果。

有效使用内存

计算量相当大。生成图像所需时间受光源数量影响较大。

对每个视图必须重复处理(视图独立的)。

不考虑漫反射的相互反射。

光能传递计算曲面间漫反射的相互反射。

为任意视图的快速显示提供视图独立的解决方案。

提供立即可视的结果。

3D 网格比原始曲面需要更多的内存。

绘图人工效果比光线跟踪更容易影响曲面采样算法。

不考虑高光反射或透明效果。

无论光能传递还是光线跟踪都不能为所有全局照明效果的模拟提供完整的解决方案。光能传递在渲染漫反射到漫反射的相互反射时更有优势,而光线跟踪在渲染高光反射方面有优势。通过使用产品级质量扫描线渲染系统综合两种技术,3ds Max 可以提供这两者的最佳结合。在创建光能传递解决方案后,可以渲染其二维视图。在 3ds Max 场景中,除光能传递所提供的效果之外,光线跟踪还可以提供其他效果:灯光可以提供光线跟踪阴影,而材质可以提供光线跟踪反射和折射。结合了两种技术渲染的场景,比单独使用任一种技术所能得到的场景更真实。

通过将光线跟踪和光能传递相综合,3ds Max 可以提供各种视觉可能性,从高速交互式的照明学习到具有非比寻常的质量和真实感的图像。

请参见

本节内容

  • 如何在 3ds Max 中使用光能传递

    本主题介绍了如何在 3ds Max 中使用光能传递的概述。

  • 光能传递工作流程

    本主题介绍了如何设置场景以使用光能传递。考虑内容包括场景的大小以及场景中使用的测量系统、光线和材质。

  • 用光能传递设置动画

    默认情况下,在当前帧计算光能传递解决方案。如果您正在设置对象动画并且要在每帧执行光能传递解决方案,请在“渲染设置”对话框“公用”面板 “公用参数”卷展栏 “高级照明”组启用“需要时计算高级照明”。

  • 光能传递控件

    光能传递是用于计算间接光的技术。具体而言,光能传递会计算在场景中所有表面间漫反射光的来回反射。要进行该计算,光能传递将考虑场景中的照明、材质以及环境设置。

  • 照明分析(光能传递)

    要询问灯光级别、分析数据并生成报告,请使用“照明分析”对话框。此对话框提供有关材质反射比、透射比和亮度比的渲染数据。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文