====== VCI Text (TextMeshPro) ======
* テキストVCIの作成には[[https://github.com/virtual-cast/VCI/releases | VCI v0.23]]以降が必要です。
* [[https://blogs.unity3d.com/jp/2017/03/20/textmesh-pro-joins-unity/ | TextMeshPro]]というUnityの公式アセットを使用します。
* TextMeshProの**推奨バージョンは 1.4.1 以降** です。
* Unityの**推奨バージョンは 2019.4 の最新** です。
* Webのアイテム画面ではテキストのプレビューはできません。
==== VCIテキストの導入 ====
* **※プロジェクトは必ずバックアップを取る**ようにしてください。
* UnityとTextMeshProのバージョンが推奨バージョン以外の時でも動く事はあります。\\ 適宜変更を行ってください。
* まずは現在使ってるVCIのプロジェクトでTextMeshPro1.4.1以降が使用可能か確認してください。
--> TextMeshProのバージョン確認 (クリックで展開) #
{{:vci:sdk:text:tmp_versioncheck.png?600|}}
- UnityEditorのメニューバーにある [Window] を選択
- [PackageManager] を選択
- 導入されてるPackageの一覧が出るので、検索バーで [Text] と入力してTextMeshProを検索する
- PackageManagerのバージョン表記を確認する
- TextMeshPro1.4.1以降への変更はPackageManagerから行えます。\\ (Unityのバージョンが1.4.1に対応してない場合、Unityのバージョンを上げる必要があります)
{{:vci:sdk:text:tmp_versionchange.png?600|}}
* UnityのバージョンによってPackageManagerのUIが異なる可能性があります。\\ ここではバージョンが 1.4.1 の場合の設定です。
- TextMeshProの項目を展開する
- [See all versions]を確認する
- 1.4.1を選択する\\ ※Previewと書かれたバージョンはお試しのリリースなので、[1.4.1]を選択してください。
- PackageManagerの右下にある[Update to 1.4.1]のボタンを押す
<--
===== VCIテキストを使用する =====
{{:vci:sdk:text:createtext.png?600|}}
- メニューバーから[GameObject]>[VCI]>[Text]を選択して、テキストオブジェクトを作成してください。
- Textという名前のオブジェクトが作成されるので、そのオブジェクトをVCIObject以下に移動してください。
{{:vci:sdk:text:tmp_import.png?400|}}
* 初めて作成する場合は、TextMeshProの初期設定メニューが出ます。\\ [Import TMP Essentials]を押して必要なアセットをインポートしてください。
==== エクスポート可能なプロパティ ====
* TextMeshProのエクスポート可能なプロパティは、以下の通りです。
^ MainSettings ^^
^ プロパティ― ^ 機能 ^
| Text | テキスト本文 |
| Font Style | B 太字、I 斜体、U アンダーライン、S 取り消し線 |
| Font Size | 文字の大きさ |
| Auto Size | 有効時、文字の大きさが自動調節されます。現在のVCIでは使用できません。 |
| Vertex Color | 文字の色 |
| Color Gradient: Color Mode, Colors | 有効時、文字の色を詳細に指定する事ができます |
| SpacingOptions: Character, Word, Line, Paragraph | 字間、行間、スペース区切りの間隔、段落の間隔 |
| Alignment | 左寄せ、中央寄せ、上揃え…等の設定 |
| Wrapping | 有効時、文字を折り返すようになります |
| Overflow | 字数をオーバーした際の処理を設定します |
^ ExtraSettings ^^
| Margin | マージン(余白)を決めます |
| RichText | 有効にするとHTMLタグに似た[[http://digitalnativestudios.com/textmeshpro/docs/rich-text/|text mesh pro rich textタグ]]が使用できます |
| Kerning | [[https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0|カーニング]]を有効にすると文字の間隔が自然になります |
| ExtraPadding | 有効時、文字のポリゴン数が多くなります |
==== フォントに関して ====
* デフォルトでは、フォントにLiberationSans SDFが設定されているため、日本語テキストが表示されませんが、VirtualCast側では日本語フォント(NotoSansCJKjp-Bold)に変換されるため、日本語も表示可能です。\\
* VCI開発時にUnity上で日本語表示を確認したい場合は、[[https://github.com/virtual-cast/VCI/releases/download/v0.23/TMP_NotoSansCJK.unitypackage|TMP_NotoSansCJK.unitypackage]]からTextMeshPro用フォントアセットをダウンロードして、TextMeshProコンポーネントのFontAssetに、NotoSansCJK-Bold_SDFをアタッチしてください。\\
* フォントデータは[[https://www.google.com/get/noto/#sans-jpan|Noto Sans CJK JP]]を使用しています。
===== Luaスクリプトからの操作 =====
* Textの変更はExportAssetsの[[https://developer.virtualcast.jp/vci-docs/api/classes/ExportAssets/SetText.html|SetText]]を使用して行います
* 第1引数にはTextのGameObject名を、第2引数にはテキスト本文を入れます。\\
* Textのオブジェクトが同名である場合は、同名のオブジェクトのテキストが全て変更されます。\\
vci.assets.SetText("テキストのGameObject名", "テキスト")
vci.assets._ALL_SetText("テキストのGameObject名", "テキスト")
==== サンプル ====
* [[vci:sample:text:tutorial|Textを使って時間を表示する]]