-1

テクスチャに問題があり、作業中の小さなプロトタイプで照明を使用しています。RayHandlers などを使用して照明を実装する方法は理解していますが、ボディの上にテクスチャを配置すると、テクスチャは常に一定の可視性になります (たとえば、光の影響を受けません)。現時点では、通常オブジェクトにテクスチャをレンダリングするのと同じように、Spritebatch を使用してみました。照明を使用するときにこれを行う別の方法はありますか?

ありがとう、ルイス。

4

2 に答える 2

1

テクスチャが照明の影響を受けるようにする場合は、最初にテクスチャを描画してから、次のようにライトをレンダリングする必要があります。

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();
}
于 2014-09-22T11:03:25.487 に答える