如何在3D中的LibGDX中的两点之间画一条线

时间:2016-08-13 01:03:37

标签: java 3d libgdx

我正在尝试学习LibGDX的3D方面,而且我遇到了一个问题。我想从0, 0, -50, 0, 5画一条线。我已经尝试了一些方法来完成这项工作 首先,我查看是否可以创建一个Model行。据我所知,我不能这样做 然后我意识到理论上我可以使用ShapeRenderer绘制一条线。这是我尝试执行此操作的代码。

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();
        ...
    }
    ...
}

但由于某种原因,这似乎不起作用。我使用ShapeRenderers很多,但是我可能在初始化或使用它时犯了错误,但我认为这不是问题。
我刚刚开始使用LibGDX的3D部分,所以我认为问题出在我绘制实际线的地方。

1 个答案:

答案 0 :(得分:3)

模型构建器适合我。

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);