Blender Studio
  • 电影
  • 专案
  • 训练
  • 资源
  • 部落格
  • 社区
  • 加入
  • BLENDER.ORG

    • 下载

      获取最新的 Blender、旧版本或实验版本。

    • 最新消息

      关注最新 Blender 版本的新功能。

    学习与资源

    • Blender Studio

      从开放电影中获取制作资产和知识。

    • 手册

      Blender 使用和功能的说明。

    开发

    • 开发者博客

      Blender 开发者提供的最新开发更新。

    • 文档

      指南、发布说明和开发文档。

    • 基准测试

      一个收集和分享 Blender 基准测试结果的平台。

    • Blender 大会

      一年一度的社区聚会活动。

    捐赠

    • 开发基金

      通过每月捐款支持核心开发。

    • 一次性捐款

      使用更多可用的支付选项进行一次性捐款。

训练重点
面部绑定
Blender 基础知识 4.5 LTS
使用 Blender 进行 3D 打印
视频日志#6:宣传视频

训练类型
课程 文档 制作课程 工作坊

训练类别
动画 几何节点 灯光 渲染 骨架 着色
电影重点
奇点
2025
展翅翱翔
2023
春天
2019
英雄
2018
专案重点
冲动购买
展示
项目:风暴
展示
遛狗
展示
项目:黄金
展示
资源重点
角色
模型和装置
资源
所有制作文件
库
精选集

使用 Eevee 渲染 雪 跑酷动画

深入研究使用 Eevee 制作雪 跑酷动画。
  • 独立项目
  • 29 Jun 2022
  • 2 min read
Beau Gerbrands
Beau Gerbrands Author
Report Problem

介绍

在大约四个月的时间里(2021 年 11 月至 2022 年 2 月),我们与 Pablico Fournier 和 Hjalti Hjalmarsson 一起,在 Andy Goralczyk 的监督和 Francesco Siddi 的帮助下,为 Snow 角色制作了一个简短的宣传动画。 (操纵:Demeter Dzadik,管道支持:Paul Golter,附加建模:Julien Kaspar,FX 和几何节点:Simon Thommes,布局/动画反馈:Rik Schutte)

这个想法是将斯诺置于一个反乌托邦的阿兹特克风格的大城市中,躲避两架无人机。在被第三架无人机困住后,他使用了自己的秘密力量,动画结束。

早期的粘土渲染

我们想要创建一个简短的动画来在生产环境中测试 Eevee。使用 Eevee 与 Cycles 相比有何优势和障碍?渲染时间是多少?哪些因素会增加渲染时间?这些是我们想要找出的一些事情。

请记住,此处提到的某些方面将因 Eevee 重写 而发生变化。

快速浏览镜头 0040

管道和性能上下文

纹理 (Krita) 和着色器被设计为以半程序方式重复使用。纹理的“热点”技术用于指定对象的面(基于比例和比例)。使用顶点绘制创建各种效果,如水坑、污垢和铁锈,使它们看起来更清晰但更流线型。

concrete_sections_hotspotting_subtle_color.png

热点色彩纹理

Krita 中的纹理示例

场景的构建就像您在 Cycles 中渲染它一样。这意味着不会像现代游戏中那样对模型进行优化。此作品中没有 LOD、烘焙法线贴图或重新拓扑。意识到这一点,添加细分曲面或斜角等修改器仅限于更重要的对象。抽取用于优化场景几何形状,有些是破坏性的,有些是非破坏性的。

通过在设置文件中添加灯光,简化了制作结构。这会带来更高的一致性,但性能不太友好。 lighting.blend 包含无人机聚光灯、布景照明和雪景照明装置。这是一个空物体,约束在带有主光、补光、边缘和其他灯光的装备上。

快速统计

博的机器:

  • 操作系统:Pop!_OS 21.10
  • CPU:Intel Xeon(R) CPU E5-2697 v3 @ 2.60GHz × 56 线程
  • GPU:NVIDIA Corporation GA102 GeForce RTX 3080 10GB 显存
  • RAM:4 x 16 微米 64GB DDR4-2133 MT/s
  • 存储:ATA 三星 SS 860 512GB

