繁体   English   中英

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

[英]How to draw a line between two points in LibGDX, in 3D

我正在尝试学习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部分,所以我认为问题出在我绘制实际线条的地方。

模型构建器对我来说效果很好。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM