====== 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を使って時間を表示する]]