我在我的一个项目中使用 Box2DLights。我在这个项目上工作了几个月,我只是尝试将它移植到 Android 上,看看它的外观。虽然桌面版游戏的灯光效果看起来很不错,但在安卓版上看起来真的很难看。灯光渐变一点也不平滑,带有色带效果。以下是桌面版和安卓版的截图:
为了在我的游戏中使用 Box2DLights,我在 GameScreen 中使用了这段代码:
RayHandler.useDiffuseLight(true);
rayHandler = new RayHandler(world);
rayHandler.resizeFBO(Gdx.graphics.getWidth()/5, Gdx.graphics.getHeight()/5);
rayHandler.setBlur(true);
rayHandler.setAmbientLight(new Color(0.15f, 0.15f, 0.15f, 0.1f));
我还尝试使用不同的参数,例如:
rayHandler.diffuseBlendFunc.set(GL20.GL_DST_COLOR, GL20.GL_SRC_COLOR);
或者
rayHandler.shadowBlendFunc.set(GL20.GL_DST_COLOR, GL20.GL_SRC_COLOR);
或者
Gdx.gl.glEnable(GL20.GL_DITHER);
我不知道这有帮助,但这里有其他精度:
- 我的图块集是在 Photoshop 上制作的,并以 RGB 模式记录为 PNG 文件,8 位/通道
- 在我的 2 台 Android 设备上观察到了这种效果:
- 平板 Transformer Prime TF701 与 Android 4.2.1
- 装有 Android 5.0.2 的 LG G Stylo
谢谢你的帮助!