线稿里出现多余阴影,通常不是单一原因。ManualFig 这类工具的最终画面由“描述 + 风格预设”共同决定:描述里混进材质、光影、渲染类词汇,会把本身偏干净的预设往厚涂方向推;而预设里如果渲染、厚涂、环境光遮蔽一类开关处于开启状态,即使描述已经很克制,也会给线条补上渐变和投影。判断顺序建议是先固定描述、跨预设对比,确认差异主要来自哪一侧,再逐词删描述、最后回看预设开关。下面按这个顺序给出可执行步骤。
先用同一段描述在默认预设和工程图类预设各跑一次,并排看阴影、纸纹、渐变是否随预设变化;若换了预设仍然脏,问题多在描述里的材质与光影用词,逐条删掉后复跑即可;若描述已经只剩形状、视角、线宽仍有阴影,再去检查预设中渲染或厚涂选项是否开启。适用场景是技术线稿、工程示意图、白底轮廓图。验证方式是两次输出并排对照并记录差异点。边界在于不同版本的预设命名与开关位置可能不同,需结合当前环境确认。
用同一段描述分别跑默认预设和工程图类预设
这一步的目的是把变量降到只剩预设。描述原样不动,采样参数(步数、种子、尺寸、采样器)也尽量固定,只切换预设。两次输出建议用同一命名规则落盘,方便并排对照:
# 输出命名建议
manualfig_default_ seed1234.png
manualfig_ blueprint_seed1234.png
# 两次运行之间只改预设字段,其余保持不变
prompt: "a technical line drawing of a bracket, front view, uniform line width"
seed: 1234
steps: (保持默认,不临时调整)
preset: default -> 第一次
preset: engineering -> 第二次
并排对照时按同一区域逐项看,需要记录的差异点包括:线条是否出现柔化或渐变边缘;形状内部是否出现灰色块;背景是否出现纸纹或噪点;是否有投影或环境光遮蔽形成的暗角;描边粗细是否随位置变化。如果两次差异明显集中在预设一侧,说明预设是主因,先跳到第 4 步;如果换了预设阴影依旧,说明描述里有词在持续把画面推向渲染感,进入第 2 步。
检查描述里是否混进了材质和光影类词汇
把整段描述按词拆开,逐词判断它是否只描述形状与构图。常见干扰词大致可以分三类,先扫一遍有没有命中:
- 材质与纹理类:paper texture、canvas、watercolor、ink wash、rough sketch、grain、noise、scanned paper、textured background。
- 光影类:soft shadow、drop shadow、ambient occlusion、rim light、backlight、volumetric light、gradient shading。
- 渲染与画质增强类:realistic、cinematic、highly detailed、8k、masterpiece、concept art、octane、unreal、subsurface。
逐词标注来源的做法是:先把描述复制到一行,每个词后面标一个类别标签,只允许“形状 / 视角 / 线宽 / 材质 / 光影 / 渲染”六种。凡是被标成后三类的词,先全部打上待删记号,暂时不要直接删。这样做的价值是能看出画风是描述自己带进来的,还是预设本来就有的——如果整段描述一个材质、光影词都没有,画面仍然脏,基本可以判定为预设层问题。
逐条删词复跑,只留形状、视角、线宽三类信息
删词顺序建议从影响最大的一类开始,每删一次复跑一次并记录输出,避免一次删太多导致无法归因:
- 先删渲染与画质增强类词,复跑并记录阴影是否减少。
- 再删光影类词,复跑并记录渐变、投影是否消失。
- 接着删材质与纹理类词,复跑并记录纸纹、噪点是否消失。
- 最后删颜色、氛围、情绪类词,复跑并确认形状未被破坏。
每次复跑后记录三件事:这次删了哪些词、画面阴影有无变化、线条是否仍然完整。稳定下来的最短描述通常接近下面这个骨架:
a technical line drawing of a bracket
视角: front view, orthographic
线宽: uniform line width, single stroke weight
背景: plain white background, no fill
负向: no shading, no texture, no gradient, no shadow
这份描述故意只保留形状、视角、线宽三类信息。如果在这个状态下阴影消失,说明前面的词就是来源;如果仍然有阴影,说明描述已经足够干净,接下来查预设。
确认预设里的渲染或厚涂选项当前是否开启
不同版本的预设名称可能不同,但需要找的选项类别是相似的:渲染模式、厚涂或画笔质感、填充与明暗、环境光遮蔽、背景纹理、边缘柔化。处理方式是保持第 3 步得到的最简描述不变,只切换这些开关,各跑一次并对比。
# 预设项检查骨架(字段名以当前版本为准)
render_mode: flat / lineart # 不是 painted / shaded
brush_texture: off
ambient_occlusion: off
background_texture: off
edge_softness: 0
fill_layer: off
判定“已是线稿”的观察点建议固定成几条:线条边缘清晰、没有向两侧过渡的灰度;形状内部没有灰块或渐变色;背景是纯色而非纸张纹理;画面里找不到方向一致的光源投影。开关前后如果差异明显,说明阴影主要来自预设而不是描述,把这些选项关掉后回到第 3 步的最简描述再跑一次确认。
把最简描述与选定预设存成一组固定搭配
确认干净之后,不要再每次现场拼描述。把最简描述、预设名、关键开关状态和采样参数存成一条记录,后续复用它。记录格式建议写成结构化文本,字段固定,便于比对和回滚:
preset: engineering
prompt: a technical line drawing of {subject}, front view, orthographic,
uniform line width, plain white background, no fill
negative: no shading, no texture, no gradient, no shadow
switches: render_mode=lineart, brush_texture=off,
ambient_occlusion=off, background_texture=off
sampler: (记录当前值,不随意改)
seed: 1234
last_ok: 记录这次确认通过的日期与文件名
存完后再复跑一次做验证:使用同一描述、同一预设、同一开关组合和同一种子,对比新输出与上次通过的文件是否一致。如果两次结果在阴影、纹理、线宽上表现相同,这组搭配就可以作为该项目的默认起点;如果出现偏差,优先检查开关是否被改动、预设是否被升级替换,再用第 1 步的并排对照方式重新定位来源。