如何从基础开始为角色打光(或类似内容)

0 点赞
Source Filmmaker
转载

有人分享如何在《Source Filmmaker》中不使用任何地图灯光为角色模型打光 简介 大家好! 本指南将展示我如何在大家可能听说过的《Source Filmmaker》这款软件中进行灯光设置。 正如大家可能从本指南的标题中猜到的那样,我将只专注于角色特定的打光:因为解释如何为地图和/或场景构建打光确实非常困难,因为它们彼此各不相同。 未来我有可能会更新本指南,添加一些更多的技巧,但不做任何承诺。 而且,尽管这是一份指南,尝试对内容进行调整,而不是进行1:1的复刻。虽然这是我的打光方法,但它并不是“唯一正确”或“一成不变”的方法。最后,英语不是我的母语,所以有些部分可能解释得不够清楚,或者会有很多语法错误。 0.1 - 新手基本信息 - 地图选择 首先,确保你使用的是虚空地图,这类地图默认没有光源或道具。 这一点很重要,因为如果你使用的是有光源的地图,结果将与这里展示的不同。而且如果地图有道具,你就必须调整光源的位置和设置,以避免某些光源与场景产生不必要的交互。我可能会做一个关于地图照明的指南,但这比单纯讲解角色要复杂得多。 本指南中我将使用这个地图:【虚空地图】。不过SFM默认自带几张虚空地图,比如black_void。bsp和dark_room.bsp就是其中的几个例子。 0.2 - 新手基础信息 - 场景层级:动画集组 这完全不会影响光照,但我觉得这对未来的项目会很有用。 在动画集编辑器中,你可以看到一个带有向下箭头的齿轮图标。点击它并勾选【显示场景层级】。

此功能将启用SFM的分组功能。正如我之前所说,这不会以任何方式影响你的灯光,但它能让你在动画集之间的导航变得更加轻松,尤其是当你正在进行场景构建和/或拥有许多灯光时。 作为示例,我将展示它在我之前做的一个旧场景构建中带来的变化。

无法翻译,已删除。

无法识别或无法翻译,已删除。

如你所见,这让导航变得更加容易。 此外,它会自动创建灯光和相机组,其他任何内容都必须手动创建(选择你的模型 > 右键 > 创建组) 0.3 - 新手基础信息 - 灯光、相机和重新映射 “嘿,我加载了这个虚空地图,但什么都看不见,是我的Source Filmmaker出问题了还是——”

现在言归正传,让我们专注于一些相机设置。为此,我们需要在动画集编辑器中创建一个相机。 如果你已生成模型,或在【更改场景相机】中创建了新相机,你需要在编辑器中右键点击,然后点击【为现有元素创建动画集】,如下所示:

在那里选择相机(应该是唯一可用的选项),你会得到一个新的相机设置。如果你还没有进行任何操作,或者该设置为空,你可以通过同样的方式生成一个新相机,不过不是进入“现有元素”,而是点击“为新相机创建动画集”。现在,如果你想移动相机,必须选中相机设置才能进行移动。“为什么需要这样做?”“不将其设为动画集的话,移动相机要容易得多。” 你需要它来获取更好的相机采样,它还能为你的相机提供设置(当我们真正涉及到这个主题时,我会解释如何使用这些设置)。 可以通过右键点击视口,选择【渲染设置】来选择相机采样,在那里你应该能看到这个界面。

将【景深】的采样值更改为512。最小值为256。这会增加渲染时间,但不会太严重。 这对【景深】和修改了【半径】设置的灯光都很有用,本指南中会经常用到这种灯光。 如果你想知道这是做什么的:

在这张图片中,我只使用了一盏带有清晰深色阴影的灯光。除了半径设置外,其他灯光参数都保持一致。Source Filmmaker(SFM)的默认景深设置非常低,因此它对半径的反应很差,导致灯光模糊效果不佳。 在进入正题之前,最后一点是,你们可以看到我如何在0到150之间标记半径设置。这并不意味着滑块的值可以直接设为50或150,因为它只能读取0到1之间的值:你必须手动重新映射。 SFM的半径默认最大值是50,所以任何高于50的值都需要手动编辑输入。这可以通过重新映射数值来实现。要重新映射数值,请找到你想要修改的滑块,右键点击,然后点击【重新映射滑块范围】按钮。

这里有这些选项,你可以根据自己的需求随意更改。

