unity-msdf-fonts
Unityフォントを変換してマルチチャネル署名距離フィールドフォントを使用する基本ツール
マルチチャネルSDFフォントレンダリングは、テキストの大きさに関係なく、ピクセル化なしでシャープネスを維持する、よりシャープなテキストレンダリングを提供します。
これにより、Unityフォントが必要になり、MSDFGenを使用してMSDFフォントに変換します。現時点では、これは数時間の作業でハックであり、人々が十分に気にかければ、将来的にはより有用なものに拡張されるでしょう。
このツールは、エディターに焼き付けられた静的フォント用に作られています。 Text Mesh Proはvrchatでかなり壊れているため、主にVrchat Worldsを対象としています。マルチチャネルSDFが持つ主な利点は、コーナーを維持できることです。通常、通常のSDFは、テキストに丸みを帯びた角を取得します。 MSDFGEN Githubには、通常のSDFS https://github.com/chlumsky/msdfgenにコンパート化する良い例があります。
デフォルトのユニティテキストレンダリング
MSDFテキストレンダリング
使用法
- リリースページからパッケージをインストールします
- 好きなフォントを見つけて、UIテキストまたはテキストメッシュで使用します
- フォントアセットを選択し、フォントサイズを30〜60の間に変更し、デフォルトからASCIIデフォルトセットに文字を変更し、[適用]ボタンをクリックします。このステップは重要です。キャラクターを変更しないと、Atlasジェネレーターは何を生成すべきかわかりません!ラチン以外の言語をサポートする必要がある場合は、文字をUTFに変更し、余分な文字をサポートするフォントを使用する必要があります。ある時点で、スクリプトに、必要なキャラクターを見つけるためにシーンで使用されているキャラクターを調べることができます。
- ウィンドウの下にあるアトラスジェネレーターを開き、マーリン> msdfフォントジェネレーターをドロップダウンします
- フォントアセットをジェネレーターのフォントアセットスロットにドラッグし、 [生成]をクリックします。
- Atlas世代が終了すると、新しいフォントAtlasがプロジェクトファイルで選択されます。
- テキスト用の新しい素材を作成します。これをテキストメッシュに載せている場合は、
Merlin/MSDF Text Mesh Fontシェーダーを選択します。 uitextの場合Merlin/UI/MSDF UI Fontシェーダーを使用します。 - 生成されたAtlasテクスチャをマテリアルのMSDFテクスチャスロットにドラッグします。
- UIテキストまたはテキストメッシュに新しい素材を適用します。
- これで、テキストにMSDFテキストが表示されるようになりました。溶けたように見えるアーティファクトが表示されている場合は、ステップ3に戻り、アーティファクトがなくなるまでフォントサイズを増やします。