会話シーンで前の会話が残ってしまう

41 views
Skip to first unread message

Shohei Yamamoto (Yamasho)

unread,
Sep 17, 2025, 11:03:19 AMSep 17
to 宴ユーザーグループ
お世話になっております。
「会話シーンとして宴を使う」を参考に、アクションゲームの冒頭の会話シーンを宴で実装しましたが、前の会話や話者の名前が完全に消えずに残ってしまい、次の会話や話者の名前と重なって表示されることが多々発生して困っております。
ゲームビュー、シーンビュー関係なく表示され、ビルドしても同様に重なって表示されました。

スクリーンショット 2025-09-17 235538.png

スクリーンショット 2025-09-17 235636.png
環境は以下になります。
Windows11Pro

Unityエディタバージョン:6000.2.0f1

Utageバージョン:4.2.2

マッドネスラボ

unread,
Sep 17, 2025, 1:37:51 PMSep 17
to 宴ユーザーグループ
すみません。
おそらく、不具合再現用のプロジェクトを送信していただいたのだとは思うのですが、不具合の再現手順がわかりません。
再現手順を教えてください。
一応該当のシーンと思わるものを実行してみましたが、私の環境では正常に動作してるようにみえました。

これが原因かはわからないのですが、MainCameraのStackにWariningがでています。
ss_1146.png

UICameraと、SpriteCameraは宴のカメラで、ここに設定されること自体は正しいです。
UnityのURPの仕様で、複数のカメラをStackに設定をする場合、設定するカメラのviewportRectが違うとWarningが出ます。
MainCameraは、レターボックスのための独自のスクリプトでviewportRectが変更されているため、viewportRectが一致せずWarningがでているのかと思います。

宴のほうのカメラも、レターボックス設定が可能なので下記のように「Flexible」のチェックを外してみてください。
宴のカメラは、Managers>Cameras>SpriteCamera>SpriteCameraと、Managers>Cameras>UiCamera>UiCameraにあります。
ss_1148.png
幸いviewportRectの変更アルゴリズムはほぼ同じようなので、Warningがでなくなるようです。


ただ、シーンビューでも同じような不具合が出るということですので、問題は別にある気がします。
外部アセットがたくさん使用されているのと、今のところ不具合そのものは再現できていないこともあり、ちょっと原因の見当がつきません。


また、もし再びプロジェクトを送信する必要がある場合は、
こちらの手順のZipProjectのほうでプロジェクトを送信していただけるでしょうか。
    >「ZipProject」では、プロジェクトの各フォルダを直接圧縮した.zipファイルが作成されます。Assetsフォルダ以下にない拡張パッケージを多用している場合は、こちらを使用してください。

ExportProjectPackageのほうですとUPMパッケージが含まれないため、外部アセットを手動でインポートする必要があるのでパッケージが見つからなかったりバージョン違いなどが発生しやすいため、ZipProjectのほうでお願いします。
(そのせいで不具合が再現できてないのかもしれません)




2025年9月18日木曜日 0:03:19 UTC+9 niti...@gmail.com:

Shohei Yamamoto (Yamasho)

unread,
Sep 18, 2025, 8:05:09 AMSep 18
to 宴ユーザーグループ
ご回答ありがとうございます。
ZipProjectを送付いたしました。
「Flexible」のチェックを外してみて、Warningを消してみましたが、変化はありませんでした。
MessageText、NameTextを非アクティブ化してからアクティブ化すると表示は直ります。
ご回答いただければ幸いです。よろしくお願いいたします。

2025年9月18日木曜日 2:37:51 UTC+9 マッドネスラボ:

マッドネスラボ

unread,
Sep 18, 2025, 8:48:33 AMSep 18
to 宴ユーザーグループ
プロジェクトの送信ありがとうございます。
不具合の再現に成功しました。

結論から言うと宴の不具合ではなく、外部アセットのバージョンが古いせいのようです。
外部アセットの「UI Effect」を最新版にアップデートしてみてください。

不具合の詳細を説明いたしますと、
TextMeshProはフォールバックを使っている場合サブメッシュというを暗黙的に生成するのですが、これが正常に処理されずに前のテキストが残ってしまっているようでした。
参考サブメッシュについて: https://madnesslabo.net/utage/?page_id=13068#i-3
送信されたプロジェクトでは、TextMeshProのプロジェクト設定のFallback Material Settingsの「Hide Sub Mesh Objects」がオンになっていて、
サブメッシュのGameObjectが不可視状態になっていいたため、オフにしてサブメッシュのオブジェクトを確認したところ、
UIEffectReplicaというコンポーネントがなぜか付与されていました。
これは「UI Effect」のコンポーネントのようですので、おそらくそれが何らかの不具合を起こしていたのだと思います。

先日送信されたプロジェクトで、手動で外部パッケージをインポートしたときは基本的に最新版をインポートしていたのですが、そのときは不具合が出なかったため、
今回のプロジェクトで「UI Effect」を最新版にアップデートしたところ、テキストは正常に描画され不具合は解消されたようでした。
(UIEffectReplicaがサブメッシュにAddComponetされることもなくなったようでした)

URPプロジェクトの場合は、Unity6以降とそれ以前でかなり大きな変更がありましたので、各パッケージの対応状況やアップデートの必要性を確認してください。



2025年9月18日木曜日 21:05:09 UTC+9 niti...@gmail.com:

Shohei Yamamoto (Yamasho)

unread,
Sep 18, 2025, 9:46:49 AMSep 18
to 宴ユーザーグループ
無事解決いたしました。やはりUIEffectのバージョンが古いことが原因でした。
迅速なご対応、感謝いたします。ありがとうございました。

2025年9月18日木曜日 21:48:33 UTC+9 マッドネスラボ:
Reply all
Reply to author
Forward
0 new messages