Godot 精灵图边缘串色:用 Sprite2D 区域裁切定位
用红蓝相邻图块和两份 Sprite2D,区分区域采样串色、错误裁框与贴图自身的边缘。


蓝色按钮在图集中看起来干净,放进 Godot 后却在右侧冒出一条红边。先做一个只改一项设置的对照,判断是线性采样读到了旁边的图块,还是裁框本身就选错了。这里针对 Godot 4.3 的 Sprite2D 区域显示,其他节点需要查各自的裁切设置。
准备一张能暴露问题的图集
把两个 32×32 的不透明色块横向紧贴:左边蓝,右边红,保留一份没有间距的诊断样图。导入时先关闭 mipmaps,并避免有损压缩。生产素材可用 Tooliva 精灵图集打包工具 整理;测试图要确认红蓝实际相邻,打包器自动增加的留边可能让现象无法出现。
复制节点,只切换区域过滤裁切
- 新建两个 Sprite2D,共用同一张图。开启 Region,裁框设置为 x=0、y=0、宽=32、高=32。两个节点都显式使用 Linear 过滤。
- 把两份预览放大到 1.5 倍,保持两者缩放和小数像素偏移一致。一份关闭 Region Filter Clip Enabled,一份开启。
- 检查右边缘:如果只有关闭裁切的一份出现红色过渡,现象符合区域边界外采样。再移到整数像素或改用 Nearest,观察条纹是否随采样设置变化。
按两份结果分流
如果开启裁切后仍有一整列红像素,先查 Region Rect 有没有把红块包括进来,再打开源图确认红色是否已经写进蓝块。如果只有缩小时出现问题,单独重新打开 mipmaps 并复验;区域裁切的结果不能代替对多级贴图和留边的验证。如果两份都没串色,可轻微改变小数像素偏移再看,也要确认当前显示确实用了线性采样。
交付时记录原图、区域坐标、过滤方式和正常预览。运行时需要保持像素画边缘锐利时可单独评估 Nearest;要用线性过滤时,把区域裁切和适合目标缩放的图集留边分别验收。
推荐使用本站工具

Sprite Sheet Splitter Guide: Extract Animation Frames for 2D Games
Learn how a sprite sheet splitter extracts clean animation frames from character sheets, VFX sheets, tiles, UI sprites, and AI-generated game assets.

Best Sprite Sheet Packer Settings for Indie Game Assets
A practical SEO-friendly guide to sprite sheet packer settings, including atlas size, padding, trimming, extrude, rotation, metadata, and recommended export settings for 2D game assets.

Smart Sprite Sheet Packer: A Practical Guide for 2D Game Developers
Learn how a smart sprite sheet packer helps indie game developers combine PNG assets into clean texture atlases with metadata for Unity, Cocos, Godot, and custom 2D game engines.
