我遇到了紋理問題,並在我正在使用的小型原型中使用燈光。我知道如何使用RayHandlers來實現照明,但是當我在紋理的頂部放置紋理時,紋理始終是可見的(例如,不受光影響)。目前,我剛剛嘗試使用Spritebatch,因爲您通常會將紋理渲染到對象。使用照明時有沒有不同的方式來做到這一點?Box2D和Box2DLighting在與紋理一起使用時不起作用
謝謝,劉易斯。
我遇到了紋理問題,並在我正在使用的小型原型中使用燈光。我知道如何使用RayHandlers來實現照明,但是當我在紋理的頂部放置紋理時,紋理始終是可見的(例如,不受光影響)。目前,我剛剛嘗試使用Spritebatch,因爲您通常會將紋理渲染到對象。使用照明時有沒有不同的方式來做到這一點?Box2D和Box2DLighting在與紋理一起使用時不起作用
謝謝,劉易斯。
如果您向我們展示代碼,它會更好。沒有看到你的代碼,我只能說, 你必須首先在對象上繪製紋理並使用rayhandler渲染燈光。
如果你想讓你的紋理被照明的影響,你必須先繪製紋理然後渲染的燈光,就像這樣:
public void render(SpriteBatch batch) {
super.render(batch);
Sprite sprite = (Sprite) body.getUserData();
sprite.setPosition(body.getPosition().x, body.getPosition().y);
sprite.setOrigin(texture.getWidth()/2, texture.getHeight()/2);
sprite.setRotation(body.getAngle() * MathUtils.radiansToDegrees);
sprite.draw(batch);
rayHandler.setCombinedMatrix(getCamera().combined);
rayHandler.updateAndRender();
}