资讯动态

ArmorPaint 全流程实战:开源免费搞定 PBR 纹理绘制

发布时间:2026/9/15 0:43:37 来源:尧图企业网站定制
第一次把 ArmorPaint 正式用进项目是在给一个场景道具补 PBR 贴图的时候。那会儿电脑上其实已经装了 Substance Painter但考虑到项目整体走开源流程又不想把资产绑死在付费软件上就试着拿 ArmorPaint 顶一阵。结果三天之后我把整个场景的贴图工作都迁到它上面了。ArmorPaint 是一款基于 GPU 加速的 3D 纹理绘制软件核心理念是把 Photoshop 的图层工作流搬到三维模型表面配合实时 PBR 预览画 Base Color、Roughness、Metallic、Height、Normal 等通道就像在 PS 里调图层一样自然。它用的是自家基于 EEVEE 思路做的实时渲染器所以画的时候能直接看到金属高光、粗糙度变化和环境反射不需要像传统流程那样反复导出到引擎里验证。这篇不是官方文档复述也不是功能清单罗列而是我高强度用了一百多个小时之后从安装、建模到导出引擎全流程的实操笔记。适合三类人看一是想摆脱付费订阅、寻找替代方案的独立开发者二是刚接触 PBR 纹理绘制、被 Substance 的复杂度吓退的新手三是已经在用但总感觉效率上不去的用户。我会把每个操作背后的原因也讲清楚这样你换到任何一款纹理绘制软件里思路都是通用的。1. 为什么我把 ArmorPaint 当主力图层式 PBR 绘制不是缩水版很多人第一次打开 ArmorPaint 的感觉是这界面怎么这么像 Substance Painter。确实像但它的底层逻辑和 Substance 系软件有本质区别。要理解它为什么好用得先理解它的图层体系和渲染预览机制。1.1 和 Substance Painter 的定位差异Substance Painter 在纹理绘制领域是事实标准功能全面、生态成熟但价格和订阅制让不少个人开发者望而却步。ArmorPaint 的定位很清晰免费、开源、轻量、GPU 加速专注于实时 PBR 纹理绘制这个核心场景而不是做一个全能的 DCC 软件。两者最大的差异在渲染引擎。Substance Painter 现在主打光线追踪预览效果真实但对显卡要求高低端卡开起来会卡。ArmorPaint 的预览基于实时渲染管线用了一套类似 Blender EEVEE 的方案——严格来说它内置的是 Armory 引擎的渲染器支持环境光遮蔽、阴影、屏幕空间反射等效果。没有光追那么物理正确但胜在流畅而且画贴图这个场景实时反馈比绝对物理正确重要得多。我的实际感受是ArmorPaint 的实时预览对中低端显卡极其友好。我拿一台 1660 Super 的机器画 4K 贴图视口操作依然跟手。相同场景下 Substance Painter 开光追烘焙显存占用和帧率都吃紧。对独立游戏开发来说预览够用 上手快 免费就已经赢了一半。1.2 图层的真正含义一个图层就是一组材质通道ArmorPaint 的图层系统和 PS 的图层有个关键不同这里的图层不是单纯的颜色叠加层而是一个包含多通道信息的容器。新建一个图层你可以同时给它定义 Base Color、Height高度、Metallic金属度、Roughness粗糙度、Material材质类型、Opacity透明度、Emissive自发光等通道。这带来一个很大的好处你不用像传统流程那样为每个通道单独建一个图层组然后切换通道去画。你可以把一个图层理解成一层完整的材质。比如我画一个锈蚀金属板新建一个图层把 Base Color 设为红褐色、Metallic 拉高、Roughness 调低然后用蒙版控制它出现在模型的哪些区域。这个图层就自带完整的材质属性不需要在多个贴图文件之间来回切换。图层类型也有讲究。默认是 RGB 图层也就是只画颜色。但你可以通过改变图层类型让它输出为高度、金属度、粗糙度等通道。快捷键是 Shift 1 到 Shift 7 之类的组合具体可以在图层面板里右键切换。这里有个非常实用的技巧如果你只想调整某一层的粗糙度而不想动其他通道不需要新建图层直接在图层面板里勾选Roughness Only之类的通道锁定选项或者干脆在图层的通道选项卡里关闭其他通道的输出。这样笔刷只会影响粗糙度其他通道保持不动。1.3 实时预览的价值所见基本即所得画 PBR 贴图最痛苦的事情之一是你在软件里看到的颜色和参数跟最终引擎里渲染出来的效果有巨大差异。传统流程里你得反复导出贴图、丢进引擎、跑光照、看效果不满意再回来改一个来回就是几分钟。ArmorPaint 把这种验证时间压缩到了零。它内置的环境光、阴影和反射实时更新调整 Roughness 滑块模型表面的高光马上变模糊调 Metallic环境反射立刻出现。我经常在画完一个图层后不导出直接在视口里旋转模型从各个角度检查高光和反射是否符合物理规律。这种实时反馈对新手特别友好。它能帮你建立参数到效果的直觉什么是光滑表面的尖锐高光什么是粗糙表面的漫反射什么是金属独有的环境映射。我之前带过一个新人让他先在 ArmorPaint 里画几个球体把 Metallic 和 Roughness 拉一遍他对 PBR 的理解比看十篇教程都快。当然所见即所得也不是百分之百。ArmorPaint 的渲染效果更接近实时引擎而不是离线渲染器。如果你最终是要输出到 Cycles 这样的路径追踪渲染器还是得预留时间做最终效果校准。但如果你做的是游戏资产ArmorPaint 的预览几乎和 Unity、Godot 的默认 PBR 效果一致。2. 完整走一遍给旧油桶画锈迹与划痕理论说太多没用直接上个实战。我拿一个常见的项目需求举例给一个金属油桶模型绘制底部锈蚀、桶身磨损、顶部有反光的旧化效果。这个案例几乎涵盖了 ArmorPaint 的日常操作模型导入、UV 检查、图层、蒙版、笔刷参数、高度通道。2.1 模型准备与 UV 检查ArmorPaint 可以导入 OBJ、FBX、glTF、Blend、STL 等格式从我实际用的频率来看glTF 和 OBJ 最稳Blend 格式也支持但偶尔会因为 Blender 版本差异导致材质节点兼容问题。我习惯在 Blender 里把模型清理好展好 UV再导出为 glTF 2.0 或者 OBJ。UV 的展开质量直接决定后续绘制体验。ArmorPaint 的笔刷是作用在 UV 空间再映射回三维表面的所以 UV 岛如果拉伸严重画出来的笔触就会变形。经验是画之前务必在 Blender 里检查 UV 拉伸把拉伸明显的区域重新展平另外尽量把 UV 岛的排列紧凑些利用率高一点。ArmorPaint 自带一个Texel Density纹素密度检查器可以在视口里用颜色显示 UV 密度是否均匀这个工具值得多用。导入后第一步我习惯先确认模型的比例和轴向。ArmorPaint 里 1 个单位通常对应 1 米如果你从别的软件导入的模型尺寸差异很大后面烘焙 AO 和曲率会出现精度问题。比例不对的模型会在烘焙时出现奇怪的噪点这点很多人容易忽略。2.2 先铺底层材质从 Base Color 开始导入模型后我做的第一件事不是画颜色而是整理图层结构。ArmorPaint 的图层面板在右侧默认会有一个初始图层。我给它改名为基础金属然后开始填充。按 Shift K 可以打开填充工具或者直接在工具栏选 Fill。填充的时候不选纯色而是把 Base Color 设为一个偏暗的灰绿色——旧油桶的底色通常不是纯黑而是带一点暗绿的深灰。Metallic 拉满Roughness 设为 0.4 左右。这样一桶油漆下去模型就有了基础的金属质感。这里有个容易踩的坑很多人画金属时把 Base Color 设得很亮导致后面加锈迹、做脏迹时缺乏对比空间。PBR 材质里金属的颜色通常应该偏暗因为高光和反射会叠加一部分亮度上去。实时预览里你会看到同样的 Base Color 在 Metallic 和 Roughness 影响下最终呈现的效果千差万别。所以铺底色时要频繁旋转模型看高光而不是只看漫反射颜色。2.3 锈迹与磨损图层、蒙版和笔刷参数基础材质铺好后新建一个图层命名为锈蚀。这个图层我要让它同时携带颜色和粗糙度信息所以把 Base Color 设为铁锈的橙色Roughness 拉到 0.85 左右Metallic 降为 0。这样锈迹区域会显得干燥、粗糙、非金属和周围的金属形成鲜明对比。关键来了我不想让锈迹铺满整个油桶而是集中在底部、焊缝附近和凹陷处。这时候不需要橡皮擦而是给锈蚀图层添加一个蒙版Mask用黑色蒙版把图层完全遮住然后切换到白色笔刷在需要锈迹的地方把蒙版擦出来。蒙版操作是 ArmorPaint 图层系统的核心实际效率和手感远超 Substance Painter 的同类操作。画笔直径用 [ 和 ] 键快速调整透明度用数字键 0 到 9 控制Shift 键可以临时切换到平滑笔刷。接下来是笔刷参数。默认笔刷是圆形软边画锈迹时我把 Flow流量调到 30% 左右这样一笔下去不会太死方便叠加出层次。如果想画那种颗粒状的铁锈质感可以在笔刷设置里开启 Rake 和 Scatter 随机再搭配一个噪声纹理笔触就会呈现出不规则分布。实操下来锈迹最好分两层画第一层大面积铺透明度低一点压在基础金属上面第二层用小直径笔刷在边缘和焊缝处点几个深色斑点模拟锈斑堆积。2.4 高度与凹凸用 Height 通道做细节油桶表面的凹凸感是区分贴图和质感的关键。ArmorPaint 的 Height 通道可以用来生成视差贴图或者法线贴图但需要注意的是Height 通道画的是高度偏移实际渲染时通过视口里的 Height 模式渲染才能看到效果。我的做法是在锈蚀图层上新建一个Height 细节图层把图层类型切换为 Height然后用深灰色和浅灰色笔刷在焊缝、凹陷处画出高度差。焊接痕迹用浅色凹陷和破损用深色。画完后在导出设置里让 ArmorPaint 从 Height 通道烘焙一张法线贴图这样既能有真实的高度信息也能得到适合引擎使用的法线贴图。Height 通道有一个使用技巧不要把对比画得太极端。轻轻一笔灰色在最终法线里就会放大成可见的起伏。如果真的需要很强的凹凸宁可叠加多次也不要一次性拉满不然导出后会出现不自然的黑色硬边。走完这一步油桶的主体效果已经出来了基础金属质感、局部的锈蚀、有高度细节的焊缝。接下来要进入效率倍增的阶段——程序化工具。3. 程序化滤镜和智能材质效率提升最快的部分纯手工绘制能出好效果但效率有限。ArmorPaint 真正让我感到惊艳的是它的程序化滤镜Filters和智能材质Smart Materials系统。这些工具把以前需要手工一笔一笔画的效果变成了参数化的一键操作而且全部基于节点可复用、可调整。3.1 烘焙不是后期步骤是前期准备在讲滤镜之前必须先说烘焙。ArmorPaint 的滤镜系统中有几个效果——环境光遮蔽AO、曲率Curvature、法线Normal、对象法线Object Normal等——通常需要先烘焙成贴图才能作为滤镜或者蒙版的输入。我习惯在刚开始任何绘制之前就先把 AO 和曲率烘焙好。操作路径菜单栏的 Texture 标签下找到 Baker烘焙面板选好模型勾选 AO、Curvature、Normal 这几项点 Bake。这里解释一下为什么要在绘制前烘焙AO 贴图记录了模型缝隙和凹陷处的遮蔽信息曲率贴图记录了表面是凹还是凸。这些信息是后期做脏迹、边缘磨损、污渍的基础。比如我想在油桶的焊缝和凹陷处堆积污垢不需要手动去描那些位置直接用 AO 贴图作为蒙版的输入让污垢自动出现在遮蔽区域。烘焙时的几个设置要注意采样率Samples建议至少 32太低会出现噪点Padding边缘填充选择 4 或 8避免 UV 岛接缝处出现黑边如果模型有多个 UV 岛且间隙很小记得勾选 Dilate 让烘焙结果向外扩张。3.2 滤镜节点AO、曲率、法线一次跑完ArmorPaint 的滤镜系统藏在 Texture 菜单里点开 Filters 面板你会看到一排节点式的滤镜Blur模糊、Curvature曲率、AO、Normal、Height、Selective Color、Directional Blur 等等。这些滤镜不是傻瓜式按钮而是可以串联的节点网络。比如一个典型的流程先加一个 Curvature 滤镜生成曲率贴图然后接一个 Levels色阶节点调整曲率的对比度最后再加一个 Blur 让边缘柔和一点。整个过程在滤镜面板里通过添加节点、连接节点完成类似 Substance Designer 的思路但轻量得多。实际使用中我常用这几个组合AO 滤镜配合 Levels压暗缝隙提高整体立体感Curvature 配合 Levels提取边缘细节作为磨损蒙版Height 滤镜将高度图转换为法线或者控制视差强度Normal 滤镜直接生成世界空间法线便于在引擎里调整光照滤镜的好处在于非破坏性。我可以随时调整 Levels 的阈值或者删掉某个滤镜之前的绘制结果不会受影响。这比 Substance Painter 里直接用笔刷擦除要灵活得多。3.3 智能材质 Smart Material 的工作方式智能材质是 ArmorPaint 里另一个杀手级功能。它的本质是一个预设好的图层组包含多个图层、蒙版、滤镜的组合可以一键应用在模型上。ArmorPaint 自带了一些智能材质比如生锈金属、塑料、木材、混凝土等。选择空白模型在资源面板的 Smart Material 分类下拖一个出来模型瞬间就有了完整的 PBR 材质效果——包括 Base Color、Roughness、Metallic、Height 和蒙版。更关键的是你可以自己创建智能材质。我把前面做的油桶锈蚀那套图层全部选中右键标记为 Smart Material 的素材然后保存。以后遇到类似的旧化金属道具直接拖出来套用再根据模型特点微调就行了。这种复用的价值在批量资产制作时体现得尤其明显。做游戏场景时我经常需要同时做十几个油桶、箱子、管道它们风格类似但细节不同。用智能材质打底再用蒙版和笔刷做个体化区分两三天能干完以前一周的活。3.4 一个典型的边缘磨损流程来一个具体流程展示滤镜和蒙版如何配合。目标是给油桶的棱边做金属磨损效果——就是那种漆面磨掉、露出底下金属的高光边缘。第一步在锈蚀图层之上新建一个图层命名为边缘磨损。这个图层的 Base Color 设为亮银色、Metallic 拉满、Roughness 调低到 0.2模拟抛光金属。第二步给图层加一个黑色蒙版让图层完全不可见。第三步在滤镜面板里添加一个 Curvature 滤镜然后对曲率结果做 Levels 调整把阈值设到只有棱边的高曲率区域呈现白色。这个 Curvature 输出作为蒙版的输入连接到边缘磨损图层的蒙版上。效果立刻出现模型棱边出现了一条干净的磨损线而平面处不受影响。如果觉得边缘太硬加一个 Blur 滤镜柔化觉得磨损范围太大调整 Levels 的白点阈值。这个过程全程没动一笔但效果比手画精准得多。尤其在复杂模型上手画边缘磨损几乎不可能画得均匀而程序化的结果完美贴合模型几何形状。这是 ArmorPaint 工作流里我最依赖的效率武器。4. 规格、命名与引擎对接画完贴图只是第一步很多人在 ArmorPaint 里画得挺好一导出到引擎就出问题——颜色不对、贴图不显示、法线方向反了、金属度丢失。这些问题大多不是软件 bug而是对导出规格和通道命名理解不够。4.1 导出前要做的检查导出之前我先检查三件事第一模型的 UV 是否完整。如果 UV 有重叠岛导出的贴图会出现互相覆盖这是最常见的异常来源。第二纹理尺寸是否足够。ArmorPaint 默认绘制分辨率可以在画布设置里调整从 512 到 8192 可选。导出时最好保持和绘制分辨率一致避免缩放导致细节丢失。我通常用 2048 或者 4096视项目需求而定。移动端项目用 2048 足够PC 端重要道具才上 4096。第三图层是否都需要导出。有些通道信息在最终渲染里用不到比如 Mask 图层本身不需要导出而 Height、Normal 需要分别设置。ArmorPaint 的 Export 面板里提供了 Texture List可以勾选需要导出的贴图类型。4.2 通道命名和各引擎的对应关系ArmorPaint 导出时默认会生成一张张单通道贴图。比如 BaseColor 是 RGB 颜色Metallic 是灰度Roughness 是灰度Normal 是 RGB 法线Height 是灰度。这里有一个常见误区在 ArmorPaint 里可以直接预览 Metallic 和 Roughness但导出后你不能指望引擎自动识别哪张是金属度、哪张是粗糙度。它们只是一堆 PNG/TGA 文件引擎不会看名字猜用途。所以导出后的文件命名要认真设置并且和引擎节点的输入端一一对应。以 Blender 为例ArmorPaint 内置了针对 Blender 的导出预设会生成一张 ORMOcclusion-Roughness-Metallic打包贴图正好对应 Principled BSDF 的输入。这是最省事的路径。如果导出到 Unity我通常在 ArmorPaint 里分别导出 Occlusion、Roughness、Metallic 三张单通道图然后在 Unity 的 Shader Graph 或标准着色器里分别接上。Unity 的标准管线里Metallic 和 Smoothness即 1-Roughness是合在一张图的 G 通道和 A 通道的所以要手动合并或者用 ArmorPaint 里的打包功能。Unreal Engine 5 的情况类似。UE 的 PBR 材质需要 Metallic、Roughness、AO 的打包方式通常是 G 通道放 Roughness、B 通道放 Metallic、R 通道放 AO。我在 ArmorPaint 里导出时选择 UE 预设它会自动把这三个通道打包成一张 ORM 图。下面是几个常见引擎的通道映射参考引擎/软件Base ColorMetallicRoughnessAONormalBlenderPrincipledBase ColorMetallicRoughnessORM 的 R 通道NormalUnityStandardAlbedoMetallic 的 R/GSmoothness1-Roughness可合并到旧版标准着色器NormalUnreal Engine 5Base ColorORM 的 B 通道ORM 的 G 通道ORM 的 R 通道NormalGodotStandardMaterial3DAlbedoMetallicRoughnessAO 单独接入Normal这个表格不是死的但理解通道如何映射能省下大量联调时间。4.3 Blender / Godot / Unity / UE5 的接入示例Blender 的接入最无脑直接用 ArmorPaint 导出为 glTF 或者将模型连材质导出然后在 Blender 里连 Principled BSDF。如果手动导出把 BaseColor 连着 Base ColorORM 连在 Roughness 和 Metallic 上Normal 连在 Normal Map 节点与法线输入之间。需要特别注意的是法线贴图要连接到 Normal Map 节点让软件自动把切线空间法线转换成 Blender 能识别的格式。Godot 那边StandardMaterial3D 接受 Albedo、Metallic、Roughness、AO 等贴图直接拖入对应槽位即可。Godot 的 Roughness 默认是线性所以从 ArmorPaint 导出的 Roughness 贴图可以直接使用。Unity 的老版本标准着色器用的是 Smoothness 而非 Roughness需要做一个取反1-Roughness或者直接在导入设置里调整。如果不想折腾合并通道我一般就直接用 ArmorPaint 导出时把 Roughness 反色或者生成一张 Smoothness 贴图。新版 URP 里可以配置。UE5 的接入稍微讲究。新建一个 Material把 BaseColor 接到 Base Color把 ORM 的 R 通道连到 Ambient OcclusionG 通道连到 RoughnessB 通道连到 Metallic法线接到 Normal。UE5 的 Nanite 虚拟化几何体对材质有额外的纹理流送要求但通用的 PBR 接入方式不变。4.4 UDIM 与大场景纹理管理如果你的模型是大型场景资产比如一整面墙、一个地形块或者高精度角色单张 4096 贴图可能不够用。ArmorPaint 目前支持 UDIM 工作流可以把模型按 UV 象限拆成多张 UDIM 贴图然后统一管理。UDIM 的好处是细节密度可以做得非常高同时也带来了管理成本。导出时会生成多张贴图命名规则是 baseColor_1001.png、baseColor_1002.png 这种。引擎那边需要支持 UDIM 才能正确识别。Blender 原生支持比较好UE5 也支持但需要开启相应设置。我个人经验是Unity 的 UDIM 支持相对麻烦除非实在没办法否则我倾向于在建模阶段就把大型资产拆成多个物件每个物件单独画贴图。这样既省显存也减少导出后的管理成本。5. 用久了才发现的坑版本、显卡、路径与保存习惯ArmorPaint 整体体验很流畅但用久了还是踩了不少坑。这一节把坑和解决办法列出来能帮你少走很多弯路。5.1 快捷键适应成本如果你从 Substance Painter 或者 Krita 转过来ArmorPaint 的快捷键需要一点适应时间。它的逻辑更接近 BlenderAlt 鼠标旋转视角、Tab 隐藏 UI、Ctrl 空格 切换输入法这种。笔刷半径是 [ 和 ]不透明度是 Shift 数字键。我一开始最大的不适应是视图旋转方向默认模式下鼠标右键旋转视角跟 Substance Painter 相反。后面在设置里调整了鼠标按键映射才舒服起来。如果你之前用的是 PS 的笔刷习惯一定先花十分钟把快捷键表过一遍别在画画中途找菜单那会打断心流。ArmorPaint 的快捷键表可以在 Keymap 设置里自定义。我的建议是把常用的几个动作——填充、新建图层、添加蒙版、切换通道——绑到自己顺手的位置这比记忆一堆默认键位更高效。5.2 中文字符路径与字体问题这一点必须重点说ArmorPaint 对中文字符路径的支持不够稳定。模型放在中文目录下或者文件名带中文偶尔会出现无法导入、导出失败、贴图丢失的问题。虽然不是每次必现但一旦出现就很费时间排查。我的习惯是项目管理完全用英文路径所有资产文件命名只用英文和下划线。贴图内部能不能显示中文其实也看字体配置。如果你在模型表面写文字类贴花用中文字体时 ArmorPaint 可能无法正确渲染文字纹理需要手动装系统字体或者在图像编辑软件里把中文先转成 PNG 贴图再导入。5.3 版本更新快选项位置漂移ArmorPaint 的版本迭代非常快功能更新频繁但带来的问题是界面和菜单位置经常动。比如早先版本里烘焙选项在 Texture 菜单下某次更新后挪到了 Bake 面板里滤镜节点的连接方式也改过几次。如果你是照着网上的旧教程学很可能会遇到这里没有这个按钮的情况。我的应对方法是遇到界面差异先按 F1 呼出官方文档或者直接看 github 仓库的更新日志。ArmorPaint 的文档相对完善快捷键和面板说明都写得很清楚。别急着下这个功能没了的结论多半是换位置了。5.4 显存占用与稳定性ArmorPaint 的 GPU 加速是把双刃剑。显存足够时流畅丝滑显存爆了就直接崩。绘制 4K 分辨率加高精度模型时显存占用可以轻松超过 4GB如果模型面数高、UDIM 多8GB 显存也会告急。规避方法有几个模型导入前做减面只保留必要的细节绘制分辨率从 4K 降到 2K关闭视口的实时阴影和环境贴图反射在 Viewport 设置里调。如果你发现鼠标悬停在模型上时延迟明显先看显存占用是不是逼近上限了。稳定性方面我遇到过一次崩溃是在连续绘制三小时后突然退出由于当时没保存白干的画面历历在目。ArmorPaint 目前没有自动保存功能这是我最希望作者加上去的特性。在自己写好这个习惯之前我每完成一个图层就 Ctrl S 一次。它的工程文件后缀是 .tga 格式实际上是一个集成的容器保存和打开都很快养成随手保存的习惯一点都不麻烦。5.5 保存与备份习惯说到保存我干脆把这一节单独说一下。ArmorPaint 的保存文件不是传统的工程目录而是单个 .tga 容器文件里面打包了所有图层、蒙版、滤镜和贴图信息。打开的时候拖进去就行。这个设计的优点是好管理、方便转移缺点是文件比较大4K 多图层轻松过 200MB而且如果中间某个图层崩了整个文件可能打不开。我的备份策略是分阶段导出绘制过程中每完成一个阶段不仅 Ctrl S 保存工程还把当前的贴图导出一次PNG 格式作为底稿。这样即使工程文件损坏我至少还有一份可用的贴图能接回引擎里。导出贴图这件事本身很快批量导出也就几秒钟别偷懒。还有一个小经验如果你准备把 ArmorPaint 用来做商业项目最好在文档里记录每个智能材质和图层的用途。因为项目周期拉长之后你可能完全忘记当初那个锈蚀2图层的参数是怎么调的。写个简单的 README或者直接在资源面板里给智能材质取规范的名字都会让你几个月后的自己感激不尽。我个人现在的工作流已经成了这样Blender 建模展 UV导出 glTF 到 ArmorPaint程序化滤镜做旧化智能材质打底手工蒙版微调最后导出全套 PBR 贴图接进 Godot 或者 Unreal 看效果。ArmorPaint 未必在所有维度上都超越 Substance Painter但它在免费的价位上提供了 80% 的核心功能而对独立游戏开发来说这 80% 已经足够撑起一个完整项目的美术底子了。最后分享一个提升手感的小技巧给常用的几把笔刷平面笔刷、颗粒笔刷、平滑笔刷绑定数字键快捷键画的时候一只手在键盘上切换另一只手握笔效率会高很多。ArmorPaint 的笔刷参数允许保存为预设提前调好三到四把常用笔刷比现场调参舒服太多。这个习惯我从 Substance 时代就保持着换到 ArmorPaint 依然受用。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价