4 种笔刷形状 + 1 套防抖机制:PixiEditor 自定义笔刷与粒子效果完整指南
2026/9/20 17:15:24 网站建设 项目流程

4 种笔刷形状 + 1 套防抖机制:PixiEditor 自定义笔刷与粒子效果完整指南

【免费下载链接】PixiEditorPixiEditor is a Universal Editor for all your 2D needs项目地址: https://gitcode.com/GitHub_Trending/pi/PixiEditor

PixiEditor 是一款跨平台的 2D 像素画与动画编辑器,本文围绕它的自定义笔刷系统,讲清像素画笔刷设置与粒子效果的完整搭建路径。读完你可以对照仓库里的内置刷库和源码,自己调出一支带密度渐变的粒子笔刷。

为什么散点总画得脏:先看预览层在做什么

很多新手以为光标下那个轮廓就是落笔形状,其实两者是分开的。BrushShape 枚举 定义了五个值,其中四个直接决定光标预览的轮廓:

枚举值预览形态适合场景
Hidden不显示轮廓追求无干扰落笔
Pixel单像素点逐点描边
Square方形块面填充
CirclePixelated像素化圆形硬边粒子
CircleSmooth平滑圆形柔和光点

BrushShapeOverlay 负责在视口上画出这层轮廓。它渲染时有一行关键设置paint.IsAntiAliased = true,意思是给预览轮廓做边缘平滑,让斜边不发虚、不出现毛刺。这里要分清:抗锯齿开关只作用于预览层,真正写进画布的像素由笔刷引擎决定,所以开不开它都不影响像素画的硬边风格。

像素画笔刷设置:从选形到调大小的三步

第一步选形状。在工具栏切换 BrushShape 取值,画星光粒子优先CirclePixelated,要柔光光晕再换CircleSmooth

第二步调大小与密度。笔刷尺寸支持随压力与速度动态变化:预览层会计算指针移动速度并平滑处理(速度按 8:2 的权重混合历史值),传给引擎的PointerInfo里带着这个数值,大笔触可以随移动加快而收窄,撒粒子时就自然形成由密到疏的分布。

第三步开防抖。如果你用鼠标画直线总带抖动,可以把稳定模式切到CircleRopeTimeBased。源码里DrawConstrainedRope会把笔尖限制在一根"绳子"的长度内移动,拖拽时你会看到一条绳状约束线,落笔轨迹就顺了。

做出 PixiEditor 粒子效果:密度、大小与颜色

像素画笔刷教程里最常卡住的环节,是把"一堆点"变成"一层粒子"。三个可叠加的手段:

  • 分层撒点。在不同图层分别用大、小两种圆形笔刷点画,小点密集处形成高光核心,大点稀疏处做外沿光晕。
  • 动态大小衰减。利用上一节的速度驱动机制,同一笔触内笔刷由大到小,粒子尾迹自动出现衰减感。
  • 半透明配色。粒子边缘用带透明度的颜色,从中心到外圈透明度递增,立体感就出来了。

内置刷库可以直接借用:Data/Brushes 目录 下预置了 16 支笔刷文档,BrushTools 目录 另有 8 支工具向笔刷,挑一支改大小和配色就能上手。

源码里的实现细节

  • 预览与落笔分离。BrushShapeOverlay每帧调用笔刷引擎的EvaluateShape算出轮廓路径再DrawPath,本身不碰画布;松开鼠标不写东西,真正执行ExecuteBrush才产生像素。
  • 笔刷即文档。Brush.cs 显示每支笔刷其实是一个.pixi文档,解析后找到其中的BrushOutputNode作为输出,还能携带EmbeddedTags标签与收藏标记。
  • 两种预览纹理。BrushViewModel会为每支笔刷生成"单点"和"笔画"两张贴图,笔刷面板里的缩略图就来自这里。

用扩展注册你自己的笔刷

想分发一支专属粒子笔刷,走扩展接口即可。Sample11_Brushes 给出了最小可用示例:先把.pixi字节数组交给Api.BrushesProvider.RegisterBrushDataSource,再经RegisterBrushTool绑定到工具,配上名称、图标与快捷键,最后AddToolToToolset放进像素画工具集。其余 11 个扩展示例覆盖了本地化、偏好设置等配套能力,更多项目背景见 README。

打开samples/Sample11_Brushes跑通这支示例笔刷,再照它给 内置刷库 里挑一支改成你自己的粒子形状,就是最短的上手路线。

【免费下载链接】PixiEditorPixiEditor is a Universal Editor for all your 2D needs项目地址: https://gitcode.com/GitHub_Trending/pi/PixiEditor

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询