Krita 这个软件,很多人第一次打开它的理由其实挺朴素——想画画,但 PS 太贵,SAI 又太老。可真正把它用进游戏开发流程的人,往往是在某个具体环节被卡住之后才回头研究它的:可能是给 Godot 做一套 UI 图标,可能是给 Cocos 切一张角色图集,也可能是给 Unity 项目画一批道具贴图。我前后用 Krita 参与过几个小体量游戏项目的美术环节,从独立原型到上线微信小游戏都趟过一遍,踩的坑不算少。这篇就把 Krita 在游戏开发里的学习路径和那些容易翻车的地方,按我自己的实际使用顺序捋一遍,给正在犹豫要不要学、或者已经上手但总觉得别扭的朋友一个参考。
1. 先搞清楚 Krita 在游戏美术管线里到底站哪个位置
1.1 它不是"免费版 PS",定位错了一切都别扭
新手最容易犯的错,是把 Krita 当成 Photoshop 的平替,然后拿 PS 的工作流硬套。结果就是:图层混合模式找不到熟悉的、滤镜菜单对不上、导出切图不知道怎么搞,最后得出结论"Krita 不行"。这个结论下得太冤了。
Krita 的基因是绘画,不是图像处理。它的笔刷引擎、压感响应、笔迹稳定器这些是核心强项,而批处理、通道抠图、复杂滤镜链这些偏"后期处理"的能力相对弱。放到游戏开发管线里,它的合理位置是:
- 概念设计阶段:快速出草图、配色稿、氛围图
- 2D 资产绘制阶段:角色立绘、道具图标、UI 元素、场景贴图
- 贴图绘制阶段:3D 模型的漫反射贴图、手绘风格贴图
- 图集整理阶段:把散图拼成精灵图集(sprite sheet)
而像批量改尺寸、自动化切图、复杂图层合成这类活,交给专门的工具或者引擎自带的处理流程会更顺。我一般的工作流是:Krita 负责"画",导出后用脚本或者引擎工具做"整理"。
1.2 游戏开发里真正高频用到的 Krita 功能就那么几个
Krita 功能面板一大堆,但游戏开发日常真正高频用的,其实集中在下面这几块。学习的时候优先啃这些,性价比最高:
| 功能模块 | 游戏开发中的典型用途 | 优先级 |
|---|---|---|
| 笔刷引擎与压感 | 角色线稿、贴图绘制 | 高 |
| 图层与图层组 | 分层绘制、版本管理 | 高 |
| 参考图工具 | 临摹、多视图对照 | 中高 |
| 对称与辅助线 | 图标、对称道具 | 中 |
| 选区与变换 | 局部调整、复制元素 | 高 |
| 导出与切图 | 输出 PNG、图集 | 高 |
| 动画时间轴 | 帧动画、序列帧 | 中 |
| 色彩管理 | 保证跨设备颜色一致 | 中 |
我见过不少人一上来就研究 Krita 的滤镜和特效,结果画个角色图标都费劲。顺序反了。先把笔刷、图层、选区、导出这四样练熟,就能覆盖游戏美术 80% 的日常需求。
1.3 不同引擎对美术资产的要求,决定了你该怎么用 Krita
这一点特别关键,但很多人忽略。你用的引擎不同,Krita 里的操作习惯也得跟着调整:
- Godot:2D 用 PNG 为主,对透明通道要求干净,导入时要注意像素对齐,否则会出现边缘模糊。做像素风的话,Krita 里要关掉抗锯齿,用硬边笔刷。
- Cocos:图集打包是常规操作,Krita 导出时最好按固定尺寸切好,命名规范要统一,方便后续自动打包。
- Unity:贴图对 2 的幂次尺寸(如 256、512、1024)有优化偏好,Krita 新建画布时就要规划好尺寸,别画完再缩放。
- 微信小游戏:包体大小敏感,贴图要控制分辨率和数量,Krita 里能合并的图层尽量合并后再导出,减少冗余。
我吃过一次亏:给一个微信小游戏画 UI,Krita 里画布开得太大,导出后单张图几百 KB,几十张下来包体直接超标。后来改成按实际显示尺寸的 1.5 倍绘制,再统一压缩,才把包体压下来。所以画之前先想清楚目标平台,比画完再补救省事得多。
2. 一条能真正跑通的学习路径,而不是收藏一堆教程
2.1 第一阶段:把"能画出一张干净的图"这件事解决掉
很多人学 Krita 卡在第一步——画出来的东西脏、乱、糊。这不是天赋问题,是基础操作没过关。这个阶段的目标很明确:能画出一张线条干净、颜色分明、图层清晰的图,哪怕内容简单。
具体要练的:
- 笔刷的基本控制:压感曲线怎么调、笔迹稳定器开多少、流量和不透明度的区别。Krita 的笔迹稳定器(Stabilizer)对新手特别友好,开个 20% 到 30% 就能明显改善手抖。
- 图层的组织逻辑:线稿一层、底色一层、阴影一层、高光一层,这是最基础的分离方式。别把所有东西画在一层上,后期改起来会想砸键盘。
- 选区与变换:矩形选区、套索、魔棒、自由变换,这几个是修改和复用元素的核心。
- 保存与导出:Krita 原生格式是
.kra,保留所有图层信息;导出用 PNG。养成"先存 kra 再导 png"的习惯。
这个阶段我建议直接拿游戏里的小物件练手,比如一个药水瓶、一把剑、一个金币图标。目标小、反馈快,画完还能直接放进项目里用,比临摹风景画有成就感得多。
2.2 第二阶段:针对游戏资产的专项练习
基础过了之后,就要开始按游戏资产的类型分方向练。不同类型的资产,Krita 里的技巧侧重完全不同:
- UI 图标:讲究辨识度和统一风格。练习重点是形状概括、色彩对比、在小尺寸下的可读性。Krita 里可以开一个 64x64 或 128x128 的小画布专门练。
- 角色立绘:讲究结构、动态、材质表现。练习重点是人体基础、布料褶皱、光影层次。
- 场景贴图:讲究可平铺、无缝衔接。Krita 的"环绕模式"(Wrap-around mode)是画无缝贴图的神器,开启后画布边缘会自动衔接,画完直接就是可平铺的。
- 像素风资产:讲究像素级精确。Krita 里要关掉所有抗锯齿,用 1 像素硬笔刷,画布尺寸就是最终显示尺寸,不能缩放。
我个人的经验是,别贪多,先专精一个方向。比如你做的项目是 2D 横版,那就把角色和场景贴图练透;如果是休闲小游戏,UI 图标就是重点。样样都学一点,最后样样都不精。
2.3 第三阶段:把 Krita 接进实际项目流程
这一步是从"会画画"到"能干活"的分水岭。你要解决的不再是"怎么画",而是"怎么画得让下游环节好用"。
核心要掌握的是导出规范:
- 文件命名:
类型_名称_状态.png,比如icon_potion_red.png、char_hero_idle.png - 尺寸规范:按引擎要求来,Unity 走 2 的幂次,Godot 和 Cocos 按实际需要
- 透明通道:确保背景是透明的,别留白底
- 图集切分:如果引擎需要图集,Krita 里可以按网格切分后分别导出,或者导出整张再用工具打包
还有一点容易被忽略:版本管理。Krita 的.kra文件会越来越大,建议每次大改前另存一个版本号,比如char_hero_v01.kra、char_hero_v02.kra。别指望一个文件改到底,出问题回滚都回不去。
3. 那些让我真正卡住的坑,以及怎么爬出来的
3.1 坑一:导出 PNG 背景不透明,放进引擎一片白
这是新手最高频的坑。在 Krita 里画的时候背景看着是透明的(棋盘格),导出 PNG 放进引擎却变成白底或者黑底。
根因:Krita 新建文件时默认会创建一个"背景"图层,这个图层是白色的,不是透明的。你画的时候它被其他图层盖住看不见,导出时它就露出来了。
解决:新建文件时,在"内容"选项里选"透明",或者建完之后手动把那个白色背景图层删掉或隐藏。导出时确认勾选了"存储透明通道"。
提示:养成习惯,新建画布后第一件事就是检查图层列表里有没有多余的背景层。
3.2 坑二:画布尺寸开太大,导出后包体爆炸
前面提过微信小游戏的例子。Krita 里画布开 2048x2048 画得很爽,导出后单张图好几 MB,几十张下来包体直接失控。
根因:绘制尺寸和显示尺寸脱节。很多人按"越大越清晰"的直觉开画布,但游戏里实际显示可能只有 128x128。
解决:按实际显示尺寸的 1.5 到 2 倍开画布。比如游戏里显示 128x128,画布开 192x192 或 256x256 就够了。既保证清晰度,又不会让文件过大。导出后如果需要,再用工具统一压缩。
3.3 坑三:像素画边缘模糊,怎么调都不对
画像素风的时候,线条边缘总是糊的,放大看有半透明的过渡像素。
根因:Krita 默认开启了抗锯齿,笔刷也是软边的。像素画需要的是硬边、无抗锯齿。
解决:
- 新建画布时尺寸就设成最终显示尺寸,比如 32x32,不要放大画再缩小
- 笔刷选"像素"类硬边笔刷,或者把笔刷的"淡化"(Fade)设为 0
- 关闭画布的抗锯齿选项
- 缩放视图时用"最近邻"插值,别用平滑插值,否则看到的不是真实像素
这一套设置好之后,像素画才能画得干净。
3.4 坑四:图层太多,软件卡到怀疑人生
画复杂场景时图层堆到几十上百个,Krita 开始卡顿,笔刷延迟明显。
根因:每个图层都要占用内存,图层越多内存压力越大,尤其是大画布。
解决:
- 阶段性合并:线稿完成合并线稿层,底色完成合并底色层,别一直堆着
- 用图层组管理:把相关的图层打包成组,可以整体隐藏或降低不透明度
- 降低画布分辨率:如果不是印刷级需求,300 DPI 完全没必要,72 到 150 DPI 对游戏资产足够
- 关闭实时预览类的功能:比如某些滤镜的实时预览会持续消耗资源
我一般画到中期就会做一次"图层大扫除",把确定不再改的图层合并掉,软件立马顺畅。
3.5 坑五:颜色在不同设备上看起来不一样
在 Krita 里调好的颜色,导出后放到手机上偏色,或者放到引擎里变暗。
根因:色彩空间不统一。Krita 默认可能是 sRGB,但你的显示器、引擎、目标设备可能各自有不同的色彩配置。
解决:
- Krita 里统一用 sRGB 色彩空间,这是游戏行业的事实标准
- 显示器做一次基础校准,至少保证亮度对比度正常
- 导出后在目标设备上实际看一眼,别只信电脑屏幕
- 引擎里如果有色彩管理选项,确认和 Krita 的输出一致
这个问题没有一劳永逸的解法,但统一用 sRGB 能规避掉大部分麻烦。
4. 把 Krita 和引擎串起来:几个实际项目的做法
4.1 Godot 项目:2D 角色资产的完整流程
Godot 对 2D 支持很好,Krita 配合起来很顺。我的流程是这样的:
- Krita 里分层绘制角色:身体、服装、武器、表情各一层,方便后续做换装或表情切换
- 导出分层 PNG:如果游戏需要换装,就每个部件单独导出;如果不需要,合并后导出一张
- 命名规范:
char_角色名_部件名.png,比如char_hero_body.png、char_hero_weapon.png - 导入 Godot:在导入设置里确认过滤模式,像素风选"最近邻",手绘风选"线性"
- 像素对齐:Godot 里如果出现边缘模糊,检查节点的位置是否是整数像素
Godot 有个好处是导入设置可以批量调整,图多了也不怕。但前提是你 Krita 导出的文件命名规范,不然在 Godot 里找起来很痛苦。
4.2 Cocos 项目:图集打包前的准备工作
Cocos 项目里图集是常规操作,Krita 这边要做的是"让打包工具好处理":
- 每张图导出时尺寸尽量规整,避免出现 127x93 这种奇怪尺寸
- 同类图放同一个文件夹,命名前缀统一
- 透明区域尽量裁掉,减少图集浪费
- 如果图集有尺寸上限,提前规划好每张图的占用
我一般会在 Krita 里画完之后,用一个简单的脚本批量检查图片尺寸和透明边距,把不规范的挑出来重新导出。这一步花十分钟,能省掉后面打包时一堆麻烦。
4.3 Unity 项目:贴图绘制的注意事项
Unity 对贴图有一套自己的优化逻辑,Krita 这边配合的要点:
- 尺寸走 2 的幂次:256、512、1024,Unity 的压缩算法对这些尺寸更友好
- 贴图类型提前想好:漫反射贴图、法线贴图、遮罩贴图,绘制方式不同
- 法线贴图:Krita 不是画法线贴图的最佳工具,但简单的手绘法线也能做,注意颜色通道的含义(RGB 对应 XYZ 方向)
- 导入设置:Unity 里要设置正确的贴图类型和压缩格式,否则画得再好也白搭
Unity 这块坑比较深,尤其是法线贴图和 PBR 流程。如果项目是手绘风格,用 Krita 画漫反射贴图完全够用;如果要做写实 PBR,Krita 只能承担一部分工作,法线、粗糙度这些可能要用专门工具。
4.4 微信小游戏:包体控制下的美术策略
微信小游戏对包体有硬性限制,美术资产必须精打细算。Krita 这边的策略:
- 能合并的图层合并:导出前把不需要独立的图层合并,减少文件体积
- 控制分辨率:按实际显示尺寸的 1.5 倍绘制,别盲目开大
- 复用素材:能通过缩放、变色复用的,就别画新的
- 导出后压缩:Krita 导出的 PNG 可以用工具进一步压缩,但注意别压出明显色块
我做过一个微信小游戏,美术资产总共控制在几 MB 以内,靠的就是"画之前先算账"。Krita 里每画一张图,心里都要有数:这张图最终占多少包体。
5. 一些让效率翻倍的小技巧和习惯
5.1 自定义工作区,把常用功能摆到手边
Krita 默认界面功能很多,但游戏开发常用的就那么几个。花十分钟自定义一下工作区:
- 把图层面板、笔刷面板、颜色面板固定到顺手的位置
- 把常用的导出、变换、选区工具放到工具栏
- 保存成专属工作区,下次打开直接调用
这个投入产出比极高,一次设置,长期受益。
5.2 用好参考图工具,别硬背
Krita 的参考图工具(Reference Images)可以钉住多张参考图,画的时候随时对照。画角色的时候钉人体参考,画场景的时候钉透视参考,比凭记忆画靠谱得多。
5.3 快捷键是效率的生命线
Krita 的快捷键可以自定义,把高频操作都绑上:
| 操作 | 建议快捷键 |
|---|---|
| 笔刷 | B |
| 橡皮 | E |
| 选区 | R |
| 变换 | T |
| 吸管 | 按住 Ctrl |
| 临时平移 | 按住空格 |
| 撤销 | Ctrl+Z |
| 导出 | Ctrl+Shift+E |
这些是基础,用熟了之后画图速度能快一大截。
5.4 定期整理笔刷,别被"笔刷包"绑架
网上有很多 Krita 笔刷包,新手容易陷入"收集笔刷"的陷阱,装了几百个笔刷,结果常用的还是那三五个。我的建议是:先用手头默认笔刷练熟,确实遇到瓶颈了再针对性找笔刷。笔刷是工具,不是能力。
5.5 保存习惯:kra 和 png 双轨制
.kra保留所有编辑信息,.png是最终交付格式。养成"改完存 kra,交付导 png"的习惯。另外,重要节点另存版本号,别一个文件改到底。我吃过一次亏,一个角色画了三天,一个误操作把图层合并了,撤销也回不去,只能重画。从那以后版本号存得比谁都勤。
6. 关于"学 Krita 还是学别的"这件事
经常有人问,做游戏开发到底该学 Krita 还是 PS 还是别的。我的看法是:工具是次要的,你要解决的问题才是主要的。
如果你的项目是 2D 手绘风格,预算有限,Krita 完全够用,而且它的绘画体验在某些方面比 PS 还舒服。如果你的项目涉及大量图像处理、批量操作、和 Adobe 生态深度绑定,那 PS 或者别的工具可能更合适。如果是像素风,Aseprite 这类专门工具可能比 Krita 更顺手。
Krita 的优势在于:免费、开源、绘画功能强、跨平台。对于独立开发者和小团队来说,这些优势很实在。它的短板在于:图像处理和自动化能力相对弱,生态和教程不如 PS 丰富。
我的实际做法是:主力用 Krita 画,遇到它不擅长的环节,用别的工具补。工具之间不是替代关系,是配合关系。把 Krita 用熟,再根据项目需要补充其他工具,这条路我觉得最稳。
学 Krita 这件事,说到底不是学软件,是学"怎么把脑子里的画面变成游戏里能用的资产"。软件只是中间那层翻译。翻译得顺不顺,取决于你对两端——创意和工程——的理解有多深。多画、多导出、多放进引擎里看效果,比看一百个教程都管用。