2016-08-13 107 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); 
相關問題