保罗的机器:

  • 操作系统:Pop!_OS 21.10
  • CPU:AMD Ryzen 7 3800X 8 核处理器(16 线程)最大速度:4550 MHz
  • GPU:AMD RX 590 16GB 显存
  • 内存:4 x 8 32GB DDR4-3200 MT/s
  • 存储:三星 SSD 970 EVO 1TB

动画片:

  • 镜头 = 13
  • 分辨率 = 1920 x 1080
  • 帧率 = 24
  • 每帧平均渲染时间 = 3 分钟
  • 纹理包括雪 = 141

经验

Eevee 和 Cycles 在渲染动画时各有优缺点。 Eevee 可能具有渲染速度更快、图像清晰度更好的潜力;然而,在合成阶段,通道缺少基于样本的“组合”通道的细化。具体来说,景深和运动模糊将恢复为较低的保真度版本,并且任何具有 Alpha Blend 的材质都将从图像中丢失。

这最终导致重建图像噪声更大且不完整,从而导致合成效率降低。这就是为什么在创建最终渲染之前进行了大量较小的调整和迭代的原因。

当使用所有通道重建组合结果时,当前的合成受到限制

当渲染 (F12) 时,CPU 用于对象评估,此过程位于单个线程上。在花时间记录性能之后,我们更加明显地发现,无论 GPU 功率如何,单线程性能在决定渲染时间方面发挥着更大的作用。这是上下文相关的,主要适用于雪和具有细分表面修改器的无人机(下载生产文件时,限制渲染时间的一个好方法是启用简化)。

如下图所示,Paul 的机器具有更快的单线程性能(请参阅上面“快速统计”下的 Paul 机器)。虽然我的机器有更好的 GPU,但服务器处理器的单线程性能要低得多。这可以在 GPU 相同但 CPU 不同的情况下进行更多测试。

notion_performance_statistics.png

日志概述

实用性

Eevee 需要编译着色器才能加载到 GPU 上才能进行渲染。这在制作开始时可能需要一些时间,幸运的是,当几乎所有着色器都已编写完毕时,这会更快。

在视口中进行渲染以更改具有八个或更多样本的照明会大大降低响应速度。这就是为什么视口样本设置为两个,并缩小视口的原因。为了提高性能,我们使用“简化”来缩短对象评估时间。

艺术性

Cycles 中的灯光可以影响各种通道(例如漫反射通道和光泽通道)的打开和关闭。但 Eevee 中的灯光通过将“漫反射”、“光泽”和“体积”视为滑块参数,可以进行更多控制。这是我在 Eevee 工作中最喜欢的方面之一,尤其是将值提高到 1.0 以上以提高频道的影响力。

为了避免无人机聚光灯的均匀性并赋予其更多变化 - 就像旧的手电筒 - 放置小型“着色投射器”物体来阻挡光线。有两个聚光灯,一个用于照亮场景,另一个仅影响音量(见下图)。

drone_spot_light_shadow_caster.png

着色投射器靠近聚光灯的光源

不带着色脚轮和带着色脚轮的区别

纹理的创建方式可以以多种方式重复使用。通过复制现有材质并使用 ColorRamp 节点分配不同的颜色。或者通过使用顶点混合或纹理来驱动独特的变化。

panels_trimsheet_color_id.png

创造变化的简单而有效的方法

顶点绘制和使用修改器偏移来创建变化

在项目期间第一次使用资源浏览器来拖动和分配材质是迭代和实验的好方法。我建议使用资源浏览器来概览您需要创建的材质。

snow_parkour_asset_browser.png


建议

我的一般建议是像外部游戏引擎一样构建和创建场景。这是为了在 Eevee 中渲染动画时优化模型并烘焙图像纹理。

几何学

  • 强烈建议不要使用任何细分表面改性剂。在 Eevee 中渲染时,模型始终是三角形数量的两倍(三角测量且没有细分表面修改器)。例如,通过将级别设置为 2,将使用基本三角形计数的 16 倍!
  • 重新拓扑或简化模型以降低场景几何形状。

