跳转至

自发光纹理与渲染

源文档

该页面翻译自Blockbench文档

介绍

你可能见过一些模型的渲染效果很突出,因为它们的部分会发光。也许你甚至想在自己的一些模型上尝试这个效果。本文将向你展示如何做到这一点。

要创建任何类型的渲染,你需要决定使用哪种渲染软件。如果你想探索不同的渲染软件并查看每个软件的优缺点,请参阅模型渲染指南,因为本指南不会深入讨论一般渲染。

本指南将为两个最流行的软件BlenderSketchfab提供深入的步骤,但在使用其他软件创建自发光纹理时可能会有重叠。这里以详细的步骤解释了每个软件所需的步骤,你可以通过向下滚动或导航到页面右侧的目录来访问。除了解释所需的步骤外,本指南还有一个示例可供你跟随,以帮助可视化过程。我们将在Blender和Sketchfab中都创建一个台灯的渲染。

请注意,本文推荐的方法不是实现自发光纹理的唯一方法,而是应该提供关于如何实现它们的常见见解。我们鼓励你进行实验并找到最适合你的工作流程。

在此示例中,我们将使用以下台灯模型。

基础台灯模型

Blender

1. 制作自发光纹理

在Blender中,你可以通过着色选项卡中的节点更改纹理属性。与Sketchfab不同,Blender要求用户为自发光元素和非自发光元素创建单独的纹理,因为我们打算编辑每个纹理作为一个整体的属性。如果你想让多个部分以不同的强度发光,你需要为要具有不同发射强度的每个对象创建单独的纹理。

Blockbench中的模型

2. 导出到Blender

将模型、纹理和动画导入Blender的最简单方法是通过File>Export>Export glTF model导出模型作为.gltf文件。要将导出的glTF导入Blender,请选择File>Import>glTF 2.0,然后选择你的文件。你的模型将显示为灰色;要查看纹理,请确保在右上角启用视口着色。

Blender导入选项

Blender视口着色

3. 配置

对于此示例,我们将启用Cycles而不是EEVEE,因为它具有光路追踪。如果你想了解有关EEVEE和Cycles之间差异的更多信息,请查看Blender Wiki

导航到着色选项卡,然后点击你想要自发光的对象。节点应该出现在底部(如果没有,请确保启用了"Use Nodes"切换)。接下来,将基色节点的颜色输出拖到PrincipledBSDF节点上的自发光输入,这将使对象发光!如果需要,调整你想要的发射强度,你可以在自发光输入下找到它。

处理节点

完成后,将相机定位到你喜欢的位置,然后按F12进行渲染,并下载最终结果。

最终结果

Sketchfab

1. 制作自发光纹理

为了让Sketchfab知道哪些部分需要发光,你需要创建一个称为自发光纹理的东西。此纹理将告诉Sketchfab需要考虑自发光的部分,以及不应该的部分。

要制作自发光纹理,请首先复制你的纹理。我们将对这个新纹理进行更改,同时保持主纹理不变。为了区分它们,建议重命名自发光纹理(例如,你可以在纹理名称中追加-emissive)。

重要提示:在复制之前,请确保纹理的尺寸是2的幂。否则它将无法正确工作!(如果不是,你可以通过右键单击它并选择Resize来调整纹理大小,并创建新的模板纹理以确保UV正常。)

复制纹理

为了在视觉上看到我们对纹理所做更改在模型上的效果,我们需要告诉Blockbench将纹理应用于模型,因为目前它仍然应用主纹理。要做到这一点,使用Ctrl + A选择整个模型,然后右键单击大纲中的立方体。然后,选择Texture > [Your Emissive Texture Name],如屏幕截图所示。现在,我们对自发光纹理所做的所有更改都将在模型上直观地反映出来。

将自发光纹理应用于模型

我们的自发光纹理与我们的常规纹理完全相同(这就是为什么我们复制了我们的原始纹理),但只会突出我们想要自发光的部分。有很多方法可以做到这一点;本指南涵盖了使用内置且通常首选的方式制作自发光纹理。

首先,我们需要告诉Blockbench复制的纹理需要自发光。要做到这一点,只需右键单击复制的纹理并将Render Mode设置为Emissive

将渲染模式设置为自发光

接下来,我们需要标记要自发光的元素。要做到这一点,请在顶部工具栏中选择橡皮擦工具,将不透明度降低到1-24之间的任何地方(不透明度越高,你在Blockbench中看到自发光效果的强度就越强),然后擦除你想自发光的像素。这将导致像素点亮。非常重要的是你降低橡皮擦的不透明度,否则你会意外完全擦除自发光像素!

橡皮擦设置

提示:为了更好地看到对自发光纹理的更改,请在File > Preferences > Settings中降低Blockbench预览的亮度。

如果前面的设置正确,模型中需要发光的部分现在应该会比其他部分更亮。

Blockbench中的自发光预览

最后,右键自发光纹理并选择Export Emission Map导出发射贴图。其余设置通常保持默认即可,但要额外勾选Flip Y-Axis,因为Sketchfab会对常规纹理自动执行这一翻转。

导出发射贴图

发射贴图导出设置

2. 导出到Sketchfab

此时模型仍然应用着自发光纹理。上传到Sketchfab前,需要把模型重新切回原始纹理,否则常规底色也会被错误替换。做法与前面相同:按CtrlA选中整个模型,右键大纲中的立方体,然后选择Texture > [原始纹理名]

切回原始纹理

接下来即可直接从Blockbench上传:打开FileExportUpload to Sketchfab,填写标题、描述等必填信息后点击Confirm。完成后,Blockbench会给出一个跳转提示,用于在Sketchfab网页中继续配置模型。

上传到Sketchfab

3. 在Sketchfab中配置

进入Sketchfab后,先点击右上角的Edit 3D Settings。这里会看到模型预览以及大量渲染面板。自发光相关设置主要位于Materials页签中。

Sketchfab中的模型

Materials面板里向下找到Emission分类。点击颜色选择器,切换到Texture页签,再选择Manage Textures,导入刚才从Blockbench导出的发射贴图。

自发光设置入口

管理纹理

导入完成后,模型就会按照发射贴图发光。之后可以继续调整背景、泛光、阴影等效果。示例中给发光材质额外加入了Bloom,因此灯光边缘会更柔和。

启用自发光与Bloom后的结果

如果想保留像素风边缘,可以把默认的三线性过滤改成最近邻过滤。这样发光区域边缘会更接近Minecraft常见的像素观感。

不同过滤模式的效果

最后导出或截图即可得到成品。

Sketchfab最终效果