Text Animator for Unity


投稿日:2023年3月30日 | 最終更新日:2023年3月30日

Text Animator for Unityとは

Text Animator for Unityは、文字表示にアニメーション演出を制御するAsset Storeの有料プラグインです。
詳しくは、Text Animator for Unityの公式サイトや、アセットストアをチェックしてください。

宴の「Text Animator for Unity」対応プラグイン

宴のTextMeshPro対応をしている場合のみ「Text Animator for Unity」を利用可能になりました。まず先にTextMeshPro対応プラグインを適用してください。
Text Animator for Unityの宴対応プラグインはこちらからDLしてください。
(ファイルのダウンロード後に、拡張子が *. gzになっている場合は、*.unitypackageに変えてからプロジェクトに適用してください)
パッケージを適用すると、「UtageForTextAnimator」というフォルダが作成されます。

サンプル

UtageForTextAnimator/Sampleフォルダ以下にサンプルシーンとサンプルシナリオが入っています。
(TextMeshPro対応プラグインに入っているフォントやリソースを使いまわしているので、そちらがないと動作しないです)

宴の「Text Animator for Unity」対応プラグインの使い方

AdvEngineオブジェクトのUtageForTextMeshProコンポーネントをRemoveして、代わりにUtageForTextAnimatorをAddComponentしてください。

さらに、各メッセージウィンドなどのテキスト表示オブジェクトで
TextMeshProNovelTextコンポーネントをRemoveComponentして、代わりにNovelTextForTextAnimatorをAddComponentして、RubyPrefabにルビ用のプレハブを設定してください。
「Text Animator for Unity」のTextAnimatorコンポーネントをAddComponentしてください。
「UseEasyIntergration」はオフ。(TextAnimatorPlayerは使わないのでもし、AddしていたらRemoveしてください)
「Default Appearances」のサイズ0すると、表示エフェクトのデフォルト指定を削除できます。

最後に、MessageWindowオブジェクトのAdvUguiMessageWindowTMPコンポーネントの「TextPro」に、MessegeTextオブジェクトを再設定してください。

利用可能タグ

利用可能になるタグは、2023/3/30時点の「Text Animator for Unity」のビルトインタグに対応しています。

Behaviors

文字のアニメーションタグです。基本的にはループアニメーションが続きます。
パラメーター指定等の詳細は、「Text Animator for Unity」のドキュメントを確認してください

タグ サンプル
pend <pend>text</pend>
dangle <dangle>text</dangle>
fade <fade>text</fade>
rainb <rainb>text</rainb>
rot <rot>text</rot>
bounce <bounce>text</bounce>
slide <slide>text</slide>
swing <swing>text</swing>
wave <wave>text</wave>
incr <incr>text</incr>
shake <shake>text</shake>
wiggle <wiggle>text</wiggle>

Appearances

文字を表示しはじめるときに一度だけ再生されるアニメーションです。
タグを囲む記号が、<>ではなく{}な点に注意してください。

タグ サンプル
diagexp {diagexp}text{/diagexp}
horiexp {horiexp}text{/horiexp}
vertexp {vertexp}text{/vertexp}
diagexp {diagexp}text{/diagexp}
offset {offset}text{/offset}
fade {fade}text{/fade}
size {size}text{/size}
rdir {rdir}text{/rdir}

パラメーター指定

<offset a=180 d=5>text</offset>
のようにして、アニメーションの時間や大きさなどのパラメーターを指定することができます。
詳細は「Text Animator for Unity」のドキュメントを確認してください

注意点

また、下記の通りいくつか既知の不具合があります。
●宴のデフォルトテキスト(NovelText)には非対応。
宴のテキスト処理も、テキストの頂点等を操作しているため、TextAnimatorと機能が衝突してしまうため非対応です。

●起動後初回のAppearances系のタグがうまく動作していない。
サンプルシナリオで、起動後に「ArgTest」の選択肢を最初に選ぶと違いがはっきりとわかると思うのですが、エフェクトの動作がずれてしまっています。
TextAnimatorのバグか、もしくはプログラム上でなんらかの初期化が必要なのかもしれないのですが、ちょっとどうすればいいのかわかりませんでした。(解決法がわかりそうだったら教えてください)
同じシナリオであっても、起動直後でなければ問題ないようです。

●TextMeshProの取り消し線や下線タグを使うと、まだテキストが非表示の部分であっても最初から線が表示されている。
TextAnimatorの不具合なのか未対応なのかわかりませんが、TextAnimatorのタグを使っていなくてもそのように動作してしまいます。

●宴のルビや傍点は動作はするが、エフェクトに合わせて動くわけではない。
文字のエフェクトの動きに合わせてルビなどが一緒に動くわけではありません。