麻烦复制某些混合淡出效果。 (游戏制作者:Studio 1)

问题描述 投票:0回答:1

我正在尝试重现Megaman X6的Playstation 1游戏所具有的某种淡入淡出效果。屏幕变暗,较暗的颜色先变黑,然后变浅的颜色变黑。就像使用bm_add一样,只是使颜色更暗而不是更亮。我尝试使用bm_subtract,但这与绘制黑色矩形相同,该矩形逐渐增加其在整个屏幕上的不透明度。所有颜色同时变为全黑。我以前几乎没有色彩融合方面的经验,但我仍然没有将其包裹住,所以我不确定该怎么做。我尝试过的所有混合模式都不起作用,并且我的互联网搜索没有任何结果。我真的很沮丧,如果有人可以告诉我我需要做什么,我将不胜感激。

我当前的代码(sprDot只是一个白色像素的1x1图像,fadeAlpha保持在0到1之间):

draw_set_blend_mode(bm_subtract);
draw_sprite_ext(sprDot, 0, view_xview[0], view_yview[0], view_wview[0], view_hview[0], 0, make_color_rgb(fadeAlpha * 255, fadeAlpha * 255, fadeAlpha * 255), 1);
draw_set_blend_mode(bm_normal);

我的游戏屏幕没有褪色:https://i.imgur.com/uM6KIDK.png

我的游戏屏幕部分消失:https://i.imgur.com/xGT4KPI.png

原始游戏的屏幕无褪色:https://i.imgur.com/fcGvsaV.png

原始游戏的屏幕部分消失:https://i.imgur.com/W5wtVMG.png

blending game-maker-studio-1.4
1个回答
0
投票

原始的淡入淡出绝对不像bm_subtract那样简单-我要说的是它与Color Burn最相似。这是在PDN中完成的模型:

enter image description here

考虑到这一点,解决该问题的最佳方法是编写一个[片段]着色器。这样的着色器非常简单,只需要一个统一的(渐变系数在0..1范围内),但是您将需要一个公式来根据该统一的值修改输出颜色。

© www.soinside.com 2019 - 2024. All rights reserved.