如何在 GameMaker:Studio 1 中实现 3D 低分辨率效果

Posted

技术标签:

【中文标题】如何在 GameMaker:Studio 1 中实现 3D 低分辨率效果【英文标题】:How to achieve 3D low-res effect in GameMaker:Studio 1 【发布时间】:2019-08-01 07:09:15 【问题描述】:

我正在一个名为 GameMaker:Studio 1.99.44 的流行游戏引擎中编写一个 3D FPS 类型的游戏。我正在尝试实现低分辨率“像素化”效果,例如这样:

Example of this effect in a game called "Legend of Xenia"

我尝试过尝试使用视图,从而使它们的分辨率更小,然后在代码中放大游戏窗口以希望达到这种效果。然而,即使在我使用“texture_set_interpolation(false)”之后,像素也会与窗口分辨率成比例缩放。

目前我的游戏是这样的:

Current look of the game

但是,当我强制游戏进入全屏模式时,似乎会出现所需的效果(所以,这就是我希望看到的,但在窗口模式下也是如此):

Desired effect after forcing the game to go fullscreen

我非常感谢任何可能的帮助。 谢谢你,祝你有美好的一天!

【问题讨论】:

【参考方案1】:

我对 GMS1 的熟悉程度不如对 GMS2 的熟悉(我从 GM8 直接跳到 GMS2),所以请耐心等待。

Game Maker 中缩放的一个重要概念一直是“房间像素”和“计算机/屏幕/窗口像素”之间的区别。似乎您在很大程度上理解了这种差异。

您需要实现的是 VIEW 大小(以“房间像素”为单位的房间大小:view_wviewview_hview)和视图端口大小(以“屏幕像素”为单位的屏幕大小: view_wportview_hport)。您希望房间内视图的大小非常小,然后端口要大几倍(我猜至少是 4 倍)。

您可以使用 GML 代码或在房间编辑器中进行设置(参见下面的截图,取自 GMS1 手册):

可能使情况复杂化的是,窗口大小通常是从房间大小中提取的,这在您处理视图时可能难以处理。一个可以帮助您解决此问题的命令是window_set_size(w,h)。如果您希望您的游戏可以在各种屏幕分辨率上运行(在此处输入“在游戏菜单中添加分辨率选择器的强制性建议”),请谨慎操作。

【讨论】:

以上是关于如何在 GameMaker:Studio 1 中实现 3D 低分辨率效果的主要内容,如果未能解决你的问题,请参考以下文章

GameMaker Studio:处理虚拟键时如何忽略全局左键?

在 Gamemaker Studio 2 中,我如何在代码中找出平台是不是为 HTML5?

译文|GAMEMAKER STUDIO 系列:简单状态机

Gamemaker Studio 2,绘制 GUI 层冲突

在 GameMaker: Studio 中等待

Gamemaker Studio 2 中的弹丸不动