Я использую Box2DLights в одном из моих проектов. Я работал над этим проектом уже пару месяцев, и я просто попытался его портировать на Android, чтобы посмотреть, как он выглядит. В то время как световой эффект выглядит очень хорошо на настольной версии игры, он выглядит действительно уродливым по версии Android. Легкий градиент не является гладким, с эффектом цветокоррекции. Вот скриншоты рабочего стола и андроид версии: libGDX/Box2DLights Color Banding на 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);
Я не знаю, что помогает, но вот другие уточнения:
- Мой Tileset был сделан на Photoshop и записанные в виде PNG-файла с режимом RGB, 8 бит/канал
- Этот эффект наблюдался на моих 2 Android устройств, которые:
- Tablet Transformer Prime TF701 с Android 4.2.1
- LG G Stylo с Android 5.0.2
Спасибо вам помочь!