You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用load()加载图片模糊,能否通过GDScript重新导入或优化清晰度?

解决Godot中load()加载图片模糊的问题

一、通过GDScript重新导入图片并配置参数

可以用ResourceLoader手动执行导入流程,同时指定避免模糊的参数,示例代码如下:

var img_path = "res://assets/your_image.png"
# 自定义导入配置,按需调整
var import_config = {
    "compress/mode": 0,          # 0=无压缩,保留原始画质
    "flags/filter": false,       # 关闭纹理平滑过滤
    "flags/mipmaps": false,      # 禁用mipmaps,避免缩放模糊
    "size/scale": 1.0            # 保持图片原始尺寸比例
}

# 执行导入(若资源已导入,会覆盖旧配置)
ResourceLoader.import(img_path, import_config)
# 重新加载应用新配置的纹理
var texture = load(img_path)
get_node("%CustomSprite").texture = texture

如果图片之前已导入过,可调用ResourceLoader.reload(texture)强制刷新配置。

二、无需重新导入的快速修复方案

  • 修改Sprite的过滤模式:选中Sprite节点,在检查器中将Texture > Filter设置为Nearest,这种模式会保留像素边缘的锐利度,不会平滑拉伸导致模糊。
  • 匹配图片与Sprite的尺寸比例:如果Sprite的缩放倍数超过图片的原始分辨率,必然会模糊。确保图片的像素尺寸不小于Sprite的显示尺寸(高DPI屏幕建议用2x/4x分辨率图)。
  • 全局调整纹理导入默认设置:在Project > Project Settings > Import > Textures中,修改默认的过滤、压缩和mipmap选项,让所有新导入的图片默认使用清晰的配置。
  • 直接加载原始图片数据:绕过Godot的导入系统,用ImageLoader直接加载原始图片并生成纹理:
var raw_image = ImageLoader.load(img_path)
var texture = StreamTexture2D.new()
texture.image = raw_image
get_node("%CustomSprite").texture = texture

这种方式适合加载外部目录的图片,无需导入到项目资源库。

内容的提问来源于stack exchange,提问作者cak3_lover

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 16:55:45