最后但同样重要的一点: 你可能已经注意到SFM有8盏灯的“限制”,但这仅针对带有阴影的灯光。 因此,要为不需要阴影的灯光禁用阴影:右键点击你想要移除阴影的灯光,然后直接点击“禁用阴影”选项。就这么简单,我甚至不需要截图说明。 1.0 - 照明 - 相机设置 既然这个问题已经解决,现在来处理真正重要的部分! 首先,你应该先完成角色摆姿,或者至少达到你认为95%完成的程度。 当你对当前的摆姿满意后,让我们先检查相机设置:如果你对相机设置很熟悉,可以跳过这部分。

1) 正如我上面所解释的,在渲染设置中,将景深设置为512。如果你的电脑配置较低,256就足够了。如果你愿意,也可以设置为1024。如前所述,256是你需要的最小值。 现在来谈谈实际的相机设置: 2) 这些设置需要你自己摸索,因为它们取决于你正在处理的场景。 - 视野应保持在默认值左右或低于默认值。 - 焦距设置用于确定对焦点,所以将其设置在你的角色身后一点的位置。 - 光圈决定景深的强度,因此可以多尝试调整。 你可以通过进入剪辑编辑器查看效果。3) 说实话,有两个不太好的选项 - toneMapScale(色调映射缩放)用于调整相机亮度,但建议保持默认值,因为它会影响所有内容,包括暗处发光的物体(天空盒、带发光部件的模型、粒子效果等)。 - bloomScale( bloom效果缩放)用于控制bloom效果。请禁用它。 4) 接下来是环境光遮蔽(AO)部分:这是我真正要指导你的第一个部分 - SSAOBias(屏幕空间环境光遮蔽偏移)决定环境光遮蔽的强度。将其设置在SSAORadius(屏幕空间环境光遮蔽半径)当前位置的正下方。 - SSAOStrength(屏幕空间环境光遮蔽强度)顾名思义,用于改变环境光遮蔽的强度。设置为非常低,但不要低到完全消失。 - SSAORadius(屏幕空间环境光遮蔽半径)控制环境光遮蔽的扩散范围。应设置在大约四分之一的位置。 1.1 - 光照 - 补光 我们的第一组灯光将是补光。简单解释一下它们的用途:它们将起到阴影的作用,因为阴影很少是纯黑色的。这取决于场景和灯光类型,比如当你走到室外,观察阳光如何照亮万物时,你会发现看到的阴影都带有一定的颜色。

为了营造“阳光正午”的场景,我会使用浅蓝色填充。相关设置建议如下:阴影禁用,强度设为极低,同时通过常数/线性衰减略微增强;将视野(FOV)调至最大;半径设置在200、550或更高,具体数值取决于你想要的平滑程度(200应该足够)。务必进入剪辑编辑器查看光线效果,确保其与上方图片所示效果相近。 当你觉得光线效果合适后,将该光源复制粘贴4次(我的做法是先复制一次,设置好位置,然后将它们一起复制粘贴),并按如下方式摆放:

或者换句话说,在拍摄对象的右、左、上、下各放置一个灯光,使其位于所有灯光的中央。如果操作正确,剪辑编辑器应该会显示类似这样的效果。

1.2 - 灯光 - 主光源 主光源是主要的灯光,顾名思义,它们是对场景影响最大的灯光。 让我们从关键光开始,这将是最重要的设置灯光。

我将其设置为150半径,颜色设为浅橙色。

由于SFM的灯光本质上只是投影纹理,它们缺少真实灯光的形态,如果这么说能理解的话。所以我会设置两盏我称之为【点光源】的灯,因为我不知道它们是否有正式名称。这里会设置两盏,半径都约为350,并且禁用阴影:一盏从主光方向(右侧)照射,另一盏从相反方向(左侧)照射。相反方向的那盏灯应该比与主光方向一致的那盏灯更暗。 (在示例图片中,我没有预渲染,这样更容易展示灯光的方向)

继续围绕“SFM灯光不同于真实灯光”这一主题,我会在早期添加两个轮廓光,添加方式与聚光灯相同(为了便于查看,我也没有对它们进行预渲染)。我会将它们的半径设置为550,视野范围设为最大,并且不产生阴影,这样可以很好地覆盖并柔化模型的灯光效果。

这里是所有这些灯光组合在一起渲染后的效果。看起来相当不错,但由于我在这里排除了之前制作的补光,阴影看起来有点太暗了,对吧?所以启用目前所有设置后,效果可能会是这样的:

这看起来相当刺激,连我自己都这么觉得!但它缺少一些深度和对比度,所以能解决这个问题的是…… 1.3 - 灯光 - 轮廓光 ……轮廓光! 那么我们就从更多的半径技巧开始吧

