Я пытаюсь добавить текст в сцену с помощью ModelBatch в LibGDX. Чтобы объяснить более подробно, предположим, что у меня есть класс MyOBJ.Текст в 3D-пространстве
class MyOBJ {
private Model model;
private ModelInstance modelInstance;
public MyOBJ() {
// initialize model, texture and modelInstance.
// for simplicity let's assume this is a sphere
ModelBuilder modelBuilder = new ModelBuilder();
model = modelBuilder.createSphere(...);
instance = new ModelInstance(model);
}
public void render(ModelBatch modelBatch) {
modelBatch.render(this.instance);
}
}
Теперь я хочу, чтобы под сферой был текст (например, метка). Так что, даже если камера вращается или перемещается, она все равно будет разворачиваться и под сферой.
Я знаю, что делать текст с помощью SpriteBatch, однако я не могу интегрировать SpriteBatch (ведьму 2D) в 3D-модель. Любые предложения/помощь приветствуются.
То, о чем вы просите, является чрезвычайно сложной темой, которая потребует гораздо большего объяснения, чем обычно предлагается здесь для переполнения стека. Я рекомендую искать YouTube для учебника, в частности, для поиска ThinMatrix, у него есть учебник по визуализации текста в lwjgl, который, скорее всего, будет легко переводиться в LibGDX, поскольку реальное мясо того, что вы пытаетесь сделать, сводится к тяжелой математике , – CraigR8806
Я вижу. Я, хотя LibGDX уже предлагает некоторый механизм для объединения 2D и 3D, который я не смог найти в документации. Я попробую то, что вы предложили. Благодарю. –
Не все так сложно. Вы можете передать матрицу 3D-преобразования в SpriteBatch, чтобы изменить плоскость, на которую нарисовано все. На этом сайте есть вопрос, где это объясняется. – Tenfour04