0

私は3Dでテキストを描く方法を理解しようとしています。

現在、画面に表示する方法は2つあります。通常の3D空間を使用して世界をレンダリングし、追加のレンダリングを使用して、事前に変換された方法でそれを行うHUDをレンダリングします。

したがって、理想的には、テキストに対して同じことを行い、文字列を3D(「ビルボード」のような方法)と事前変換された方法(2Dモードを使用しているかのように)の両方でレンダリングする方法が必要です。

私が見つけたのは「Mesh.FromText」を使用することだけでしたが、それは私が必要としているものではないようです。ああ、また、スプライトバッチを使用してテキストをテクスチャに描画し、次にこのテクスチャをアルファブレンディングを使用して3Dで使用しますが、これもまた、それを行うにはくだらない方法のようです...

何か案は?

4

1 に答える 1

0

SpriteBatchカスタム エフェクトを使用して、3D 空間で描画できます。このブログ投稿に詳細があります。

BasicEffect正しい変換が設定された効果 ( など) をSpriteBatch.Begin( this one ) の適切なオーバーロードに渡すのと同じくらい簡単です。

(テキストは透明なスプライトで構成されているため、3D での透明度を使用した描画に関する通常の注意事項がすべて適用されます。不透明な Z バッファ シーンを並べ替えて描画するか、アルファ テストを使用します。)

于 2012-09-14T13:11:29.703 に答える