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

     2023-02-16     143

关键词:

【中文标题】如何在 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 中等待

】在GameMaker:Studio中等待【英文标题】:WaitinginGameMaker:Studio【发布时间】:2016-05-2716:56:14【问题描述】:我在GML中编写了一个脚本,该脚本应该在执行脚本之前等待几秒钟,但我尝试了它,但它不起作用。有人可以帮忙吗?而且... 查看详情

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

】在GamemakerStudio2中,我如何在代码中找出平台是不是为HTML5?【英文标题】:InGamemakerStudio2howcanIfindoutincodewhethertheplatformisHTML5ornot?在GamemakerStudio2中,我如何在代码中找出平台是否为HTML5?【发布时间】:2017-12-3113:05:59【问题描述... 查看详情

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

】GameMakerStudio:处理虚拟键时如何忽略全局左键?【英文标题】:GameMakerStudio:Howtoignoregloballeftbuttonwhendealingwithvirtualkeys?【发布时间】:2016-09-0918:55:34【问题描述】:我有以下问题:当我按下暂停按钮时,我的角色会同时跳跃,... 查看详情

Gamemaker Studio 2,绘制 GUI 层冲突

】GamemakerStudio2,绘制GUI层冲突【英文标题】:GamemakerStudio2,DrawGUIlayerconflict【发布时间】:2021-02-2216:28:46【问题描述】:首先我想说我对gameMakerstudio还是很陌生,我不知道所有关于软件如何工作的知识,这可能是我的问题的根本... 查看详情

运动 GameMaker studio 2 的问题

】运动GameMakerstudio2的问题【英文标题】:ProblemswithmovementGameMakerstudio2【发布时间】:2018-01-2211:39:32【问题描述】:我正在为学校制作一个游戏,在这个游戏中我有一个(英雄)资产,这个资产在按键时会走,当我不按键时会停... 查看详情

GameMaker Studio 2 - 未找到路径

】GameMakerStudio2-未找到路径【英文标题】:GameMakerStudio2-PathNotFound【发布时间】:2018-02-0312:18:04【问题描述】:我正在使用GameMakerStudio2制作2D平台游戏。但是当我尝试运行游戏时,我遇到了这个错误:Itsays:Pathdoesn\'texists.我什至没... 查看详情

GameMaker Studio 2 - 中心 + 钳位相机变焦

】GameMakerStudio2-中心+钳位相机变焦【英文标题】:GameMakerStudio2-Center+clampcameraonzoom【发布时间】:2018-10-2902:58:12【问题描述】:我是GameMaker的新手,我正在玩游戏,尝试按照ShaunSpalding的教程创建我的第一个平台游戏,尤其是关于... 查看详情

Gamemaker Studio 2 中的弹丸不动

】GamemakerStudio2中的弹丸不动【英文标题】:ProjectilesInGamemakerStudio2NotMoving【发布时间】:2018-08-2217:38:42【问题描述】:我的枪的开始步骤代码:if(global.night==true)image_angle=point_direction(x,y,mouse_x,mouse_y);image_index=1;alarm[0]=0.5*room_speed; 查看详情

Gamemaker Studio 2 位被随机删除

】GamemakerStudio2位被随机删除【英文标题】:GamemakerStudio2bitsrandomlygettingdeleted【发布时间】:2020-03-3003:19:37【问题描述】:我是一名学生,在GamemakerStudio中为我们的顶点项目构建一个高级项目,作为我游戏开发专长的一部分。我... 查看详情

Google Play 64 位要求 Gamemaker Studio

】GooglePlay64位要求GamemakerStudio【英文标题】:GooglePlay64bitRequirementGamemakerStudio【发布时间】:2020-04-0711:44:37【问题描述】:我在将GamemakerStudio2中制作的应用添加到GooglePlay时遇到问题;我唯一能修改的是Android的版本以及SDK、JDK和N... 查看详情

GameMaker Studio 2 - 多个事件 - 如果 mouse_enter 事件则绘制

】GameMakerStudio2-多个事件-如果mouse_enter事件则绘制【英文标题】:GameMakerStudio2-MultipleEvents-Drawifmouse_enterevent【发布时间】:2020-02-1117:11:51【问题描述】:我想在鼠标悬停时在我的精灵上画一些东西。类似的东西(在我的对象的绘... 查看详情

GameMaker Studio,从 Windows DLL 创建异步事件

】GameMakerStudio,从WindowsDLL创建异步事件【英文标题】:GameMakerStudio,CreateAsyncEventfromWindowsDLL【发布时间】:2016-11-0209:03:03【问题描述】:我正在尝试从Windows上的DLL触发社交异步事件。底部有这个here的教程。我不明白的是以下内... 查看详情

如何在c#中实现决策矩阵

】如何在c#中实现决策矩阵【英文标题】:Howtoimplementdecisionmatrixinc#【发布时间】:2013-05-2920:27:33【问题描述】:我需要根据一组相当大的8个相互依赖的条件做出决定。|A|B|C|D|E|F|G|H-----------+---+---+---+---+---+---+---+---Decision01|0|1|-|1|0... 查看详情

如何在 jCrop 中实现 2:1 的比例?

】如何在jCrop中实现2:1的比例?【英文标题】:Howtoratio2:1injCrop?【发布时间】:2012-10-0103:44:35【问题描述】:jCrop比例有限?如果宽度为2px,高度为2px。我想要宽高比2:1。如何编辑jCrop?【问题讨论】:以下是JCrop提供的选项:deep... 查看详情

如何在 android 中实现 Exoplayer 2.11.1?

】如何在android中实现Exoplayer2.11.1?【英文标题】:HowtoimplementExoplayer2.11.1inandroid?【发布时间】:2020-04-1319:34:55【问题描述】:我正在尝试实现exoplayer这是我的exoplayer版本implementation\'com.google.android.exoplayer:exoplayer:2.11.1\'我正在创... 查看详情

如何在 Bootstrap v4.1 中实现多级下拉菜单? [复制]

】如何在Bootstrapv4.1中实现多级下拉菜单?[复制]【英文标题】:HowtoachieveMultiLeveldropdownsinBootstrapv4.1?[duplicate]【发布时间】:2018-10-1802:18:15【问题描述】:我使用了下拉类并想使用按钮下拉菜单,我想在一个下拉菜单中显示更多... 查看详情

如何在 laravel 5.1 中实现“记住我”?

】如何在laravel5.1中实现“记住我”?【英文标题】:Howimplement\'rememberme\'inlaravel5.1?【发布时间】:2016-04-1115:31:45【问题描述】:如何在laravel5.1中实现rememeberme功能?谁能举个例子?【问题讨论】:你有没有尝试寻找或做某事,... 查看详情

如何在核心数据中实现它

】如何在核心数据中实现它【英文标题】:howtoimplementthatincoredata【发布时间】:2011-03-2415:07:10【问题描述】:在SQL中我们使用以下子句其中studentNamelike\'%a\'andStudentID=1如何在目标c和核心数据中使用setpredicate进行fetchrequest我只有... 查看详情