更新日志
v. 3.3.0
新功能:
- 现已包含 Chroma Palette:专业取色器(7 种模式)、ColorPalette ScriptableObject,以及完整 UI 集成;
- 新增对 WrapMode.Repeat 的支持;
- 新增对平铺 UV(tiled UV mapping)模型的支持;
- 新增 World Space 绘制的图案预览;
- 新增 URP/HDRP Demo 场景。
问题修复:
- 修复当绘制从会阻挡 RawImage 射线检测的 UI 元素开始时,绘制线条异常的问题(需要启用
InputController.BlockRaycastsOnPress); - 修复 FillWithColor 方法应用错误颜色的问题;
- 修复工具释放(dispose)相关问题。
v. 3.2.1
问题修复:
- 修复偶发的内存泄漏;
- 修复在使用 Canvas.RenderMode Overlay 时,VR 绘制无法工作的问题;
- 修复在 World Space 绘制时画笔压力不正确的问题。
其他:
- 改进 Bucket 工具的颜色比较逻辑。
v. 3.2.0
新功能:
- World Space 绘制:可在 World Space 与 UV Space 之间选择绘制空间;
- 移除屏幕空间绘制限制:现在绘制可在所有空间中无缝工作;
- VR 模式增强:可设置笔与表面的最小距离;
- VR 支持 SpriteRenderer 与 RawImage:在 VR 模式下可直接在这些组件上绘制。
其他:
- 移除已废弃的方法;
- 移除 BasePaintObject.OnDrawLineExtended 事件;
- 移除 BasePaintObject.DrawLineExtended 方法;
- 重新编写文档以提升清晰度与易用性;
- 性能改进;
- 问题修复。
v. 3.1.3
问题修复:
- 修复 Bucket 工具可能填充错误区域的 Bug。
v. 3.1.2
新功能:
- 新增对输入方式(Input methods)的管理能力。
问题修复:
- 修复当绘制被点击 UI 打断时可能出现额外线条的问题;
- 修复 DepthToWorldConverter 返回位置不正确的问题。
v. 3.1.1
新功能:
- Bucket 工具设置中新增仅填充非透明像素的选项。
问题修复:
- 修复合并图层后撤销会设置错误图层纹理的问题;
- 修复 VR 模式输入可能抛出异常的问题。
v. 3.1.0
新功能:
- 新增对 SpriteRenderer 与 RawImage 的平滑线条绘制;
- 新增将 LayersContainer 保存到文件并从文件加载的能力;
- 新增在多 Canvas 场景下阻挡 Canvas 射线检测的能力;
- 新增绘制时随机化画笔采样角度的选项。
性能改进:
- 显著提升 MeshRenderer/SkinnedMeshRenderer 的绘制性能,尤其是在使用 XDPaintSettings 中的 Job System 时对高面数模型提升明显;
- 改进多对象绘制性能。
问题修复:
- 修复 MeshRenderer/SkinnedMeshRenderer 绘制线条时 UV 被插值导致位置不正确的问题;
- 修复运行时创建/移除图层导致的内存泄漏;
- 修复在禁用撤销/重做系统时,通过代码创建 PaintManager 可能抛出异常的问题;
- 修复当场景启动时 Canvas GameObject 处于非激活状态且 PaintManager 激活时,在 RawImage 上绘制无效的问题;
- 修复当 Animator 被禁用时,在 SkinnedMeshRenderer 上无法绘制的问题。
其他:
- 将 PaintManager 的渲染方法从 Update() 改为 LateUpdate(),以确保与 JobSystem 与 Coroutines 的兼容性;
- BasePaintToolSettings.DrawOnBrushMove 默认启用;
- 不再需要 Triangles 数据/容器。
v. 3.0.8
核心:
- 新功能:新增多指支持,允许用户同时使用多个手指绘制;
- 修复网格 bounds 尺寸值不正确的问题;
- 将事件 PaintManager.PaintObject.OnMouseHoverHandler / OnMouseDownHandler / OnMouseHandler / OnMouseUpHandler / OnDrawPointHandler / OnDrawLineHandler 标记为 obsolete,并新增 PaintManager.PaintObject.OnPointerHover / OnPointerDown / OnPointerPress / OnPointerUp / OnDrawPoint / OnDrawLine 作为替代。
v. 3.0.7
-
新功能: -
新功能:Brush 与 Bucket 工具支持使用图案纹理进行绘制!你也可以控制缩放、角度与偏移!
- 新功能:RaycastController 可使用 Depth Texture,避免同时在多个 PaintObject 上绘制;
- 修复当更改图层顺序时,撤销/重做系统会清空图层的问题;
- 修复撤销/重做系统在每次操作中多次调用 PaintManager.Render() 的问题;
- 修复 SkinnedMeshRenderer 边界不正确的问题;
- 修复当 SkinnedMeshRenderer 位置变化时绘制无法工作的问题;
- 修复当材质字段没有源纹理时的内存泄漏。
编辑器:
- 为 ToolManager 添加 PropertyDrawer;
- 新增对每个 PaintManager 工具设置的管理能力;
- 工具设置从零重写,现在可设置 Texture 字段;
- XDPaintSettings 现在显示资源的当前版本。
其他:
- 更新 Demo 场景:用户现在可以通过右键上下文菜单管理所选工具的设置。
v. 3.0.6
核心:
- 新工具:BUCKET - 使用选定颜色填充纹理局部区域;
- 降低运行时内存分配;
- 修复画笔预览在首次点击前不显示的问题;
- 修复 VR 输入。
v. 3.0.5
核心:
- 新增能力:可在同一个可绘制对象上,通过多个 PaintManager 实例同时对多个 submesh 进行绘制;
- 新增能力:可使用 Jobs System 与 Burst Compiler 进行射线检测以提升性能;
- 新增能力:支持在非默认 pivot 的 SpriteRenderer 上绘制;
- 新增能力:可通过代码获取图层纹理;
- 降低运行时内存分配;
- 修复图层遮罩应用不正确的问题;
- 修复当对象 Transform 缩放非默认时,在 SkinnedMeshRenderer 上绘制出现偏移的问题;
- 修复在 XDPaintStatesSettings 中禁用撤销/重做时的异常;
- 修复撤销/重做可能将图层填充为纯色的问题;
- 修复 SpriteRendererPaint 返回绘制位置不正确的问题。
编辑器: - 资源现在会自动将 Mesh.isReadable = true 应用于 Mesh 资源。
v. 3.0.4
核心:
- 为 PaintManager.PaintObject.OnMouseHoverHandler / OnMouseDownHandler / OnMouseHandler 事件新增参数
Vector3 localPosition,用于获取绘制对象的本地坐标; - 修复当对象没有源纹理时,PaintManager.UseSourceTextureAsBackground 可能被自动取消勾选的问题;
- 修复当对象没有源纹理时,用户执行 Undo 可能导致图层颜色不正确的问题;
- 修复当销毁 PaintManager 组件时,CanvasGraphicRaycaster 可能被移除的问题;
- 降低编辑器内存分配。
v. 3.0.3
核心:
- 改进基于碰撞的绘制;
- 新增对图集(atlas)中的 Sprite 支持。
v. 3.0.2
核心:
- 新增对像素风(pixel art)图形的支持;
- 提升画笔绘制精度;
- 修复在禁用画笔预览时 WebGL 构建无法正常工作的问题;
- 修复某些类在构建时被裁剪(stripped)的问题;
- 修复 RawImage 在没有源纹理时的默认纹理尺寸;
- 修复在使用 LayersContainer 时图层纹理被复制两次的问题;
- 修复当 PaintObject 没有源纹理且使用 LayersContainer 时额外纹理被创建的问题;
- 修复当画笔尺寸很大时预览位置不正确的问题。
v. 3.0.1
核心:
- 修复撤销/重做可能清空图层纹理的问题;
- 修复在移动端使用旧 Input Manager 时线条被渲染为点的问题;
- 修复当纹理尺寸为 1x1 像素时画笔透明的问题。
v. 3.0
核心:
- 新功能:图层与混合模式。资源支持图层,并支持 26 种混合模式;
- 新工具:grayscale - 用于对纹理局部去色的工具;
- 撤销/重做功能从零重写,现在支持图层参数变化;
- 新增对新版 Input System 的支持,以及对手写笔(Pen)的支持;
- 新增对 submesh 与 UV 通道的支持;
- 新增 48 种画笔;
- 新增对 SpriteRenderer 组件在透视相机下的支持;
- 新增 ColliderPainter 组件用于通过碰撞进行绘制;
- 新增设置默认纹理颜色的能力;
- 修复画笔预览偏移;
- 修复在 RawImage 绘制时,Canvas UI 未锁定输入交互的问题;
- 优化工具的内存使用;
- 改进 VR 支持。
编辑器:
- 为 Settings 添加 CustomEditor。
其他:
- 更新使用手册(Manual);
- API 变更(详见 “v.3.0_API_Changes.pdf”);
- 问题修复。