资讯动态

开源实时PBR贴图绘制工具ArmorPaint实战指南:从UV到导出全流程解析

发布时间:2026/9/14 19:12:46 来源:尧图企业网站定制
ArmorPaint这个名字我第一次看到还是在某个外包团建的休息间隙同事屏幕上开着一个小窗口一个没分UV的工业零件模型正被笔刷扫来扫去换色、刷金属度、画粗糙度全程没有卡顿也没有打开那张传统意义的UV棋盘格。我当时问了一句这是什么他说是ArmorPaint开源免费能实时画PBR贴图而且对没UV的模型也能直接下手。后来我用它完整做过一个道具、一辆载具贴图之后可以负责任地说在3D贴图绘制这个环节它是目前少见的、开箱即用且没有明显短板的工具。这篇博文我会围绕ArmorPaint的实际使用体验展开从安装、界面、核心绘制流程到常见问题排查都过一遍也会聊一聊它在完整PBR流程里到底能替代什么、不能替代什么。不管你是刚接触3D美术的新手还是被Substance Painter授权费折腾过的独立开发者这篇文章应该都能帮你少走不少弯路。1. ArmorPaint到底是个什么工具核心定位与选型思路1.1 它和Blender一样来自开源生态但专注做一件事ArmorPaint是基于Rust开发的3D贴图绘制工具底层图形API走的是Vulkan整个项目由Lubos Lenco发起跟开源的3D建模软件Blender一样走的是社区驱动、公开源码的路子。它跟Blender最大的不同是Blender什么都干建模、雕刻、渲染、特效、视频剪辑全都要而ArmorPaint只干一件事——给3D模型绘制材质贴图。这个“只干一件事”听起来简单实际上带来两个非常实在的好处。一是启动速度快即使是带着中高精度模型的工程打开基本也不会有那种漫长的加载感二是界面极度精简没有层层叠叠的属性面板左侧是工具架右侧是图层和材质属性中间是实时3D视口。你不需要在几十个面板里找功能画画就是画画理解成本很低。从技术实现上看ArmorPaint使用节点化材质系统。每个项目可以有一套默认的PBR材质栈常见通道都有Base Color基础色、Metallic金属度、Roughness粗糙度、Height高度、Normal法线、AO环境光遮蔽也有Emission自发光、Opacity透明度这类附加通道。这套节点图在界面里是可以直接调整的比如你觉得默认的粗糙度映射不够细腻可以连一个噪声纹理进去不必非要去外部软件里PS一张图。1.2 和Substance Painter、Quixel Mixer相比它凭什么值得一用聊到贴图绘制很多人第一反应是Substance Painter。确实SP在行业里的地位很稳智能材质、智能遮罩、粒子笔刷这些功能很好用我也用过不少项目。但SP有个绕不开的问题它是订阅制或买断的商业软件价格对个人开发者、学生、小团队来说并不友好。如果你的项目周期不稳定一年可能只画几个道具那这笔开销就很肉疼了。Quixel Mixer虽然免费但它的定位更偏向于“材质混合”和“贴图叠加”真要给一个具体模型分通道、分层绘制操作逻辑和手感跟专用绘制工具有些差异。而且Mixer最近的更新节奏明显放缓被收购之后的路线也有点让人摸不准。ArmorPaint的定位刚好卡在中间它拥有类似SP的图层体系、PBR通道管理、贴图导出流程同时又保持开源免费。从实际手感来说只要你的电脑支持Vulkan笔刷跟手程度很高压感支持也没问题画起来不会觉得憋屈。对我这种经常需要快速验证材质效果的人ArmorPaint已经成了默认启动项。1.3 它适合哪些项目和哪类工作流先说结论ArmorPaint最适合的个人或小团队场景是——独立游戏开发需要给角色、道具、场景物件做PBR贴图接手了别人给的模型原工程文件找不到或者太大只有OBJ/PLY等模型文件需要快速出图做硬表面道具、载具、武器这类表面纹理清晰的模型需要给学生或新人做3D贴图入门教学前提是不想让他们一上来就背负软件授权成本。它的另一个优势是对老机器比较友好。因为只做贴图绘制不处理复杂的场景渲染和全局光照所以对显卡的要求主要集中在Vulkan支持上而不是绝对性能。我的主力工作机是一块几年前的NVIDIA GPU跑4K贴图绘制基本稳定在60帧以上只有叠加了大量粒子笔刷和实时光追预览时才会明显掉帧。有两点要注意一是它不擅长做雕刻和高模细节二是如果模型需要非常复杂的图层管理器、大量智能遮罩的自动化生成它跟SP还有差距。简单说它替代的是SP用在“快速贴图绘制”和“中小型资产制作”上的那部分工作不是要取代3D DCC主流程。2. 安装部署与运行环境从下载到进入绘制界面2.1 三种获取方式从零成本到给项目打钱ArmorPaint可以通过三种方式获得我按推荐顺序说。第一种也是最推荐的方式直接去官网下载对应平台的二进制版本。官网会提供Windows、Linux、macOS的预编译包下载解压就能用。我一开始用的就是官网版本省心不用自己装Rust环境。第二种在Steam上购买付费版。这里多说一句ArmorPaint本质是开源的Steam上的售价相当于给作者的支持费用不是“买软件”的概念。Steam版本最大的好处是能自动更新新功能、bug修复不用自己去官网盯。另一个小好处是Steam版会内置一些示例素材和快捷键说明对新手更友好。第三种从GitHub拉源码自己编译。这个适合想改功能或者跟踪最新开发分支的进阶用户。编译过程不算难装好Rust工具链后按仓库README操作就行但对大多数人没必要。我当时为了跑一个没发布的实验分支试过编译整套流程下来大概花了一个多小时收益一般后来还是用稳定版省心。2.2 硬件与驱动要求Vulkan支持是硬门槛打开ArmorPaint之前首先要保证显卡驱动支持Vulkan。这个基本是2016年之后的显卡都有的能力NVIDIA、AMD、Intel核显都行但有一个坑如果你的机器是Windows系统且很久没有更新显卡驱动Vulkan相关组件可能缺失程序能打开但视口渲染全黑。遇到这种情况别急着卸载软件先去官方网站更新最新显卡驱动。系统内存方面因为绘制过程中所有贴图都会常驻内存加上撤销栈也会占内存我个人建议至少16GB内存起步。如果你要画的是8K贴图或者模型本身有几百万面建议32GB。不然越画到后面越卡撤销几次甚至可能卡死。还有一个容易被忽略的是数位板。ArmorPaint对手写板的压感支持很不错但如果你是第一次启动在“偏好设置”里可能需要手动选择压感输入设备。不选的话笔刷也会正常工作只是没有压感响应画出来的线条粗细固定非常影响手感。鼠标用户就不用管了直接画就行。2.3 界面布局与核心面板说明进入ArmorPaint后你首先看到的是一块深色UI整体风格和Blender有点接近但更简洁。界面大概分成几个区域顶部工具属性栏存放笔刷、橡皮、吸管、填充、滤镜、克隆等绘制工具以及颜色选择器、笔刷参数大小、硬度、强度、间距等左侧模型资源面板显示当前工程里的模型对象、模型层级可以调整模型的旋转、缩放位置右侧图层面板这是核心区所有贴图的不同通道、不同层的绘制结果都会在这里堆叠逻辑和Photoshop非常像中间3D视口模型以实时渲染方式显示如果你开了“纹理预览”或者“单通道预览”可以非常直观地看到当前绘制的效果。刚开始上手不要急着画先在几个面板之间点一点搞清楚每个按钮是什么。我见过不少新手画了半天导出的贴图却一直是白色原因就是把画面中心那个“渲染视图开关”当成背景灯了实际是图层没输出到预期的通道。2.4 新建项目与基础参数设置别小看最开始的几步新建项目的入口很明显点进去后会让你选择一些初始参数包括贴图分辨率、材质文件夹位置、是否启用多UDIM等。这里要强调一个关键点项目分辨率直接影响最终导出贴图的大小。比如你新建时选了2048那导出的Base Color、Roughness等贴图默认就是2048。工程做到一半再想改分辨率当然也可以但涉及重新烘焙和重绘很麻烦。我个人的习惯是先按最终交付需求定分辨率。比如要上Steam商店页的3D预览图通常需要4096甚至更高如果只是放进Unity里做原型验证1024就够刷。否则一开始就上4096笔刷手感再好也会因为分辨率过高导致笔刷覆盖变精确画一个简单的渐变要刷十几次。颜色空间方面默认的Srgb工作流可以用来处理Base Color法线、粗糙度这类数据通道则建议在导出时再确认一下位数和格式避免颜色空间转换造成通道值被二次伽马校正。这些细节我在后面“导出”部分再详细说。3. 核心实操用ArmorPaint走完一整套PBR贴图绘制3.1 导入模型与UV预处理哪一步必须在进ArmorPaint前做好ArmorPaint支持的模型格式主要是OBJ、PLY、DAE等比较通用的格式。如果手上的模型是FBX或glTF最新版本也通过插件或导入转换提供了支持路径但我建议不要过度依赖这个最稳妥的方式还是在Blender等DCC里转换成OBJ然后导入。我踩过一个坑某一版我直接把FBX工业模型拖进ArmorPaint模型能看到但UV信息加载不全画上去的笔刷全花了。后来才搞清楚问题出在模型本身带的是多套UV和多个材质槽ArmorPaint在导入时会优先使用当前选中的那套UV其他UV被忽略了。解决方案是把模型在Blender里炸开按材质分好对象再导出干净的单材质OBJ进ArmorPaint后一路顺畅。关于UV预处理还有个容易忽视的点UV岛的排布会影响笔刷落点的精度和边缘质量。假设你的UV岛存在拉伸那画出来的圆形笔刷在模型表面会变成椭圆怎么调笔刷形状都别扭。所以导入前一定要确保UV展开没有明显拉伸最好在Blender里用棋盘格贴图预览一遍确认UV密度均匀。这个步骤虽然不炫技但决定后续绘制手感。3.2 材质系统与图层工作原理为什么说它像Photoshop但比Photoshop更适合画贴图进入ArmorPaint后右侧图层面板里默认会有一个基础层。你可以把基础层想象成一张底图所有新的绘制操作要么作用在这个层上要么新建一个层来叠加。ArmorPaint的图层支持混合模式有Normal正常、Multiply正片叠底、Add线性减淡、Lerp过渡等。这就意味着你可以把一张金属划痕贴图以Multiply模式放在Base Color上方不用手动调黑白色阶几秒钟就能做出锈迹斑斑的效果。但需要特别说明的是ArmorPaint的图层堆叠是针对某个特定通道的。比如你在“Roughness粗糙度”通道下添加了一个图层那么在这个图层里画的内容只会影响粗糙度不会污染颜色。这是PBR通道化绘制的精髓操作思路比在PS里对着一张RGB图硬抹科学得多。实际工作里我通常是这样组织的第1层填充全底色比如深灰色底漆第2层绘制颜色变化灰色底漆的斑驳、偏色区域第3层加金属度变化某些区域被磨损漏出金属底第4层加粗糙度变化新旧划痕、油污、光面区域。这样一个Layer堆叠下来模型表面信息是有层次的后面想改某一层时也非常方便不会像直接在单一图层上反复涂抹那样越改越脏。3.3 笔刷、材质球与程序化纹理不用从零手绘也能出细节很多人以为在3D模型上画贴图就一定要一笔一笔画其实ArmorPaint提供了非常实用的程序化纹理生成能力可以大幅提高效率。在笔刷属性里有一个“Texture”选项你可以导入一张贴图作为笔刷图案也可以选择内置的程序化噪点、云纹、条纹等纹理。比如我想给一块装甲板做划痕不需要自己手动画几十条白线只需要选择合适的划痕贴图当笔刷再把笔刷强度降低沿着装甲边缘扫两下就有很自然的使用痕迹。还有填充工具Fill也藏着不少功能。我在做科幻场景物件时经常需要在一块大平板上快速铺一层均匀的哑光黑漆。直接用颜色填充会有点假但如果在填充工具里加一个阈值噪声遮罩再配合较高的粗糙度填充出来的不是死板的纯色而是带着细微颗粒感、像真实喷漆的表面。这个方法尤其适合科幻载具、武器、硬表面场景的地面等大面积做旧需求。如果你已经有Substance Painter里那套“智能材质”思路那么在ArmorPaint里也能做到类似效果通过图层遮罩程序化噪声把遮蔽区域自动限制在圆柱角落、凹槽内部。只是生成的自动化程度不如SP高需要手动调整遮罩层级但胜在灵活也不吃性能。3.4 对称绘制与接缝处理那些别人不会明说的细节对称绘制是硬表面道具制作中的刚需。在ArmorPaint的视口工具栏或者快捷键里有对称轴选项可以选择X/Y/Z轴或组合坐标。我画载具导弹发射器这类左右结构时会开启X轴对称这样左侧画一笔右侧自动补一笔不仅省时间还保证两边纹理完全一致。不过对称绘制有个注意点它是对“模型空间”做对称不是按你看上去的左右来算。如果模型本身没有对齐世界坐标开启对称后画笔落点可能跑到对面错误位置。所以导入模型前我强烈建议你在DCC软件里把模型摆正比如让角色面朝X轴武器沿Y轴向模型中心点放在合适位置这样再去ArmorPaint开启对称就不会出现“左右反了”的尴尬。接缝处理我也多说一嘴。UV展开必然存在UV边即使UV密度很均匀在绘制跨UV岛的颜色时也容易在边缘出现硬缝。ArmorPaint有两个很好的应对方案一是在笔刷属性里开启“镜像绘制”这个功能能让笔刷跨过UV接缝自动延续比如你在手臂UV的一侧画一道红色条纹条纹会沿着模型表面流转到另一侧UV上不会因为UV断开而断裂二是在导出时让ArmorPaint生成一个“接缝融合”处理具体操作是在导出面板勾选相关选项。实际使用下来只要UV展开质量不算太离谱配合这两个功能最后贴图进引擎基本看不到明显接缝。3.5 贴图导出与项目保存为什么明明画好了导出却少东西画完不是结束还得导出。ArmorPaint的导出功能在菜单栏或者主工具栏的Export按钮下。导出前要确定几件事第一导出规格。比如分辨率选2048还是4096格式选PNG/JPG/TGA还是带透明通道的格式。PNG无压缩且带Alpha适合颜色、粗糙度这类需要精确颜色的通道JPG体积小适合颜色贴图但会破坏法线这类数据通道的精度。我给Unity或Unreal做项目时颜色贴图一般用PNG法线和粗糙度也用PNG只有最终演示或只用于颜色预览的场景才考虑JPG。第二导出通道。你可以单独导出一张Base Color或一张Roughness也可以一键导出整组PBR贴图集。自动导出时它会按通道各生成一张命名带后缀比如BaseColor、Metallic、Roughness、Normal等。我建议画完一个资产后养成“一键导出整套贴图”的习惯避免后续引擎里发现漏了某一张又回到项目里重新导。第三颜色空间。颜色贴图用sRGB法线、粗糙度这类数据通道则要设置成线性空间或保持默认不要在导出的过程中勾选“sRGB only”把所有通道都转一遍。这个问题我见过太多人踩坑导出的法线贴图进引擎后偏蓝偏紫怎么调都不对十有八九是颜色空间设置错误。还有一点ArmorPaint的项目文件格式是.arm保存后可以把当前所有图层、材质、模型全部保留下来。这个格式体积通常不大但非常实用。我建议在完成一个里程碑阶段比如底色铺完、金属度分层做完都手动保存一次。它有撤销栈但撤销栈遇到程序闪退就没了项目文件才是真正的保底。4. 常见问题与排查实录我踩过的那几个坑用ArmorPaint大半年我给几十个模型做过贴图期间遇到的问题说多不多但每一个都挺烦人。这里把印象深刻的几个整理出来你可以直接当速查表用。4.1 视口黑屏或白屏这是“Vulkan出问题”的头号症状。如果启动后能看到界面但视口区域是纯黑或纯白第一步不是重装而是去看显卡驱动是否更新到支持Vulkan的最新版。Windows下N卡驱动更新后一般就能好。还有一种情况是老显卡确实不支持完整Vulkan特性可以在启动参数或设置里切换渲染后端从GPU驱动切到软件模拟方式。不过软件模拟方式性能会差不少只建议用来排查问题或应急用。此外如果你电脑里同时有核显和独显有时候程序会默认选中核显而核显对Vulkan的支持不完整也会黑屏。解决方案是在系统“图形设置-显卡偏好”里把ArmorPaint的执行文件指定为“高性能NVIDIA/AMD显卡”。我遇到的三次黑屏里有两次都是这个原因。4.2 笔刷绘制没反应或画出来的颜色不对笔刷没反应先别急着头疼。最常见原因是当前图层处于“不可见”状态或者当前图层不是你要绘制的通道。比如你已经在Roughness通道里画了很久切换到Base Color通道后发现画不出颜色那是因为当前图层是“Roughness Layer”你还在原来的图层上操作切换通道不等于自动切换绘制目标。另一个原因是笔刷的实际贴图层级被锁定或者被遮罩限制。ArmorPaint的每个图层都有遮罩控制如果不小心画了个全黑遮罩那不管怎么画都显示不出来。检查一下图层缩略图旁边是否有黑色遮罩图标有的话清掉就行。如果画出来的颜色发灰发暗可能是你把笔刷混合模式设成了Multipv而当前底色是深色。我之前画一个黑色枪托在黑色底上开Multiply画暗部结果画出来全是黑乎乎一片。后来我改用正常模式配合低强度笔刷才调出想要的效果。所以每次开画前养成检查“混合模式”的习惯。4.3 导出后贴图接缝、错位、拉伸导出后进引擎模型表面纹理有错位十有八九是UV没处理好。ArmorPaint本身不帮你修UV它只是忠实地把绘制内容映射到UV坐标上。如果UV岛有重叠、缝隙、拉伸那最终渲染时必然出问题。我在做某次场景道具时用了Blender的自动UV展开功能没细看就直接导入了。结果UV岛有重叠画的时候看着正常因为视口里只看到模型表面导出后引擎里所有重叠区域全部重复显示纹理我排查了半天才发现是UV的问题。后来我所有模型都会在Blender里做一次UV Checkerboard检查确认没有重叠和明显拉伸才进ArmorPaint。这个习惯养成后贴图错位的概率基本降到了零。4.4 性能卡顿与内存不足ArmorPaint本身跑起来很轻盈但如果你同时打开多个项目、长时间不保存程序的内存占用会一直往上飙因为撤销栈会累积每一笔绘制的像素数据。特别是在高分辨率贴图下绘制一百多笔之后内存吃个几GB很正常。我的做法是每画一段时间比如一二十分钟就CtrlS存一次项目画到阶段节点就另存版本。这样既保住了成果又能清空一部分撤销历史让程序喘口气。如果确实内存不够也可以关掉实时光追预览把视口质量调成普通或低反正绘制时主要是看纹理和UV不需要非常高强度的渲染。5. 工作流拓展如何把ArmorPaint变成你的贴图预处理工具5.1 先出图再精修把它塞进“粗模快速验证”流程里很多项目早期阶段模型可能连最终高模都没定只是有一个灰模或粗模拟。这时候如果用完整的MayaSubstance流程去出贴图人力成本太高。而ArmorPaint的定位非常适合粗模阶段快速出预览图导入OBJ填充一个基础色刷几笔粗糙度变化导出四张贴图再丢回Blender或者引擎里跑一遍重点看模型造型和材质大方向成不成立。我最近做一款游戏载具时就是用ArmorPaint先给白模刷了三种配色方案很快确定了主色调和装饰线条位置之后再去精修高模。这个阶段如果用别的工具从导入到调整再到预览至少多花两三天。ArmorPaint的启动速度和操作效率让这个“先看眼缘再深入”的流程变得成本极低。5.2 配合Blender、数位板的使用习惯绘制手感是可以调出来的如果你本身用惯了Blender的快捷键那ArmorPaint上手会很快因为它默认的一套相机操作逻辑几乎和Blender一样中键旋转、Shift中键平移、滚轮缩放。还有一点ArmorPaint的视图切换也支持小键盘1/3/7等视图快捷键对DCC软件用户非常友好。在手感调校上我建议你在“设置-输入设备”里确认压感映射并把笔刷“笔压影响”选项调整到合适位置。我习惯把压感影响“大小”设为50%左右影响“流量”设为40%左右这样细笔勾边时轻提笔锋即可做粗犷扫痕时用力压笔又能带走漆量反馈很舒服。如果你是初次使用数位板的新人记住一个原则不要全靠笔刷压力画细节那是自虐。用好遮罩、程序化纹理、图层混合模式你的效率能翻三倍。手绘凌乱的划痕不如用遮罩加噪声来得自然这是我从多次失败里总结出来的。5.3 脚本、资产库与版本管理开源工具的价值在于能融入你自己的体系ArmorPaint是开源的这意味着它能接入你的自动化流水线。虽然大多数美术同学不写代码但至少可以学会两件事一是用它的脚本功能做一些批量操作比如批量导入、批量导出贴图组二是把做好的贴图资源整理成资产库下次画同类材质时直接拖进笔刷不用从头反复调参数。版本管理方面我强烈建议把.arm项目文件和最终导出的贴图一起纳入版本管理比如Git或SVN。.arm文件通常不大但记录了完整的图层结构是后期回改的救命稻草。我遇到过团队里另一个美术改完图层忘记保存直接把CPU怼到99%最后只能靠上一个版本的.arm文件恢复如果当时没纳入版本管理那半天工作就全没了。另外ArmorPaint有自己的社区和插件体系也支持在GitHub上找到很多现成的材质球和笔刷资源。遇到需要特殊风格化效果的时候先去社区搜一圈往往比自己从零摸索快得多。写在最后还有一点小经验最后分享一个我个人的小习惯在ArmorPaint里画任何有磨损和旧化感觉的硅基生命体时我都不会直接把白色Alpha区域画满而是先用填充工具配上云纹噪声把磨损范围“洒”出来再用橡皮擦轻轻擦掉不自然的边缘。这样导出的贴图进入引擎在动态光照下反射出来的细节非常耐看。工具这东西不在于功能列表多长而在于它能不能恰好在你想画的时候不卡、不崩、不添乱。ArmorPaint对我来说就是这样的存在。如果你的主力贴图软件因为成本或复杂流程让你越画越累不妨花一个下午试试它。画完第一块破旧装甲板你大概就会理解我为什么愿意花这么多篇幅写它了。

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

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

免费获取报价