跳转到内容

Blender 3D:从新手到专业/HDRi

来自维基教科书,为开放世界提供开放书籍

你可能听说过很多人谈论 HDR 图像。(WETA、Lucas,甚至 Tim Sweeny)。HDR 图像是 HDRi 技术的一部分,HDRi 代表“高动态范围(图像)”。那么... 这到底是什么意思呢?

这是一个指向维基百科关于 HDR 格式 的文章的链接,我个人将所有功劳都归功于 Paul Debevec,他将它应用于计算机图形目的。无论如何,在你开始尝试理解 HDRi 的有用性之前,请阅读维基百科链接。

另外,如果你有更多时间,可以访问 Paul Debevec 的网站

为了总结 HDR CG 的激动人心之处,可以将其想象成即将推出的下一代电子游戏的炒作,只是将舞台设定在 1996 年而不是 2006 年。Paul Debevec 开创了视差映射、HDR 照明、基于图像的建模,他最近的工作还包括一些更令人惊叹的技术,而且,记录在案的是,他也是我的偶像。

为了将 HDRi 图像用于 3D 渲染,你需要一个叫做 光探针 的东西...

HDRi
HDR image file example
HDR 图像文件示例

HDRi 代表高动态范围成像,它基本上是一种图像格式,包含从最深的阴影到最亮的亮光信息。虽然“普通”数字图像每个颜色(红色、绿色、蓝色)只有 8 位信息,这为你提供了每种颜色 256 个色阶,但 HDR 图像格式使用浮点精度存储 3 种颜色。因此,每种颜色从暗到亮的“深度”实际上是无限的。在 3D 环境中使用 HDR 图像会产生非常逼真且令人信服的阴影、高光和反射。这对于逼真地模拟例如铬非常重要。

光探针

光探针是一个 HDR 图像,包含 360 度乘以 360 度(立体角球面度)的图像信息。换句话说:它是一个 360 度球形全景图像,不仅环顾地平线,而且还向上和向下。因此,光探针图像包含所有可见信息,就像从特定点看到的那样,无论你把头转向哪里。

鉴于光探针图像是一个“全方位”的高动态范围图像,它非常适合你的“世界”背景,特别是对于 3D 动画来说。

快速教程 (适用于经验丰富的 Blender 用户)

[编辑 | 编辑源代码]

首先,你需要一个 HDR 图像。在 http://debevec.org/Probes/ 上有一系列你可以免费下载的图像。(在 http://blenderartists.org/forum/showthread.php?t=24038 上还有更多)。我将使用圣彼得大教堂探针,但任何其他 HDR 图像都可以。

要将 HDRi 环境应用于你的场景,请执行以下操作:

  • 转到阴影设置(按 F5)并点击世界按钮。
  • 启用“真实”以强制地平线保持静止,而不是跟随摄像机。
  • 如果你使用的是 Blender 内部版本(版本 2.49),请转到“环境光遮蔽”选项卡并激活“环境光遮蔽”,然后激活“天空纹理”。如果你使用的是外部渲染器,请跳过此步骤。
  • 在“纹理和输入”选项卡中,点击“添加新”和“Angmap”。
  • 然后转到“映射到”选项卡并停用“混合”并激活“地平线”。
  • 现在转到纹理设置(按 F6)并将“纹理类型”更改为“图像”。
  • 点击“加载图像”按钮并找到你的 HDR 图像。
  • 如果你使用的是 YafRay 或其他外部渲染器,你需要开启全局照明并将质量设置为“无”以外的任何值。

分步教程

[编辑 | 编辑源代码]

构建一个简单的场景

[编辑 | 编辑源代码]

为了看到使用 360 度乘以 360 度世界图像的优势,最简单的演示方法是在场景中添加一个镜像球体。

场景
  1. 将一个球体和一个立方体添加到你的场景中,并将它们放置在一个稍微有趣的位置。(注意我添加了第二个灯来照亮立方体的阴影部分)
  2. 也许可以将立方体的颜色设置为与默认灰色不同的颜色。
镜像表面的材质设置及其预览
  1. 将球体设置为镜像材质:转到阴影 -> 材质面板(F5)并找到镜像传输按钮。
  2. 确保射线镜像按钮被按下。如果它没有被按下,请按下它。
  3. 射线镜像值设置为 0.5 或更高的值。你的预览应该显示棋盘格环境的反射。

使用 HDR 渲染 (Blender 内部版本 2.49)

[编辑 | 编辑源代码]
  1. 下载一个 HDR 图像(参见 Paul Debevec 的网站)。
  2. 转到阴影设置(按 F5)并点击世界按钮。
AngMap 已启用
  1. 转到“环境光遮蔽”选项卡并激活“环境光遮蔽”,然后确保在收集方法中选择“射线追踪”,并激活“天空纹理”。
  2. 调整质量设置
    1. 增加样本数量可以减少噪点,但会增加渲染时间。
    2. 自适应 QMC 速度更快,但产生的噪点比恒定 QMC 更多。
  3. 在“纹理和输入”选项卡中,点击“添加新”和“Angmap”。
  4. 然后转到“映射到”选项卡并停用“混合”并激活“地平线”。
  5. 现在转到纹理设置(按 F6)并将“纹理类型”更改为“图像”。
  6. 点击“加载图像”按钮并找到你的 HDR 图像。

使用 HDR 渲染 (Blender 内部版本 2.69)

[编辑 | 编辑源代码]
  1. 下载一个 HDR 图像(参见 Paul Debevec 的网站)。
  2. 转到属性选项卡并点击世界按钮。在世界部分中选中“真实天空”按钮。
  3. (可选)转到“环境光遮蔽”部分并激活“环境光遮蔽”,然后确保在收集部分中选择“射线追踪”作为收集方法。
  4. (可选)调整质量设置。
    1. 增加样本数量可以减少噪点,但会增加渲染时间。
    2. 自适应 QMC 速度更快,但产生的噪点比恒定 QMC 更多。
  5. 在属性选项卡中点击纹理按钮 -> 然后点击“显示世界纹理” -> 然后选择类型为“图像或电影” -> 然后在映射部分选择坐标为“Angmap” -> 然后在影响部分取消选中“混合”按钮并选中“地平线”按钮。
  6. 在图像部分点击打开按钮,找到你的 HDR 图像并加载它。

使用 YafRay 渲染

[编辑 | 编辑源代码]
  1. 下载一个 HDR 图像(参见 Paul Debevec 的网站)。
  2. 转到阴影设置(按 F5)并点击世界按钮。
  3. 在“纹理和输入”选项卡中,点击“添加新”和“Angmap”。请注意,Angmap 按钮是告诉 Blender 此文件是光探针文件的重要东西!
  4. 然后转到“映射到”选项卡并停用“混合”并激活“地平线”。
  5. 现在转到纹理设置(按 F6)并将“纹理类型”更改为“图像”。
  6. 点击“加载图像”按钮并找到你的 HDR 图像。

(可选步骤,因为我的设置不需要它:)

5. 按 F10 并将“Blender 内部”更改为“YafRay”。你需要开启全局照明并将质量设置为“无”以外的任何值。请注意,YafRay 渲染器不是 Blender 安装的标准配置。你需要单独下载并安装它。

你的结果应该看起来像这样:(渲染:左为 Blender,右为 YafRay)点击查看大图

请注意,反射球体从各个角度反射整个内部,即使我们只在世界设置中添加了一个图像!

华夏公益教科书