2016-08-13 111 views
1

我正试图学习LibGDX的3D一侧,并且我遇到了一个问题。我想画一条从0, 0, -50, 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部分,所以我假设问题在于我绘制实际线的位置。

回答

3

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); 
相关问题