TMP + Text Animator の利用について

77 views
Skip to first unread message

harvestgames

unread,
Oct 13, 2024, 9:04:12 PM10/13/24
to 宴ユーザーグループ

こんにちは、私はUtage3から愛用している開発者です。

今回、新しいゲームでUtage4を導入し、テストを進めております。
特に満足している点は、TMPとText Animatorが導入されている部分です。しかし、いくつかの不具合を発見したため、問い合わせさせていただきます。

  1. TextAnimatorタグを挿入すると、NextPageIconの位置が不自然に配置される問題があります。

    • アイコンの位置を右下に固定すれば問題ないのですが、もし改善が可能であれば、どの部分を修正すればよいか悩んでおります。
  2. TextAnimator拡張タグのサポート方法について

    • ドキュメント(https://madnesslabo.net/utage/?page_id=12096)を読みましたが、私たちのゲームでは独自の拡張タグを使用することになりそうです。
    • 前作ではWaitで文章を区切り、HitAndStopのような演出を使用していましたが、多言語対応の過程で翻訳がプロセス的に手間がかかるため、TextAnimatorのwaitforを利用しようと考えていますが、現時点ではサポートされていないようです。
    • この機能についてサポートの予定はありますでしょうか? もし、私自身でカスタマイズする必要がある場合、どの部分を修正すればよいか教えていただけると助かります。

素晴らしいアセットを提供していただき、ありがとうございます。お返事をお待ちしております。

Message has been deleted

harvestgames

unread,
Oct 13, 2024, 9:06:59 PM10/13/24
to 宴ユーザーグループ

1番に関する写真です。


Scenario.JPG
1.JPG
3.JPG
2.JPG

マッドネスラボ

unread,
Oct 13, 2024, 11:25:17 PM10/13/24
to 宴ユーザーグループ
>TextAnimatorタグを挿入すると、NextPageIconの位置が不自然に配置される問題があります。
これはおそらく、拡張パッケージを適用して必要な設定をしていないのが原因だど思います。

ドキュメントにある通り、
拡張パッケージをダウンロードしてプロジェクトにインポートし、

UtageForTextAnimator」を設定し、「TextMeshProNovelText」を「NovelTextForTextAnimator」に入れ替えてください。

>TextAnimator拡張タグのサポート方法について
拡張タグ名を設定できるようにしましたので、添付のパッケージファイルを適用してください。
(添付ファイルのダウンロード後に、拡張子が *. gzになっている場合は、*.unitypackageに変えてからプロジェクトに適用してください)

パッケージを適用すると、「UtageForTextAnimator」に「NewBehaviorTags」と「NewAppearancesTags」が追加されます。
拡張タグ名をそれらに設定してください。
ss_0866.png


ss_0868.png
ss_0867.png


> TextAnimatorのwaitforを利用しようと考えていますが、現時点ではサポートされていないようです。
 TextAnimatorのwaitforがどういうものかよく知らないのですが、特に宴側ではなにもしていません。
宴のテキスト送りを一定時間止めたい場合は、<interval>タグを使ってみてください。


2024年10月14日月曜日 10:06:59 UTC+9 harvestgames:

1番に関する写真です。


TextAnimatorNewTags.unitypackage

harvestgames

unread,
Oct 14, 2024, 4:55:37 AM10/14/24
to 宴ユーザーグループ

ありがとうございます。ご返答を確認し、適用してみました。
おかげさまで、カスタマイズタグが正常に適用されていることを確認しました。
しかし、今回新たな問題が発生しました。

  1. テキストや演出が再生されません。

  2. 1の問題が原因で、NoveTextForAnimatorコンポーネントをTextMeshProNovelTextに戻した際、一部のテキストでString Parseエラーが発生し、表示されません。

関連してTextAnimatorのChange Logを確認したところ、https://docs.febucci.com/text-animator-unity/other/changelog/2.x#id-200 こちらの項目で、TextAnimatorコンポーネントが他のコンポーネントに変更され、内部的に変更があったためではないかと推測しています。

EasyIntegration -> TypewriterStartsAutomatically に変更されたようなのでチェックを外しましたが、変化はありませんでした。


2024년 10월 14일 월요일 오후 12시 25분 17초 UTC+9에 マッドネスラボ님이 작성:
NovelTextForTextAnimator.JPG
bandicam 2024-10-14 17-43-20-533.mp4
UtageForTextAnimator.JPG
Scenario.JPG

マッドネスラボ

unread,
Oct 14, 2024, 8:20:55 AM10/14/24
to 宴ユーザーグループ
TextAnimatorがVesion2になっていたようで、その対応をしていませんでした。
さらに追加修正のパッケージを作成しましたので、添付のパッケージファイルを適用してください。

(添付ファイルのダウンロード後に、拡張子が *. gzになっている場合は、*.unitypackageに変えてからプロジェクトに適用してください)

「TextAnimator」コンポーネントは、「TextAnimator_TMP」と名前が変わり内部パラメーターも再設定が必要なようです。
 DefaultTagsの「Appearances」と「Disappearances」の「Effetcts Count」を0にしてください。

「Typewriter - By Character」もAdddComponentしてください。
ss_0869.png

また、TextAnimator拡張タグは、ScriptableObjectを使う必要があるようですので、その設定はTextAimatorの仕様通りに設定してください。
これでおそらくVersion2で動作するようになると思います。


2024年10月14日月曜日 17:55:37 UTC+9 harvestgames:
FixTextAnimatorVer2.unitypackage

harvestgames

unread,
Oct 14, 2024, 11:01:09 AM10/14/24
to 宴ユーザーグループ

遅くまでサポートしていただきありがとうございます。
おかげさまで、すべてのTextAnimatorの演出が正常に動作しています。
素晴らしいです!


2024년 10월 14일 월요일 오후 9시 20분 55초 UTC+9에 マッドネスラボ님이 작성:

harvestgames

unread,
Oct 25, 2024, 4:15:35 AM10/25/24
to 宴ユーザーグループ

Text Animatorで使用される機能の一つであるEventに対応するソースコードを作成しました。(https://docs.febucci.com/text-animator-unity/typewriter/trigger-events-when)

今後、Utageの発展に役立つ機能になれば幸いです。

UtageのText Animatorサポートソースコードでわずかに修正を加えました。


2024년 10월 15일 화요일 오전 12시 1분 9초 UTC+9에 harvestgames님이 작성:
UtageForCustomizedTextAnimator.cs
TextParserForCustomizedTextAnimator.cs

harvestgames

unread,
Oct 25, 2024, 4:17:31 AM10/25/24
to 宴ユーザーグループ

リンクが間違っていました。こちらです。(https://docs.febucci.com/text-animator-unity/typewriter/trigger-events-when-typing)

これを利用することで、ユーザーは多様な演出が可能になるでしょう。


2024년 10월 25일 금요일 오후 5시 15분 35초 UTC+9에 harvestgames님이 작성:

マッドネスラボ

unread,
Oct 26, 2024, 5:48:21 AM10/26/24
to 宴ユーザーグループ
ご協力ありがとうございます。

こちらの機能を取り入れさせてもらって、更新した拡張プラグインをDLできるようにしました。
https://madnesslabo.net/utage/?page_id=12096#Text_Animator_for_UnityVer2



2024年10月25日金曜日 17:17:31 UTC+9 harvestgames:

harvestgames

unread,
Oct 30, 2024, 3:43:51 AM10/30/24
to 宴ユーザーグループ

setting.JPG

TextAnimatorのEventタグを使用するにはTypewriterを有効化する必要がありますが、提供されたUtage拡張コンポーネントでは一部対応できていませんでした。

TypewriterのModeをOnEnableで実装したかったのですが、Utageの初期化過程でMessageWindowオブジェクトをEnable、Disableする過程でTypewriterのOnEnableが正常に動作しないため、これをサポートするには多くのUtageソースコードの修正が必要で、難易度が高い状態でした。
最小限の修正でOnShowTextモードを利用してEventを使用できるように設定しました。

添付した写真と提供されたAdvUguiMessageWindowTMPコンポーネントにOnTextChanged関数をオーバーライドして修正を加えました。

他のTextAnimatorユーザーに役立てば幸いです。

2024년 10월 26일 토요일 오후 6시 48분 21초 UTC+9에 マッドネスラボ님이 작성:
AdvUguiMessageWindowTMP.cs

マッドネスラボ

unread,
Oct 30, 2024, 10:21:50 AM10/30/24
to 宴ユーザーグループ
ありがとうざいます。

RootのActiveの変更はAdvUguiMessageWindowTMPのOnChangeTextの時点で変更するよりも、
NovelTextForTextAnimatorの、ForceUpdateTextの時に変更したほうが良いようです。
ss_0956.png

よければ、こちらの変更でも問題ないか試してみてください。


もし今後ほかにも拡張が必要になった場合のために、
ソースコードを書き換えることなくOnTextChangedの前処理ができるように、
AdvUguiMessageWindowに、OnPreChangeTextを追加しました。
これは、宴の次回のアップデート(Ver4.1.4)で追加する予定です。


2024年10月30日水曜日 16:43:51 UTC+9 harvestgames:
AdvUguiMessageWindow.cs
NovelTextForTextAnimator.cs

harvestgames

unread,
Oct 30, 2024, 9:23:09 PM10/30/24
to 宴ユーザーグループ

正常に動作しています。
私の考えが浅かったです。TextAnimatorに対応するために拡張を追加するのが目的なので、仰る通り、NovelTextForTextAnimatorに機能を追加するのが適切だと思います。ご対応ありがとうございます。

また、少し気になるのですが、Utageのアップデートの過程でコードスタイルに変更があったのでしょうか?
以前のUtageでは「if (root) root.SetActive(true)」でしたが、今回は「if (root != null)」になっているようです。


2024년 10월 30일 수요일 오후 11시 21분 50초 UTC+9에 マッドネスラボ님이 작성:

マッドネスラボ

unread,
Oct 30, 2024, 10:14:40 PM10/30/24
to 宴ユーザーグループ
確認ありがとうございます。
後ほど、宴のドキュメントサイトで配布するパッケージも更新しておきます。

>また、少し気になるのですが、Utageのアップデートの過程でコードスタイルに変更があったのでしょうか?
>  以前のUtageでは「if (root) root.SetActive(true)」でしたが、今回は「if (root != null)」になっているようです。
すみません。単純にあまり厳密にコードスタイルを統一してないだけです。
どちらも同じ意味です。

一応補足しますと、UnityではUnityEngine.Objectを継承するものは、null判定はオーバーライドされていて、
通常のnull判定とは内部処理が異なっていて、厳密にはnullではなくてもObjectがDestroy処理が終わった後であればnullとして扱われます。
そして、bool値としての判定も同様の処理を経由したnull判定が行われます。


可読性としては、if (root != null) のように書く方が良いとは思うのですが、
nullチェックが多い場合などで省略的に、 if (root) のように書いているケースあるかと思います。



2024年10月31日木曜日 10:23:09 UTC+9 harvestgames:

harvestgames

unread,
Oct 30, 2024, 10:19:41 PM10/30/24
to 宴ユーザーグループ

詳しいご回答ありがとうございます。
アップデートを楽しみにしています。


2024년 10월 31일 목요일 오전 11시 14분 40초 UTC+9에 マッドネスラボ님이 작성:

マッドネスラボ

unread,
Oct 31, 2024, 4:55:20 AM10/31/24
to 宴ユーザーグループ
パッケージとドキュメントを更新しました。

RootにRootChildrenを設定することを追記しました。

Typewriter-ByCharacterコンポーネントの「Use Type Writer」についても追記しました。

宴本体の更新(Ver4.1.4)は、来月初頭に行おうと思います。

2024年10月31日木曜日 11:19:41 UTC+9 harvestgames:

harvestgames

unread,
Oct 31, 2024, 8:06:59 PM10/31/24
to 宴ユーザーグループ

文書を確認しました。
よく整理されていると思います!

もっと多くのUtageユーザーがTextAnimatorを使って喜んでくれると嬉しいです。


2024년 10월 31일 목요일 오후 5시 55분 20초 UTC+9에 マッドネスラボ님이 작성:
Reply all
Reply to author
Forward
0 new messages