在LibGDX中使用加法器绘制粒子,但不在背景上创建透明度

在LibGDX中使用加法器绘制粒子,但不在背景上创建透明度,libgdx,particles,Libgdx,Particles,我有一个典型的火焰粒子效果。(我不打算显示粒子代码,粒子编辑器打开时的默认演示粒子就是一个例子)。 我需要检查加法选项,使粒子将其颜色相加,以达到所需的火焰效果。 后来,在我的LibGDX游戏中,火粒子效果在蓝天背景下绘制。火焰效果对蓝色背景进行透明处理,火焰看起来是粉红色的。 就像魔法火一样好,但我想画一个普通的火。在黑色背景下,它看起来不错。 我如何存档一个普通的火焰,而不将其颜色与背景相加,但不检查粒子效果中所需的附加选项? 我已经测试了一些东西,但没有任何结果…尝试使用预乘alpha(混

我有一个典型的火焰粒子效果。(我不打算显示粒子代码,粒子编辑器打开时的默认演示粒子就是一个例子)。 我需要检查加法选项,使粒子将其颜色相加,以达到所需的火焰效果。 后来,在我的LibGDX游戏中,火粒子效果在蓝天背景下绘制。火焰效果对蓝色背景进行透明处理,火焰看起来是粉红色的。 就像魔法火一样好,但我想画一个普通的火。在黑色背景下,它看起来不错。 我如何存档一个普通的火焰,而不将其颜色与背景相加,但不检查粒子效果中所需的附加选项?
我已经测试了一些东西,但没有任何结果…

尝试使用预乘alpha(混合模式
GL\u ONE,GL\u ONE\u减去\u SRC\u alpha
)。这是添加剂和阿尔法混合之间的合理折衷。您需要在图像中创建alpha通道(也许一个好的开始就是将颜色通道的亮度传输到alpha通道)。通过使alpha通道变亮或变暗来调整它,直到你在使用的粒子数上得到一个很好的折衷。Q当你说要为图像创建alpha通道时。。。你指的是背景吗?它不是一个imagen,只是一个Gdx.gl.glClearColor()。它有alpha到0xff(我探测了不同的值,用batch.setBlendFunction(GL20.GL_ONE,GL20.GL_ONE _减去_SRC_alpha)渲染粒子,但没有任何可感知的变化…)我在你用来准备粒子PNG图像的绘制程序中讨论。您需要在文件中创建alpha通道来存储alpha值。如果使用Gimp,我将首先展平到一个层,然后右键单击该层并选择“添加层掩码”,然后在执行此操作时选择“层的灰度副本”。然后右键单击该层并选择“应用层遮罩”,这将将遮罩传输到alpha通道。然后另存为PNG,但在Gimp中保持打开状态。你需要反复回来调整遮罩上的亮度/对比度(每次都恢复到有遮罩的状态)。啊,好的。我使用了示例的particle.png,它位于gdx-tools.jar的内部。这个粒子有一个alpha通道,但我一直在玩alpha不透明,任何成功。火势似乎更糟,但粉红效果依然存在。我想方法是使用我自己的particle.png,然后按照你说的做。