我在这里设置了一盏灯,使其直接指向他的身后,该灯的参数如下:半径350,最大视野,低强度,无阴影,启用恒定衰减。由于原始效果不太明显,因此进行了渲染处理而非直接显示原始画面。

现在我们有“常规”轮辋,右侧的灯光启用了阴影,半径约为62.5,阴影清晰,强度较低且启用了恒定衰减。左侧的灯光禁用了阴影,半径为150,强度设置与右侧相同。 左侧图像为未渲染状态,右侧图像为已渲染状态。虽然是显而易见的情况,但还是提一下。

接下来是一些不常见且极具技巧性的内容,我会在后续的指南中详细解释: 左图: 以新光源生成,保留其阴影,并将其定位成类似这样(内视锥体作为相机) 右图: 找到shadowDepthBias,重新映射并将最小值编辑为-0.01。完成后,再次回到滑块并将其滑至最小值。此时你应该会得到类似这样的效果。

正如我之前所说,我会更详细地解释这到底是怎么回事,但为了不让你一直困惑: 要么将阴影衰减值调到最低,要么启用恒定衰减,调整阴影过滤大小来改变边框的粗细,增加约25的半径以减少块状感,而最小距离和/或阴影深度偏移可以决定边框在哪些位置可见。这是渲染效果。 我会在3.2部分更详细地解释这一点。

这就是所有边缘光组合在一起的效果,看起来像霓虹小子。

以下是目前为止的整体效果。现在这里只缺少一组灯光。 1.4 - 灯光 - 环境光与元素查看器快速浏览 环境光顾名思义:其设置旨在反映环境中的光线。 话虽如此,我将快速介绍这些内容。

左上角:此灯光启用阴影效果,半径为250。 右上角:反弹灯光。这里有两盏灯光,是其下方灯光的复制品,一盏略偏左,一盏略偏右,因为单盏灯光的亮度不够均衡。它们未启用阴影,半径为450,视野范围为最大。 左下角:更多轮廓光以柔化光线,太棒了!左右两侧各有一盏灯光,反射当前设置的颜色(如你所见,右侧为浅橙色,左侧为浅蓝色)。未启用阴影,半径为250。 右下角:所有灯光组合效果。

以下是所有效果启用后的样子。基本已经完成,但在整个指南过程中一直让我困扰的是他的鼻子太亮了。这是因为启用了【Phong光照渲染】。

如果不想修改.vmt文件来降低它,我们可以使用材质覆盖功能。 操作步骤不分先后:右键点击模型,将鼠标悬停在【在元素查看器中显示】上,然后点击【模型】。在此之前或之后,再次右键点击模型,找到【添加覆盖材质】选项。 执行此操作后,会为你打开角色材质的元素查看器菜单,这是一个几乎可用于任何操作的强大工具。

打开后,找到【+ materials】并点击加号打开子菜单。在其中找到你想要降低高光(phong)效果的部分(对于具有基础材质的模型,比如《军团要塞2》中的雇佣兵模型,这应该很容易)。 更改高光效果的方法有很多,但在这个场景中我们将使用【$phongboost】。右键点击材质,指向“添加属性”,选择“float”(浮点数)以确保可以修改数值,然后输入【$phongboost】。完成后,不建议将该数值设为0,你可以尝试调整数值。这里我将其设置为0.25。 还有一个小提示,因为不想为了一张图单独开一个部分,所以顺便提一下:

最后还有一件事要做,那就是更改AO的颜色。和之前展示的一样,右键点击你的相机,指向【在元素查看器中显示】,然后点击【相机】。在那里你可以看到很多隐藏功能,但我们要修改的是【SSAOTint】。在这个例子中,我将它设置为深橙色。

开始吧!看起来我们终于准备好渲染了! 1.5 - 光照 - 渲染 既然你已经有了满意的渲染效果,现在是时候进行渲染了。 在我们的渲染中只有一个角色的情况下,本指南将帮助你尽可能干净地去除背景(这需要额外的工作,但这样做总比被绿色轮廓破坏效果要好) 然后进行一些后期处理,我所做的是颜色校正,用Clip Studio进行小范围的手绘修改来清理模型较大的边缘,并添加一个简单的背景,这样你就完成了!

这就是我们的“宝贝儿子”——2.0版本,新增了照明和次表面散射效果。 正如我在本指南中多次提到的,SFM的灯光和真实灯光不同,所以你必须想出一些巧妙的技巧来解决这些缺陷。 在这个案例中:Source Filmmaker不支持次表面散射。所以你必须手动用灯光来实现。 什么是次表面散射? 最简单的解释是,将你的手放在强光前,看到手上的红色光晕了吗?那就是次表面散射。 这也是一个不该一直使用的技巧,例如在黑暗环境中,皮肤不会出现这种效果。我通常会对更“写实”的模型使用这种技巧。对于军团要塞2的模型,有时也会用,但这真的取决于照明情况。

