2017-01-27 27 views
0

LibGDXでModelBatchを使用してシーンに広告テキストを表示しようとしています。より詳細に説明するために、MyOBJクラスがあるとします。3D空間のテキスト

class MyOBJ { 
    private Model model; 
    private ModelInstance modelInstance; 

    public MyOBJ() { 
     // initialize model, texture and modelInstance. 
     // for simplicity let's assume this is a sphere 
     ModelBuilder modelBuilder = new ModelBuilder(); 
     model = modelBuilder.createSphere(...); 
     instance = new ModelInstance(model); 
    } 

    public void render(ModelBatch modelBatch) { 
     modelBatch.render(this.instance); 
    } 
} 

ここで、球の下に(ラベルのような)テキストがあるようにしたいと思います。カメラが回転したり動いても、それはまだ読み取り可能で球の下にあります。

私はSpriteBatchを使ってテキストをレンダリングすることを知っていますが、SpriteBatch(魔法使いは2Dです)を3Dモデルに統合することはできません。どんな提案/助けもありがとうございます。

+0

あなたが求めているのは、Stack Overflowでここで提供するよりもはるかに説明が必要な非常に複雑なトピックです。 YouTubeでチュートリアル、特にThinMatrixの検索を検索することをお勧めします.Lwjglのテキストレンダリングチュートリアルがあります。これはLibGDXに簡単に翻訳される可能性があります。あなたがしようとしている本物の肉は重い数学になるでしょう。 – CraigR8806

+0

私は参照してください。私はLibGDXはすでにドキュメントで見つけることができなかった2Dと3Dを組み合わせるためのいくつかのメカニズムを提供しています。私はあなたが提案したものを試してみる。ありがとう。 –

+0

それほど難しいことではありません。 SpriteBatchに3D変換マトリックスを渡して、すべてが描画される平面を変更することができます。これが説明されたこのサイトには質問があります。 – Tenfour04

答えて

0

私はデカールでこれを行うことができました。フォントをカスタムfboにレンダリングし、fboテクスチャを取得してデカールに追加します。デカールバッチですべてをレンダリングします。

+0

ありがとうございます。私はこれをやろうとします。 –

関連する問題