2022年9月28日

新しいフォントとテキスト機能

Evergineのフォントに関する画像

今回のリリースでは、Evergineに外部ライブラリを必要としないフォントとテキストのサポートが追加されました。これまで、Evergineプロジェクトでテキストを描画するにはNoesisGUIやImGuiなどのライブラリを使用する必要がありましたが、この新機能がEvergineのライブラリとEvergine Studioに追加されたため、今後は不要になります。

Evergineは、マルチチャンネル符号付き距離フィールド技術を使用して、元のフォントファイルから事前レンダリングされたスプライトフォントアトラスを生成します。フォントアトラスは通常、テクスチャメモリに保存され、リアルタイムレンダリングコンテキストでテキストを描画するために使用されます。従来のスプライトアトラスの主な問題点は、グリフが特定の解像度で事前レンダリングされるため、このスプライトアトラスを使用してより大きなテキストをレンダリングしたり、カメラがテキストに近づいたりすると、解像度の低下やエイリアシングが検出される可能性があることです。マルチチャンネル符号付き距離フィールドを使用すると、異なるフォントサイズやカメラがテキストに近い場合でも、解像度の低下を最小限に抑えてフォントグリフをレンダリングできます。

マルチチャンネル符号付き距離フィールド(MSDF)は、Valveが開発した有名な距離フィールド技術をベースに改良された手法です。この改良された手法を開発したのはViktor Chlumsky氏です。詳細については、同氏の論文をご覧ください。

マルチチャンネル距離フィールドに関する画像

Evergineでは、TrueTypeフォント(.ttf)またはOpenTypeフォント(.otf)ファイルを含めることができます。これらのファイルをEvergine Studioにドラッグすると、新しいフォントアセットが自動的に作成されます。

EvergineにおけるTrueTypeおよびOpenTypeに関する画像

Evergine Studioに新しいフォントエディターが追加されました。フォントアセットをダブルクリックすると開きます。この新しいエディターには、特定のフォントでテキストがどのようにレンダリングされるかをすばやくテストする方法が含まれており、生成されるスプライトフォントアトラスに使用される文字セットを変更して、デフォルトの文字セットに特殊文字を追加することもできます。

Evergineのフォントエディターに関する画像

Evergineシーンにテキストを追加する作業を容易にするために、新しいテキストコンポーネントText3DMeshとText3DRendererを持つエンティティを作成する新しいメニューが追加されました。

Evergineのエンティティ階層メニューに関する画像

Text3DRendererコンポーネントには、テキストの配置、折り返し、原点などのテキスト設定をよりよく理解できるようにするデバッグモードが含まれています。

Evergineのフォントとテキストのデバッグモードに関する画像

 

この新機能の使用方法の詳細については、新しいフォントとテキストのドキュメントセクションをご覧ください。

Jorge Canton
著者
Jorge Cantón
Plain Concepts Research