该模型就是这个好家伙。以下是灯光的超快速说明,以防万一:

对于新手或经验不足的人来说,这看起来没什么问题。但在经验更丰富的人眼中,他的皮肤质感太厚了。阳光照在他的脸部和手部,但看不到任何红晕。 我只会讲解头部的处理方法,这样就不会在指南中加入过多图片,因为手部的光照处理和头部基本相同,只有一处例外。

此处所有灯光均为无影灯: 左上角: 他脸部最亮的区域应用红橙色光突出显示。 右上角: 此灯光设置为配合主光,应尽可能呈现红色。 左下角: 可能有点难以看清,但这基本上是我们散射效果中的补光:它用于照亮他脸部较暗的区域。 右下角: 可能更难看清,但我在此处为他的胸部区域添加了相同的灯光。

将所有这些(以及对手部重复前3盏灯光)组合在一起后,你的灯光效果应该会是这样的。如果其他灯光足够亮,灯光稍微照射到衣物和物体上也没关系。 如果在让灯光照射到正确位置时遇到问题,建议启用超级灯光,并调整cutOn和cutOff参数,以避免它们与其他物体发生碰撞。

现在它已准备好进行渲染。这只是个小细节,但却带来了巨大的变化!

经过细微修复和色彩校正后的最终渲染图。采用与之前“重型”渲染相同的方式进行渲染。 2.1 - 附加照明 - PBR(基于物理的渲染)模型

你是否曾经下载过带有金属部件的模型,但在你这里这些部件完全是黑色的(左图)?而当你尝试照亮它时(右图),会留下这些难看的黑斑? *我已禁用补光灯来演示此问题,否则现在显示的所有内容都会重复出现,再加上体积效果。 这些模型内置了伪PBR系统,它模仿了更现代的引擎渲染金属部件等物体的方式。 那张开灯的示例图片缺少补光灯,因为要让材质正常工作,你需要对它们进行一些调整。

如果你一直按照补光灯部分的指南操作,应该已经额外添加了两盏灯。现在,你需要在角色周围全方位设置灯光,具体位置包括:左、右、上、下、前、后。 此次景深(DoF)和半径设置非常重要。景深采样率的最小值为256,这些灯光的半径值最小值建议在200左右,并且每盏灯都使用全视野(FoV)。当然,你也可以将数值调高,比如我之前提到的将景深设为512,所有灯光半径设为450。另外一个建议是(正如示意图上的颜色所示),这次要将灯光颜色调整得与主光源更匹配。在我的渲染中,主光源来自左侧,所以我将左侧灯光设为橙色,其余则保持蓝色。

结果出来了。现在之前的暗斑都消失了。

这次只对后期处理进行了色彩校正,所以直接展示渲染图像。如前所述,难看的斑点已经消失。太棒了! 3.0 - 灯光技巧 - 负向灯光 现在我们来看看有趣的部分!其中几乎每一项都包含滑块重映射,我在本指南前面已经解释过。 不过让我们从最常见的一项开始:负向灯光。 它们名副其实:就是负向的灯光!我打赌你以前不知道! 首先,生成一个新灯光并禁用其阴影(你也可以使用阴影,但效果很糟糕)。然后重映射强度值,将最小值设为-1000。现在将强度调到最小值,你就能看到一些有趣的效果:

1000至最大(SFM默认)

你可以通过调整颜色设置来修复那些看似蓝色的部分。由于光线为负值,颜色滑块的作用也会相反。例如:将红色滑块调到最小值会使光线呈现红色。 它们都设置了4盏半径为450的填充光,以及那一盏特定的灯。 你可能会想:“这到底有什么用?说实话看起来挺糟糕的 :/” 我能立刻举出的一个例子是用于制作卡通风格的照明,也就是赛璐珞着色(Cel Shading)。

这是一个全引擎内的示例,使用相同的填充光,两盏负光从左侧照射,所有参数调至最小,并启用恒定衰减。此外还有一盏主光。我承认这看起来相当难看,但这是不进行后期处理编辑的情况下能做到的最佳效果。因为你无法将负光设置为灰色同时保持锐利,即使只是稍微亮一点(没那么暗?),它也会变得平滑。

