1
這是我第一次嘗試創建一個基本的燈光系統,在頂部使用一個帶有白色圓圈的黑色紋理。我讀了關於這個問題的各種線索,但我只是不知道我做錯了什麼。LibGDX - 基本的2D照明,不知道該怎麼做
我要的是周圍是黑暗和光線很好白色,但改變spritebatch顏色的東西較深將導致光線更暗,即使我重新繪製質地輕
當顏色所以這就是我想要的(通過強制質地輕取出5次這樣做,但不是一個解決方案,這是一個黑客):
主要代碼:
Game.sb.begin();
//Make stuff darker
Game.sb.setColor(0.1f, 0.1f, 0.1f,1f);
sb.setBlendFunction(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
lvl.render();
//Reset color
Game.sb.setColor(1f, 1f, 1f,1f);
sb.setBlendFunction(GL20.GL_DST_COLOR, GL20.GL_SRC_ALPHA);
//This draws all lights by drawing a texture with the above blending function
lightM.render();
Game.sb.end();
燈光對象繪製方法:
Game.sb.setColor(c.r,c.b,c.g, 1f);
Utils.drawTexture(Assets.get("sprites/lightcircle2.png", Texture.class), pos, size, true);
Game.sb.setColor(1,1,1,1);
我是不是做了某種錯誤與爲setColor?使用幀緩衝我一直在考慮,但我不知道這是否會給我光效果我想
順便說一句,這是我的質地輕(它的CC0):
我會嘗試使用FBO和混合,GLSL似乎很複雜,我不想使用box2dlights。謝謝! :d –