工具与笔刷
工具(Tools)
工具(Tool)是在用户绘制时对图层纹理进行处理的“笔刷行为”。资源内置 9 种工具:brush、erase、bucket、eyedropper、brush sampler、clone、blur、gaussian blur 与 grayscale。用户可在工具间切换以获得不同的绘制效果。下面是各工具功能说明:
-
Brush - 默认绘制工具。参数:
Can Paint Lines- 是否绘制线条;关闭时将只绘制点;Draw On Brush Move Only- 仅当用户移动输入源(鼠标、手指、手写笔等)时才渲染笔刷;Smoothing- 平滑参数,用于在 SpriteRenderer 与 RawImage 上绘制更顺滑的线条。范围 1 到 10:1 表示关闭平滑,10 为最大平滑。Smoothing 大于 1 时会渲染更多笔刷采样,并且绘制可能出现约 2 帧延迟:
本示例为演示不同平滑值的差异,将目标 FPS 设为 20 Randomize Points Quads Angle- 绘制点时随机每个笔刷采样的角度;Randomize Lines Quads Angle- 绘制线条时随机每个笔刷采样的角度;
Note
使用图案纹理绘制仅在 Additive PaintMode 下支持
Use Pattern- 是否使用图案纹理而不是纯色绘制;Pattern Texture- 图案纹理引用;Pattern Scale- 图案纹理缩放;Pattern Angle- 绘制图案纹理的角度;Pattern Offset- 图案纹理绘制偏移;
-
Erase - 使用画笔擦除图层纹理(与绘制相反);
Note
Bucket 工具仅在 UV 空间下工作
-
Bucket - 使用选定颜色填充纹理区域。参数:
Tolerance- 容差(0 到 1)。容差决定会覆盖多少像素;值越大,被填充为画笔颜色的像素越多。Can Fill Alpha- 是否填充图层中的透明像素;Use Pattern- 是否使用图案纹理而不是纯色填充;Pattern Texture- 图案纹理引用;Pattern Scale- 图案纹理缩放;Pattern Angle- 图案纹理角度;Pattern Offset- 图案纹理偏移;
-
Eyedropper - 拾取颜色并将其设为画笔颜色。参数:
Use All Active Layers- 是否在拾色时使用所有激活图层;若关闭则只使用当前激活图层;Sample Alpha- 是否取样像素 Alpha。
Note
BrushSampler 工具仅在 UV 空间下工作
-
BrushSampler - 将绘制区域的一部分复制到画笔纹理中。
-
Clone - 克隆纹理区域。Clone 的使用方式类似 Photoshop 等绘画软件:第一次点击确定克隆起点,之后的点击会克隆对应区域。参数:
Note
Clone 工具仅在 UV 空间下工作
Copy Texture On Press Down- 按下时是否复制源纹理;Use All Active Layers- 克隆时是否使用所有激活图层;若关闭则只使用当前激活图层。
-
Blur - 模糊纹理区域。Blur 使用简化的高斯模糊算法,通过两个 Shader Pass 实现,可配置模糊强度。参数:
Iterations- 模糊迭代次数;值越大模糊越强。建议范围 1 到 5。值越大也意味着更多 GPU 资源与更高 draw call 数(每次迭代 2 次 draw call);BlurStrength- 模糊强度;0 为最小,值越大越强;DownscaleRatio- 进行模糊前对纹理尺寸下采样的倍数;Use All Active Layers- 模糊时是否使用所有激活图层;若关闭则只使用当前激活图层。
-
Gaussian Blur - 模糊纹理区域。Gaussian Blur 使用高斯模糊算法,在一个 Shader Pass 中完成,可配置模糊强度。参数:
Kernel size- 模糊核大小;值越大模糊越强。建议范围 3 到 7;Spread- 模糊扩散范围;0 为最小,值越大越强。建议范围 0 到 5;Use All Active Layers- 模糊时是否使用所有激活图层;若关闭则只使用当前激活图层。
-
Grayscale - 对图层纹理进行去色(灰度化)。用户用灰度工具绘制时,笔刷覆盖区域会去饱和(饱和度设为 0)。
笔刷(Brushes)
资源提供预设系统,用 ScriptableObject 存储画笔参数,便于在 PaintManagers/PaintController 之间复用。预设位于:Assets/XDPaint/Resources/XDPaintBrushPresets.asset。你可以按名称保存画笔参数,并从列表中应用到其他对象。如果你在 PaintManager/PaintController Inspector 中修改了非 Custom 的画笔参数,这些数据不会自动写回 Presets。
资源内置了一些预设,可直接复用或修改。你可以在 PaintController/PaintManager Inspector 窗口中重新保存预设,或者在 Project 窗口选中 XDPaintBrushPresets 资源并在 Inspector 中编辑。
要将当前参数保存为新预设,点击 Save As。
要重命名预设,点击 Rename,输入新名称并点击 Save。
要删除预设,点击 Remove 并在对话框中确认。
如果希望所有 PaintManager 使用同一套画笔参数,请在 PaintController 中勾选 Use Shared Settings;否则每个 PaintManager 都会使用自己独立的画笔参数。
添加新画笔(Adding New Brush)
要添加新画笔,请在 Hierarchy 中选中 [XDPaintContainer] GameObject,然后在 Inspector 中设置唯一的画笔名称、选择画笔纹理并调整参数,最后点击 Save As 保存为预设。在 PaintManager 组件中也可以用同样方式操作。
新画笔会被添加到 Brush Presets(XDPaintBrushPresets.asset)中,并可在 PaintController/PaintManager 组件中选择使用。