这里同样是这些灯光(没有主光),但分开渲染:补光单独渲染,第二次渲染时在控制台输入mat_fullbright 1(这样可以在全亮模式下保留灯光,而不是像“启用照明”按钮那样禁用所有灯光),并通过$basetexture材质覆盖将工程师的纹理改为纯白色。然后在Photoshop中,我将全亮渲染图层改为正片叠底模式,并将不透明度调整为20%。 你也可以不用负灯光或麻烦的材质设置来完成这个技巧:只需用一个非常亮的灯光代替负灯光,当你将其导入图像编辑软件时,只需反转图层即可。这种方法更简单快捷,但既然我在解释这些灯光……稍微花点心思,效果就能提升十倍 ;) 3.1 - 灯光技巧 - 颗粒感超级光 这是我经常使用的一个技巧,适用于补光灯、主光灯乃至轮廓光。有时我会把它用在所有灯光上。你可以在“重装机兵”和“桐生一马”的补光灯与主光灯上看到,在次表面散射灯光上也能看到。

要实现这一效果,你需要启用超级光照。启用后,找到边缘宽度和边缘高度设置,并将它们调至最小值。 我之所以说要调至最低,是因为尽管它们看起来已经处于最低可能值,但实际上默认值为0.050,而最小值是0.000。 将它们设置为最小值0.000会在一定程度上破坏光照效果,使其看起来非常粗糙。

在这里你可以看到,渲染时灯光呈现出那种干净柔和的效果。最棒的是,这个技巧不需要使用任何图案纹理片,所以对于那些痴迷灯光的少数人来说,这就是你们想要的。 再放一个动图来展示我为什么特别喜欢将这个技巧与四盏补光灯组合使用:

如果你想看看完整灯光设置的效果,可以查看我制作的3张渲染图,我在每张图的补光中都使用了这个方法。 3.2 - 灯光技巧 - 轮廓边缘光 如果你一直在通读本指南,这就是我在1.3部分提到的那个特别的技巧。 如果你还没看过,我用之前用过的图片快速回顾一下:

引用自 the smelly sfm man:左图:以新光源生成,保留其阴影,并将其定位成类似这样(内视锥体作为相机)。右图:找到shadowDepthBias,重新映射它并将最小值编辑为-0.01。完成后,再次回到滑块并将其滑至最小值。你应该会得到类似这样的效果。之后我直接得到了最终结果,因为这个技巧需要单独说明。本质上,我们让SFM错误地读取了灯光阴影。因此在某种程度上,它使灯光的光照被解读为阴影,而阴影现在变成了实际的光照。尽管奇怪的是,在灯光阴影之后它仍然有阴影。换句话说,我们在这盏特定的灯光上颠倒了光与影的角色。这就是为什么将它直接放在拍摄主体前方如此重要。

当你的灯光效果调整至右侧图片所示状态后,你可以将shadowAtten(阴影衰减)拉至最小值,或者启用constantAttenuation(恒定衰减)。必须这样做的原因正如我之前所解释的:灯光的作用已经反转,因此现在作为阴影的中心部分会呈现出难看的效果。我个人更倾向于使用恒定衰减,因为它能让灯光尽可能保持明亮,同时你还可以调整其强度。默认情况下,轮廓相当粗,但你可以轻松进行调整!

通过调整阴影滤镜大小,你可以确定阴影的厚度。建议你只将其调整到默认值以下,因为它可能会变得非常宽。

如果你希望模型中的某些线条在内部中断,而不是仅在边界处中断,【最小距离】参数可以帮助你实现这一点。该参数设置得越高,中断的线条就会越多。

借助我用那些颗粒感灯光制作的补光灯,最终呈现出了这样的效果。 结论: 使用半径参数就好。 而且不要偷懒! 我曾无数次因为灯光效果不佳而重新调整整个场景的灯光,返工之后效果确实好了很多。建议每次都从头设置灯光,而不是重复使用同一个灯光配置。 以上就是这份内容详尽的灯光指南。 感谢我的朋友Pretzel为本文提供了一些灵感,大家可以去看看他的作品。 记住,即使学会了我的方法,也要保持创造力,尝试对我展示的内容进行调整和创新!虽然我大多数时候都是这样操作的,但有时也会做些调整,比如关掉一些灯光、增加一些额外的灯光等等。 这份指南在很大程度上也适用于场景搭建或地图的打光,但你需要省去一些灯光(比如大部分轮廓光),并将设置的灯光调整为适合大面积区域的类型。此外,还可以添加更多灯光来营造假雾效果、充当街灯等,具体取决于你要处理的场景或地图类型。 再次强调,这是我的第一份指南,希望能对大家有所帮助。像这样详细地解释事情并非我的强项。 祝大家一切顺利!