着色

  • 使用任何凹凸或位移节点进行着色都会降低性能,需要计算额外的两个图表。如果可能的话,烘焙到法线贴图。
  • 避免使用 Alpha Blend 渲染自身重叠的玻璃。使用带有折射着色器的不透明材质进行近似。
  • 当前的次表面散射 (SSS) 实施可能会导致口腔区域“出血”或“发光”。要解决此问题,如果这些区域不太明显,请删除 SSS 值。

灯光

  • 限制光线影响的距离,以防止对着色进行额外的计算(并具有更多的艺术机构)
  • Eevee 中的灯光具有各种性能成本,特别是需要计算着色的几何通道。每个灯使用的“投影”越多,性能成本也会增加。
    • 点光源需要 6 个投影,这使得它们的性能变得很重。
    • 区域光始终使用 5 个投影
    • 聚光灯只能使用 1 个投影,这是基于锥角的。如果角度 <90 度,它将使用 1 个投影(可能会导致轻微的不精确)。通过将角度增加到 >90 度,性能成本与区域光相当。
    • 阳光使用级联着色贴图,这与级联数量和场景的复杂性有关。级联着色始终更新。
  • 如果您希望在照亮场景时获得最佳性能,请使用角度低于 90 度的聚光灯,以节省着色的计算时间。
  • 根据接触着色将灯光分成不同的集合。这样可以更轻松地跟踪哪些灯具有更高的性能成本。
  • “立方体大小”和“级联大小”着色分辨率几乎始终为 1024 像素。原因是为了避免更长的渲染时间和明显缓慢的视口。如果场景非常详细,请小心增加着色分辨率。

渲染

  • 重叠体积效应可以通过减小图块尺寸和增加样本来解决。
  • 该作品使用了一套文件,其中包括带有烘焙探针的布景照明。不可能在场景之间交换烘焙数据并更有效地重新使用它,我们必须为每个镜头重新烘焙照明。在不同文件中渲染同一场景时请记住这一点。
  • 启用运动模糊但设置为零步将使用矢量运动模糊,该模糊不那么准确但渲染速度更快。
  • 留意运动模糊步骤的数量,不要使用超出您需要的数量。

合成

  • 如前所述,重建图像以匹配“组合”输出是不可能的。唯一的解决方案是在渲染之前确保一切正确。
  • Alpha Hashed 材质在通道中可见,但缺点是会产生额外的噪音。解决方案可能是增加渲染样本,不幸的是,这将显着增加渲染时间。

结论

在 Eevee 中创建雪地跑酷非常有趣,但也需要更周到的方法。例如:烘焙辐照度体积和立方体贴图,决定哪些灯光使用接触着色,避免凹凸或位移节点,以及屏幕空间效果带来的限制。另一方面,Eevee 在使用灯光、出色的体积效果以及在没有太多或任何噪音的情况下进行渲染时提供了很大的创作自由。

正如“建议”中提到的,在 Eevee 中进行渲染的最佳方法是尽可能高效地构建场景,例如将模型导出到游戏引擎。这包括优化模型并将所有通道烘焙到纹理文件。并尽可能避免使用会增加对象评估时间的细分曲面修改器。

在谈论着色器节点时,灵活性和性能之间存在着有趣的平衡。更大的灵活性(例如使用顶点绘制来混合纹理)需要 Eevee 额外的着色器图形处理时间。虽然性能友好地使用烘焙纹理可能会使用更多的 vram,但在着色器图中加载速度更快。这取决于项目的艺术方向和目标。


如果您想了解有关 Eevee 的更多信息,请查看文档

感谢克莱门特·福柯更深入的解释

加入 并发表评论。

电影 专案 训练 部落格
角色
  • Critter 进化
  • 小动物 Critter
  • 壹
  • 太空生物
Studio
  • 条款和条件
  • 隐私政策
  • 联系
  • 混音音乐
  • blender.org
Blender Studio

分享的创作者。

艺术自由始于 Blender 由数谱环球提供技术支持
粤ICP备2024327355号-3