LoginSignup
8
3

More than 1 year has passed since last update.

【初心者向け】VCIでテキストを扱う

Posted at

VCIを触りはじめて1ヶ月程度が経ちましたが、テキスト(文字列)を扱おうとしたいときにどこから始めればよいかわかりづらかったので、その補完をしたいという気持ちで書きます。

参考情報

本記事の内容はほぼ上記公式リファレンスの焼き直しです。

開発環境の構築とプロジェクトの作成

プロジェクトの作成が完了している場合は読み飛ばしてください。

開発環境

インストールするもの

  • Unity 2021.3.6f1

Unity Hub経由でインストールします。

ダウンロードしておくもの

  • UniVRM-0.101.1.unitypackage

  • UniVCI-0.35.0.unitypackage
  • TMP_NotoSansCJK.unitypackage

執筆時点で最新の開発環境を揃えると上記のようになります。基本的には最新のUniVCIのリリースを確認し、そこで推奨されている記載されているバージョンのUnityおよびUniVCIを使用すると良いと思います。TMP_NotoSansCJK.unitypackage は必須ではありませんがテキストを扱う際には導入しておいたほうがのちのち都合がよいです。

プロジェクトの作成

Unity Hubの画面上 [New Project] をクリックし、[3D] を選択、Editor Versionが2021.3.6f1になっていることを確認します。

Screenshot_2022-12-12 21_07_31-Unity Hub.png

Project nameは適当につけます。

パッケージのインポート

Screenshot_2022-12-12 21_22_11-VCITextTest - SampleScene - Windows, Mac, Linux - Unity 2021.3.6f1 Personal _DX1.png

[Assets][Import Package][Custom Package...] でダウンロードしたUniVRM-0.101.1.unitypackage、UniVCI-0.35.0.unitypackage、TMP_NotoSansCJK.unitypackage を順番にインポートします。

Screenshot_2022-12-12 21_39_39-UniGLTF.EditorSettingsValidator.UnityEditorSettingsValidatorWindow.png

インポート時にこのような確認メッセージが表示されたらAccept Allをクリックします(よくわかっていない)。

VCIの作成

上記記事の焼き直しですが念のため。

VCIObject と VCI Sub Item

まず空のGameObjectを作成し、 [Add Component] でVCIObjectを追加します。個のオブジェクトの名前を VCITextTest とします。

VCITextTest のLayerを VCIPickUp にします。この設定はアバターや他のVCI等との接触時の挙動に関係します。詳細については以下の記事が詳しいです。

Screenshot_2022-12-13 14_07_34-VirtualCast.png

Hierarchy上で VCITextTest を右クリックし [3D Object][Cube] を選択します。このCubeの名前は Cube のままにしておきます。

Cube のTransformで Position のYを1にしておきます。Scaleは X: 0.5, Y: 0.5, Z: 0.001 にします。

Cube のInspectorで [Add Component][VCI Sub Item] を選択します。

追加されたVCI Sub Itemでは Grabbable, Scalable, Attractable にチェックを入れ、同じく追加されたRigidbodyでは Use Gravity のチェックを外し is Kinematic のチェックを入れます。

Screenshot_2022-12-13 13_13_09-VCITextTest - SampleScene - Windows, Mac, Linux - Unity 2021.3.6f1 Personal _DX1.png

VCI Text

ようやく本題に入っていきます。

Cube を右クリックし [VCI][Text] を選択します。

Screenshot_2022-12-13 14_23_02-VCITextTest - SampleScene - Windows, Mac, Linux - Unity 2021.3.6f1 Personal_ _DX.png

以下のようなダイアログが表示されたら [Import TMP Essentials] をクリックして必要なパッケージをインポートします。

Screenshot_2022-12-13 10_21_02-TMP Importer.png

テキストの編集

文字が Cube の中に入って見えなくなっている場合は、Z軸(青色の軸)を動かして見える状態にします。

Screenshot_2022-12-13 13_45_59-VCITextTest - SampleScene - Windows, Mac, Linux - Unity 2021.3.6f1 Personal _DX1.png

TextMeshPro-Text で一般的なテキスト編集ができます。ただし多少クセがあります。

Screenshot_2022-12-13 11_41_05-VCITextTest - SampleScene - Windows, Mac, Linux - Unity 2021.3.6f1 Personal_ _DX.png

  • VCIで使用できるフォントは Noto Sans JP のみです 。Font Assetでフォントを選択できるように見えますが、ここでの選択はあくまでUnity上でしか反映されません。
  • Font Asset が初期設定 LiberationSans SDF のままだとUnity上で日本語が潰れて見えてしまいます。TMP_NotoSansCJK.unitypackage をあらかじめインポートしたことにより NotoSansCJK-Bold_SDF が選べるようになっていますので変更しておきます。
  • Font Size の初期値5はかなり大きいので、いったん1くらいにしておきます。Auto Size はVCIでは機能しません。
  • Wrapping をEnabledにするとテキストが枠内で折り返されます。

VCIのエクスポート

Screenshot_2022-12-13 12_08_06-VCITextTest - SampleScene - Windows, Mac, Linux - Unity 2021.3.6f1 Personal_ _DX.png

VCI Object のTitle, Version, Authorを適当に入力し [VCIをエクスポート] をクリックします。

エクスポートしたVCIを THE SEED ONLINE にアップロードし、VirtualCast上で展開します。ルーム・スタジオのどちらでも同じ挙動になるかと思います。

2022121313570921_作業ルーム_桜町しいた.png

問題なくVCIが表示されたらVCIが勝手に移動しないか、それを掴めるか、リサイズ可能か、文字( Text )と背景( Cube )が別々に動いてしまわないか確認します。

2022121313572755_作業ルーム_桜町しいた.png

ここまで来たら本記事で扱う内容は終了です。

文字を表示するという単純な動きを実現するだけでも、初学者にとってはハードルになる要素がたくさんあるものだと感じました。とはいえ、VR空間内で使えるアイテムを短時間で作って簡単に持ち込めるのはやはりVirtualCastの優れたポイントだと思います。

VCIで楽しいことをしていきたいですね。

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3