テキスト#

任意の文字列を表示する機能です。
テキストの表示にはUnityのテキストレンダリングシステム(TextMeshPro)を使用します。

テキストをVCIに配置する#

VCIにテキストを配置するには、以下の手順を行います。

  1. VCIのルートより下のGameObjectに TextMeshPro - Text をアタッチします。

  2. TextMeshPro - TextTextInput に表示したい文字列を設定します。

TextMeshProをはじめて使用する場合は初期設定メニューが表示されます。
Import TMP Essentials を押して必要なアセットをインポートしてください。

テキストの設定#

VCIではTextMeshProの一部のプロパティーを利用できます。
TextMeshProの設定は TextMeshPro - Text のインスペクターから行います。

プロパティ

説明

Font Asset

フォント

Font Style

太字、斜体、アンダーライン、取り消し線

Font Size

文字の大きさ

Vertex Color

文字の色

Color Gradient
(Color Mode, Colors)

文字のグラデーションカラー

SpacingOptions
(Character, Word, Line, Paragraph)

字間、行間、スペース区切りの間隔、段落の間隔

Alignment

左寄せ、中央寄せ、上揃え…等の設定

Wrapping

文字を折り返し設定

Overflow

字数をオーバーした際の処理

Margin

マージン(余白)

RichText

Rich Text タグによるテキストの装飾を有効にします

Kerning

カーニングによって自然な文字の間隔に調整します

ExtraPadding

文字描画用のスプライトに余白を追加します(オフを推奨)

使用できるフォント#

以下のフォントを使用できます

  • NotoSansCJK-Bold_SDF

VCIスクリプトでテキストを書き換える#

VCIスクリプトによって表示するテキストを動的に書き換えることができます。

テキストを書き換えるには ExportAssets.SetText() または ExportAssets._ALL_SetText() を使用します。 これらの関数は、テキストを表示するために使用したGameObjectにアタッチされているTextMeshProのTextプロパティを書き換えます。

以下はVCIスクリプトでテキストを書き換えるサンプルです。

-- TextMeshPro - Text が GameObject "TextObject" にアタッチされているとする

function onUse(subItemName)
    -- Useしたプレイヤーの環境でのみテキストを書き換える
    vci.assets.SetText("TextObject", "任意の文字列")

    -- すべての環境でテキストを書き換えたい場合はALL関数を使用する
    vci.assets._ALL_SetText("TextObject", "任意の文字列")
end

参考

テキストを使ったVCIのサンプルはこちらを参照してください。
Textを使って時間を表示する [VirtualCast]