Как libgdx рисует текст в трехмерной перспективе? - PullRequest
1 голос
/ 24 октября 2019

Я хотел бы сделать фиксированный текст для отладки в моей guiCam (вторая камера, на которую не влияют какие-либо повороты или преобразования).

Я думаю, что отображаемый текст является либо большим, либо маленьким, чтобы его можно было увидеть здесь, но я не могу найти в официальной документации libgdx, как этот текст рисуется и какЯ могу манипулировать размером.

create:

guiCam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
        guiCam.position.set(1f, 1f, 20f);
        guiCam.lookAt(0, 0, 0);
        guiCam.near = 1f;
        guiCam.far = 300f;
        guiCam.update();

batch = new SpriteBatch();
        batch.setProjectionMatrix(guiCam.combined);

        font = new BitmapFont();
        font.setColor(Color.RED);

render:

font.draw(batch, "debug line here", 200, 200);

Может кто-нибудь объяснить мне, как рисуется шрифт libgdx по умолчанию, или еслиможет быть, было бы лучше использовать это решение для отображения фиксированного текста?

Я уже пытался использовать камеру OrthoGraphic вместо предполагаемой, но, поскольку мое основное приложение в 3D, камера OrthoGraphic не работает.

1 Ответ

1 голос
/ 24 октября 2019

Нашел это для вас на stackexchange.

Ответ, данный lookx2:

Вы можете просто использовать другой SpriteBatch без установки матрицы проекции для рисования HUD,

camera.update();
spriteBatch.setProjectionMatrix(camera.combined);
spriteBatch.begin();
aButton.draw(spriteBatch, 1F);
playerShip.draw(spriteBatch, 1F);
spriteBatch.end();

hudBatch.begin();
//Draw using hudBatch
hudBatch.end();

Если вы хотите визуализировать текст на экране, вы можете сделать это, рисуя в HUD

...