如何在LibGDX中的两点之间绘制一条线,以3D形式
问题描述:
我正试图学习LibGDX的3D一侧,并且我遇到了一个问题。我想画一条从0, 0, -5
到0, 0, 5
的线。我已经尝试了几件事情来完成这项工作。
首先我看看是否可以创建一条线作为Model
。据我所知,我无法做到这一点。
然后我意识到理论上我可以使用ShapeRenderer
来画一条线。这是我的代码,试图做到这一点。如何在LibGDX中的两点之间绘制一条线,以3D形式
public class Main implements ApplicationListener {
...
public ShapeRenderer srend;
...
@Override
public void create() {
...
srend = new ShapeRenderer();
srend.setColor(Color.RED);
...
}
@Override
public void render() {
...
srend.begin(ShapeType.Line);
srend.line(0, 0, -5, 0, 0, 5);
srend.end();
...
}
...
}
但由于某种原因,这似乎并不奏效。我使用了很多ShapeRenderer,但可能是我在初始化或使用它时出错,但我认为这不是问题。
我刚刚开始使用LibGDX的3D部分,所以我假设问题在于我绘制实际线的位置。
答
Model Builder适合我。
ModelBuilder modelBuilder = new ModelBuilder();
modelBuilder.begin();
MeshPartBuilder builder = modelBuilder.part("line", 1, 3, new Material());
builder.setColor(Color.RED);
builder.line(0.0f, 0.0f, -5.0f, 0.0f, 0.0f, 5.0f);
lineModel = modelBuilder.end();
lineInstance = new ModelInstance(lineModel);