【问题标题】:Godot pixelated image戈多像素化图像
【发布时间】:2023-02-19 00:07:45
【问题描述】:

Godot 2d 项目,我使用 Gimp 创建了 640 640 png。 将这些 PNG 作为 texture(2d) 导入到 Godot。 将比例设置为 0.1 后,我在 godot 场景中将这些图像调整为 64 x 64。

当我在我的主场景中启动此图像时,我得到了这个像素化的令人作呕的结果。

编辑:不要与旋转的红色翅膀混淆,我是在运行时做的。它不是问题的一部分。

我的窗口大小是 1270 x 780 拉伸模式是视口。

我尝试更改导入设置等。

我想知道这种尺寸不可能有光滑的图像吗?

【问题讨论】:

  • 除了像素化之外,第二张图片对我来说看起来与原始图片完全不同:棕色三角形在黄色梯形之外旋转 - 这是正确的吗?
  • 是的,实际上我在运行时进行了轮换,但最终结果是一样的

标签: godot


【解决方案1】:

免责声明:我没有费心启动 Godot 来重现您的问题。

我怀疑你是在用 0.1 位的比例搬起石头砸自己的脚。记住,每次你重新采样(缩放)图像有损失。

需要做三件事:

  1. 准备您的图像,使其具有与预期目标显示器相同的尺寸(分辨率)。换句话说,如果您的图像要展示在 64×64 像素,那么你的源图像应该64×64 像素。

  2. 导入图片时,确保Filter设置为☑ On。如果您的图像包含 alpha,您可能还希望检查 Fix Alpha Border 标志。

  3. 执行尽可能少的重采样操作以显示图像。在您的特定情况下,您将其重新采样到之前大小的十分之一再次将其重新采样到显示的大小。不要那样做。 (这可能是造成问题的主要原因。)只需让您的精灵具有图像的自然大小,并仅在必要时缩放精灵。

    也有可能您正在应用其他过滤器,或者您的渲染器附加了一个错误的重采样器,但您的问题描述并没有让我认为这两种情况都可能发生。

【讨论】:

  • 将 Filter、Mipmaps、Fix alpha border 设置为 true 后,它变得更好了。
【解决方案2】:

提前警告:我一点也不喜欢 godot,但我对调整图像大小有一些经验。

您的问题看起来与纯图像大小调整完全相关。如果你一次缩小图像的比例小于 0.5(这意味着使其小于原始尺寸的一半),你将面临丑陋的小图像的这种效果。

为了获得漂亮而流畅的结果,您必须多次调整它的大小: 始终将图像大小减半,直到下一个必要步骤大于缩放 0.5。 对于您的情况(640x640 到 64x64),需要执行以下步骤:

  • 640 * 0.5 => 320
  • 320 * 0.5 => 160
  • 160 * 0.5 => 80
  • 80 * 0.8 => 64

您可以从一个小得多的图像开始 - 如果您的代码中永远不需要那么大的图像,或者您向您的资源添加多个缩放分辨率,或者您在开始使用它们之前预先计算一半的步骤然后选择正确的图像按最终因子缩小。

【讨论】:

  • 唔?号重新采样一次,使用适当的算法。 Godot 默认为一个完美可用的重采样器。
【解决方案3】:

我对 godot 不是很有经验,现在还没有打开它,但我可以想象你不应该将图像缩放到 0.1,因为那样会降低图像质量。

【讨论】:

    猜你喜欢
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    • 2019-08-25
    • 2022-01-24
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 2016-09-13
    相关资源
    最近更新 更多