テキスト プレハブ

これらのプレハブは、各オブジェクトのレンダリング品質Windows Mixed Reality。 詳細については、Microsoft Windows デベロッパー センター のUnityのテキストに関するガイドラインを参照してください。

プレハブ

3DTextPrefab

3D Text Mesh プレハブ (Assets/MRTK/SDK/StandardAssets/Prefabs/Text) 。スケーリング係数が 2 メートルの距離で最適化されています。 (以下の手順をお読みください)

UITextPrefab

UI Text Mesh プレハブ (Assets/MRTK/SDK/StandardAssets/Prefabs/Text) で、2 メートルの距離でスケーリング係数が最適化されています。 (以下の手順をお読みください)

フォント

オープンソース フォント (Assets/MRTK/Core/StandardAssets/Fonts) は、Mixed Reality Toolkit。

重要

テキスト プレハブでは、オープン ソース フォント 'Selawik' が使用されます。 別のフォントで Text Prefab を使用するには、フォント ファイルをインポートし、次の手順に従ってください。 次の例は、テキスト プレハブで 'Segoe UI' フォントを使用する方法を示しています。

フォント Segoe UIのインポート

  1. フォント テクスチャを 3DTextSegoeUI.mat 素材に割り当てる。

    フォント テクスチャの割り当て

  2. 3DTextSegoeUI.mat 素材で、シェーダー Custom/3DTextShader.shader を選択します。

    シェーダーの割り当て

  3. フォントSegoe UI 3DTextSegoeUI 素材をプレハブのテキスト コンポーネントに割り当てる。

    フォント ファイルと素材の割り当て

Unity でのフォントの操作

Unity のシーンに新しい 3D TextMesh を追加するときに、視覚的に明らかな 2 つの問題があります。 1 つは、フォントが非常に大きく、2 つ表示され、フォントが非常にぼやけて表示されます。 インスペクターでは、既定の [フォント サイズ] の値が 0 に設定されているのも興味深い点です。 この 0 の値を 13 に置き換えた場合、実際には 13 が既定値なので、サイズに違いはありません。

Unity では、シーンに追加される新しい要素はすべて、サイズが 1 Unity ユニット、または 100% Transform スケール (HoloLens 上の約 1 メートルに変換される) と見なされます。 フォントの場合、3D TextMesh の境界ボックスには、既定で約 1 メートルの高さがあります。

フォント スケールとフォント サイズ

ほとんどのビジュアル デザイナーでは、ポイントを使用して、現実世界のフォント サイズとそのデザイン プログラムを定義します。 1 メートルに約 2835 (2,834.645666399962) ポイントがあります。 ポイント システムの 1 メートルへの変換と Unity の既定の TextMesh フォント サイズ 13 に基づいて、13 を 2835 で割った単純な計算は 0.0046 (正確には 0.00458611116) に等しくなりますが、最初に 0.005 に丸めるのに優れた標準スケールが提供されます。

いずれの場合も、Text オブジェクトまたはコンテナーをこれらの値にスケーリングすると、デザイン プログラムからフォント サイズを 1 対 1 で変換できるだけでなく、アプリケーションまたはゲーム全体の一貫性を維持するための標準も提供されます。

UI テキスト

UI またはキャンバス ベースの Text 要素をシーンに追加する場合、サイズの差は大きくなります。 2 つのサイズの違いは約 1000% です。UI ベースのテキスト コンポーネントのスケール ファクターは、0.00046 (正確には 0.00045861111116) または丸められた値の場合は 0.0005 になります。

免責 事項: 任意のフォントの既定値は、そのフォントのテクスチャ サイズまたはフォントが Unity にインポートされた方法によって影響を受け得る可能性があります。 これらのテストは、Unity の既定の Arial フォントと、他の 1 つのインポートされたフォントに基づいて実行されました。

拡大縮小係数を使用したフォント サイズ

Text3DSelawik.mat

オクルージョンをサポートする 3DTextPrefab の素材。 3DTextShader.shader が必要です

既定のフォント 素材と 3DTextSegoeUI 素材

Text3DShader.shader

オクルージョンをサポートする 3DTextPrefab のシェーダー。