VR ユーザーインターフェース (UI)

Tutorial

·

Beginner

·

+0XP

·

45 mins

·

Unity Technologies

VR ユーザーインターフェース (UI)

以下の方法を学びます:

  • Text Mesh Pro を使った Crisp Text の作成
  • Google Fonts からカスタムフォントをインポートしてText Mesh Pro で使用する
  • 手への「ジャンプ」を回避する Precision Grab Interactable オブジェクトについて

Languages available:

1. ワールド空間での新しいキャンバス


  1. GameOBject > UI > Canvas の順に選択します。

  1. Inspector 内では「Render Mode」が World Space に設定されています。

  1. Width (幅) を 3、Height (高さ) を 4 に設定し、X position (位置) を -4.23、Y position (位置) を 2.06 に設定します。

  1. キャンバスを Y 軸で -90 度回転させます。

  1. テキストの追加(右クリック > UI > TextMeshPro)TMP がない場合は、Window > Package Manage と移動してインストールしてください。

  1. Inspector で、テキストの Width を 3 に、Height を 4に設定します。

  1. フォントサイズを 0.7 に設定し、テキストを Center (中央) に配置します。

新しいキャンバスの Text Mesh Pro のテキスト

新しいキャンバスの Text Mesh Pro のテキスト


2. Google カスタムフォント


  1. fonts.google.com にアクセスし、フォントを選び、「+」ボタンをクリックします。

  1. 表示されるボックスで「1 Family Selected」をクリックし、ダウンロードボタンをクリックします。

  1. フォントを取り出し、TTF(TrueType Font)を Unity にドラッグして取り込みます。

  1. フォントを TextMeshPro (TMP) で使えるようにするには、Window > TextMeshPro > Font Asset Creator の順に進みます。

  1. Font Asset Creator ウィンドウで、取り込んだフォントを「Source Font File」フィールドへドラッグします。

  1. 「Generate Font Atlas」ボタンをクリックします。

  1. 「Save As」をクリックし、フォルダーへ保存(Assets > TextMeshPro > Resources > Fonts & Materials フォルダーの順に選択)したら、Font Asset Creator ウィンドウを閉じます。

  1. Hierarchy から TextMeshPro Text を選択した状態で、新しく作成した TMP Font Asset(F アイコン)を Inspector ウィンドウの「Font Asset」フィールドへドラッグします。

3. テキストフォーマット


  1. 「Jump Start!」が 1 行に収まるようにフォントサイズを調整します(私は .41 を使用)。

  1. Inspector ウィンドウで「Underlay」(ドロップシャドウ) を追加します。設定を使いました:Offset X: .46、Offset Y: -.82、Softness: .137

  1. Hierarchy の中で、TMP テキストを複製し(Control + D)、タイトルを「JumpStartText」とし、新しいコピーを「Directions」とします。

  1. Inspector のテキストフィールドに、指示(クランプを接続する順番)を追加します。私は以下のテキストを使いました:

  1. Red Good

  1. Red Dead

  1. Black Good

  1. Black Dead

  1. テキストの左揃え(左揃えボタンをクリック)

  1. Hierarchy でキャンバスを選択し、Y の位置を下に移動させます。私は .42 を使ったので、それほど高い位置にはありません。

4. テキストのビルボード背景


  1. Assets > VRTK > Prefabs > Interactions > Interactables の順に選択して Interactable プレハブキューブ(先ほど使用したものと同じなので、後でこれを小さな「クリップボード」サイズの指示に縮小することができる)をドロップします。

  1. キューブの scale を X:1, Y:2.59, Z:3.2 に、position をX:-4.85, Y:1.31, Z:-0.8 に設定

  1. Hierarchy で、Interactable プレハブの名前を「Billboard」に変更します。

  1. Canvas を Billboard にドロップして、子オブジェクトにします(ビルボードとキャンバス&テキストを一緒に動かせるようになる)。

5. クリップボードサイズについて


  1. Hierarchy の中で、Billboard を複製(control + D)し、名前を「Clipboard」とします。

  1. Clipboard のスケールを X:0.1, Y:0.2, Z:0.2 に設定します。

  1. 頂点スナップ(Control + Drag)で Clipboard をクランプテーブルに移動させます。

  1. オプション:Test SZ と Cylinder を Hierarchy で選択し、Inspector ウィンドウの上部にあるボックスをオフにすることで、邪魔な「Test SZ」と Cylinder を非表示にします。

上記の手順を経た結果

上記の手順を経た結果



6. 調整して、正確にオブジェクトを掴む


  1. Hierarchy で、Clipboard 内の Canvas を選択します。X の位置を調整して、キューブに近づけます。私は X: 0.51 を使用しました。

  1. Play モードでは、現在、Clipboard を手に取ると、手の上で予期せぬ方向に「スナップ、 snap」します。もっと正確に変更しましょう。

  1. Hierarchy の中で、Clipboard > Interaction Logic > Interactable.GrabLogic > Actions > PrimaryAction の順に展開し、Interactable.GrabAction.FollowAction を選択します。

  1. Inspector で、Grab Offset のドロップダウンメニューを「Precision Point」に設定します。

クランプを掴んだとき(手の向きに合わせてジャンプする)と、クリップボードを掴んだとき(ジャンプしない)の違いを試してみましょう。


Complete this tutorial