STEREOGEN / DOCS

带轮廓的三维立体图简易教程

带轮廓的三维立体图简易教程:StereoGen 应用内完成

普通的单图立体画会把三维形状完全藏进重复纹理里,很有“解谜感”,但主体边缘不一定醒目。如果想让隐藏的模型浮现后仍有清晰轮廓,可以把同一份三维场景拆成两层:先生成普通立体图,再生成一张透明背景的轮廓立体图,最后把两层叠在一起。

StereoGen 0.2.0 已经可以从文字、内置几何 Mesh 或外部三维模型生成深度图和透明轮廓, 再把基础立体图与轮廓映射层直接合成。本文先介绍不离开应用的快速方法,后半部分保留原来的 Blender + Krita 方法,供需要精确相机、复杂描边和后期蒙版的高级自定义工作使用。两种流程 都完全在本机完成。

最终效果如下:

带轮廓的三维立体图成品

先探索节点版案例

下面使用 App 内置环面结演示同类流程,素材与本教程截图中的模型不同。可以查看节点、中间结果和预设;节点模板需要支持节点图的构建。现有 0.2.0 用户仍可继续按照下文的界面操作完成。

轮廓立体图

启用 JavaScript 可查看节点和切换预设。

打开完整案例与下载模板

先理解整个流程

我们需要得到三张图:

  1. base.png:以普通纹理生成的基础立体图。
  2. outline.png:以透明轮廓图作为映射纹理生成的轮廓层。
  3. composition.png:把前两张图叠加后的成品。

成功的关键只有两个:深度图与轮廓图必须使用完全相同的相机和构图;生成两层时,也必须 使用相同的立体几何参数。应用内模型输出会自动保持第一项对齐,结果图层的兼容性提示可以 帮助检查第二项。

推荐:在 StereoGen 0.2.0 内完成

第一步:由文字、形状或外部模型生成深度图

打开“深度图”标签页,在右侧选择一种模型来源:

模型由用户自备。可以在 Sketchfab 等模型资源网站查找和下载, 也可以使用在线 AI 图片转三维模型服务生成。本文截图中的鲸鲨模型已上传到 Sketchfab, 可自由下载使用:下载鲸鲨模型

设置旋转、边距、深度位置、深度跨度、边缘柔化和画布大小,然后点击 生成深度图。 生成以后继续调整参数,预览会实时更新。

在 StereoGen 中从鲸鲨模型生成深度图

第二步:由同一个模型生成透明轮廓

切换到“纹理”标签页,再选择 模型。选择 模型轮廓,调整线宽和线色,然后点击 用作纹理。这张轮廓图沿用深度页的模型、旋转、位置与画布,因此不需要手工对齐,也 不需要先保存为中间 PNG。

在 StereoGen 中生成与鲸鲨深度图对齐的透明轮廓

生成成功时,StereoGen 会为这一次事件自动选择 映射纹理。在“立体图”标签页确认 无颜色自动填满画布,点击 生成,然后在工具栏打开 图层并选择 保留当前。这会把轮廓映射结果暂存在内存中。

第三步:生成基础立体图

回到“纹理”标签页,选择 随机点散布并挑选一个预设。本例使用随机点的 青玫配色,它与白色鲸鲨轮廓形成清楚的明暗对比。

为鲸鲨基础立体图准备青玫随机纹理

内置纹理生成成功时,StereoGen 会为这一次事件自动切换到 现代算法。回到“立体图” 页生成基础立体图;不要改动画布、观看模式、视差、深度系数或曲线 k,以免它与轮廓层 失去几何一致性。

第四步:在结果工具栏中合成

再次打开 图层。图层列表代表从上到下的计算顺序:第一行是合成起点,后面的行 依次覆盖到累计结果上。因此应把基础立体图排在第一行,把暂存的轮廓映射层排在它后面, 再设置轮廓层的混合方式与 Alpha。

在应用内排列鲸鲨基础立体图和轮廓映射层

点击 合成即可预览成品。需要调整时可以重新打开图层弹窗;满意后使用 另存为… 导出,也可以选择 保留结果,把合成图作为一个新的内存图层继续参与合成。

在 StereoGen 内完成的鲸鲨轮廓立体图

内置合成器最多保存 4 个内存结果,退出应用后不会写入磁盘。它适合轮廓、填充或贴图层的 快速合成;需要不限数量图层、蒙版、局部擦除、重新着色或长期保存中间文件时,请继续使用 下面的高级流程。

高级自定义流程:Blender + Krita + StereoGen

以前的方法仍然有效,而且保留了更多外部渲染与后期控制。下面的步骤使用 Blender 准备 深度图和轮廓图,使用 StereoGen 生成两个立体图层,再用 Krita 合成。它特别适合自定义 相机投影、Freestyle 线型、多轮廓通道、蒙版和局部调整。

需要的软件

本文还提供一份 Blender 辅助脚本:下载 depth.py。它会设置相机、渲染分辨率、Freestyle 描边、合成节点和输出文件。

脚本顶部的常用参数如下:

