缩放视口在Godot 3

时间:2018-10-17 15:52:02

标签: game-engine viewport pixel scaling godot

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

可以通过缩放视口轻松地缩放低分辨率图形,但这会影响树中所有节点的缩放比例。按比例缩小视口可提供所需的清晰边缘,该边缘不能通过按比例放大Sprite节点获得(否则像素图会模糊)。当我想在游戏上显示文本或GUI元素时出现问题。

我要:

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

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

在设置方面的任何帮助将不胜感激!

1 个答案:

答案 0 :(得分: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

希望这会有所帮助。