1

Godot/GDScript 新手,我正在制作像素艺术游戏。

低分辨率图形可以通过缩放视口轻松放大,但这会影响树中所有节点的比例。缩小视口可提供理想的清晰边缘,而这无法通过放大精灵节点来获得(否则像素艺术会模糊)。当我想在游戏中显示文本或 GUI 元素时,问题就出现了。

我想要:

  1. 在放大的节点/视口上渲染瓷砖地图和游戏精灵,例如 120x100 缩放到窗口大小
  2. 在游戏顶部以一致的更高分辨率渲染按钮和文本(hud),无需缩放

我尝试过播放多个视口,但我还没有掌握它。

任何有关设置的帮助将不胜感激!

4

1 回答 1

1

我认为此设置可能如下所示:

- scene
  - GameViewportContainer
    - Viewport
  - UIViewportContainer
    - Viewport

将 ViewportContainers 拉伸设置为 true。

然后在 GameViewportContainer 上的脚本中:

extends ViewportContainer

var your_custom_size = Vector2(128, 128)

func _ready():
    $Viewport.connect('size_changed', self, '_on_viewport_size_changed')
    change_viewport_size()

func _on_viewport_size_changed():
    change_viewport_size()

func change_viewport_size():
    $Viewport.set_size_override(true, your_custom_size)
    $Viewport.set_size_override_stretch(true)

如需进一步阅读结帐:

  1. https://godotengine.org/qa/25504/pixel-perfect-scaling
  2. https://github.com/godotengine/godot/issues/6506

希望这可以帮助。

于 2018-10-18T00:47:40.647 回答