RESOLUTION_X = 1920
RESOLUTION_Y = 1080
OUTLINE_COLOR = (0.0, 0.0, 0.0)
OUTLINE_THICKNESS = 2.0
PROJECTION_MODE = "HALF_PERSP"

第一次尝试可以保持默认值。需要调整时,通常只要修改分辨率、轮廓颜色、轮廓粗细和投影模式。

第一步:在 Blender 中输出深度图和轮廓图

打开 Blender,在脚本工作区载入并运行 depth.py。脚本会设置场景和输出节点,并把输出目录设为桌面。

接着导入你的三维模型。此后只移动、旋转或缩放模型,让它进入画面,不要移动相机。深度图和轮廓图必须来自同一个视角;相机一旦变化,最终叠加的轮廓就会错位。

摆放完成后,在 Blender 脚本区执行:

bpy.ops.render.render(write_still=True)

渲染完成后,桌面上会出现:

blender_depth0001.png
blender_outline0001.png

深度图用灰度表达距离,通常越亮越靠近观察者:

Blender 输出的深度图

轮廓图与深度图使用相同的画幅和构图:

Blender 输出的轮廓图

如果 Blender 已经输出了透明背景的轮廓 PNG,可以直接跳到第三步。如果得到的是白底黑线,先进行下一步清理。

第二步(可选):在 Krita 中去掉轮廓背景

用 Krita 打开 blender_outline0001.png,把图层转换为选区蒙版:

在 Krita 中把图层转换为选区蒙版

对白底黑线的图片反向选择,再用需要的轮廓色填充:

在 Krita 中反向选择并填充轮廓

把结果导出为支持透明度的 PNG:

blender_outline0001-clean.png

清理后的图片只保留轮廓,其他区域完全透明:

透明背景的干净轮廓图

不要裁剪或缩放这张图。它必须和深度图具有完全相同的像素尺寸,才能在 StereoGen 的“映射纹理”模式中使用。

第三步:用 StereoGen 生成基础立体图

打开 StereoGen,进入“深度图”标签页,点击 打开深度图…,选择:

blender_depth0001.png

在 StereoGen 中载入深度图

切换到“纹理”标签页,点击 打开纹理…,选择一张细节丰富、局部对比适中的纹理。无缝纹理通常更容易获得自然结果。

在 StereoGen 中载入基础纹理

切换到“立体图”标签页,打开 选项,建议先这样设置:

点击 生成。如果三维效果太弱或太难融合,调整视差、深度系数后重新生成。

使用 StereoGen 的现代算法生成基础立体图

确认结果后点击 另存为…,保存为:

base.png

基础立体图

第四步:用 StereoGen 生成透明轮廓层

保持 StereoGen 打开,不要更换深度图,也不要改变输出尺寸。切换到“纹理”标签页,点击 打开纹理…,把纹理换成:

blender_outline0001-clean.png

在 StereoGen 中载入透明轮廓纹理

回到“立体图”标签页,在选项中设置:

映射纹理模式要求深度图和纹理的宽、高完全一致。如果 StereoGen 提示尺寸不同,请回到 Krita 检查是否误裁剪或缩放了轮廓图。

点击 生成

使用 StereoGen 生成透明轮廓立体图

点击 另存为…,务必保存为支持透明通道的 PNG:

outline.png

透明背景的轮廓立体图

第五步:在 Krita 中合成成品

用 Krita 打开 base.png,再把 outline.png 作为新图层放到基础图上方:

在 Krita 中添加轮廓文件图层

此时轮廓已经跟随隐藏的三维结构排列。你还可以继续调整:

最后导出:

composition.png

最终合成的带轮廓三维立体图

常见问题

为什么轮廓和立体形状错位?

最常见的原因是两次 Blender 输出之间移动了相机或模型,或者在 Krita 中裁剪、缩放了轮廓图。深度图和轮廓图必须来自同一个构图,并保持相同像素尺寸。

为什么轮廓不明显?

可以在 depth.py 中增大 OUTLINE_THICKNESS,也可以在合成时提高轮廓图层不透明度、改变颜色或混合模式。建议先从较细的轮廓开始,太粗的线条会遮住基础纹理。

为什么透明轮廓没有铺满画布?

优先启用 StereoGen 的“自动填满画布”。如果需要手动控制,则关闭该选项并增大“重复次数”。

为什么导出的轮廓层变成了实色背景?

确认映射纹理的背景色是“无颜色”,并把结果保存为 PNG。JPEG 不支持透明通道。

每次调整都要等很久怎么办?

先关闭“自动生成”,完成一组参数调整后再点击“生成”。调试时也可以先降低 Blender 输出分辨率,确定效果后再生成大图。

下一步

熟悉这套流程后,可以尝试彩色轮廓、不同粗细的多层轮廓,或者把文字和图标做成透明映射纹理。只要始终保持深度图与轮廓素材严格对齐,StereoGen 就能把它们变成可独立编辑的立体图层。

更多参数说明和观看方法,请参阅 StereoGen 中文用户指南