バックログの表示位置変更について

105 views
Skip to first unread message

S T

unread,
Mar 14, 2025, 8:48:49 AM3/14/25
to 宴ユーザーグループ
宴のバージョン4.1.5
unityのバージョン 6(6000.0.34f1)
Unity習熟度 初心者

初めまして、宴を利用してノベルゲームの製作をはじめました。
デフォルトのバックログをオリジナルのデザインに変更をしたいのですが、
意図した配置にできず、こちらで質問させていただきたいです。

添付した画像のようにデフォルトバックログの階層にある「Content」を左側によせ、x100ほど余白をつけてシーン上配置しております。

ですがゲーム再生するとこちらの項目のxが0になり左側に余白なく表示されます。
再生を終えるとシーン上の状態にもどるのですが、こちらどのようにすればシーンで指定している数値で再生されますでしょうか?

ご助言いただけましたら助かります。
スクリーンショット (18).png

マッドネスラボ

unread,
Mar 14, 2025, 9:25:04 AM3/14/25
to 宴ユーザーグループ
BackLogのListViewオブジェクトの、UguiListViewの「Keep Content Position」をオンにしてください。

ss_0477.png
こうすると、リストビューを開いたときに位置をリセットせずに保持したままになります。
ただ、これをするとContentのy座標もリセットされないので、前回スクロールした位置のまま開くことになります。
xだけ保持して、yだけリセットするというのは今のできないですが、拡張すれば可能なので必要であればご連絡ください

Keep Content Positionをオフのまま位置を調整するのであれば、
ListView自体の位置を変える形になります。



2025年3月14日金曜日 21:48:49 UTC+9 S T:

マッドネスラボ

unread,
Mar 14, 2025, 9:57:08 AM3/14/25
to 宴ユーザーグループ
>xだけ保持して、yだけリセット
これを可能なように修正しましたので、添付のパッケージファイルを適用してください。
(ダウンロードした添付ファイルの拡張子が *. gzになっている場合は、*.unitypackageに変えてからプロジェクトに適用してください)
この変更は、次回の宴のアップデートにも反映させる予定です。

パッケージファイルを適用するとUguiListViewに「Reset Content Position Type」というのが追加されます。
デフォルトは「Reset XY」で、XYが0になるようになっています。
これを「Reset Y」とすると、yだけリセットとして、xの値は変化しなくなります。
ss_0478.png

2025年3月14日金曜日 22:25:04 UTC+9 マッドネスラボ:
FixLitViewContentResetType.unitypackage

S T

unread,
Mar 14, 2025, 9:57:54 AM3/14/25
to 宴ユーザーグループ

ご教授ありがとうございます!
「Keep Content Position」をオンで位置が反映しました。こちらの方法でYをリセットされないよう拡張したいです。

もう一点バックログで質問がございます。立て続けで申し訳ございません。
現在使用しているメッセージボックスが2種類ございます。

A:キャラの横に表示する一列の文字数が少ないもの
B:画面全体に表示する一列の文字数が多いもの

バックログのプレハブが1つなため、Bの一番長いものに合わして調整したのですが、
Aでは改行で単語がきれるところを自然に読めるように改行しているので、Bの文字数に合わすと意図しない改行の表示になります。
一列の文字数が違うバックログのプレハブを2種用意し、A、Bそれぞれのシナリオの改行も再現して表示することは可能でしょうか?
プレハブについているAdvUguiBacklogTMPのIs Multi Text in Pageはチェックをいれているので行数が多い分には対応できております。

お忙しいところ申し訳ございません、よろしくお願いいたします。
2025年3月14日金曜日 22:25:04 UTC+9 マッドネスラボ:
BackLogのListViewオブジェクトの、UguiListViewの「Keep Content Position」をオンにしてください。

マッドネスラボ

unread,
Mar 14, 2025, 10:16:55 AM3/14/25
to 宴ユーザーグループ
> バックログのプレハブを2種用意

簡易的にはできないです。
バックログのプレハブを二種使うこと自体は、比較的簡易な拡張をすれば可能ではあるのですが、
バックログのメッセージごとにどのメッセージウィンドウを使っていたかがログに残っていないため、どっちのプレハブを使えばいいかの判別ができないです。
別途専用の記録データを用意したりといった複雑な拡張をする必要があります。



2025年3月14日金曜日 22:57:54 UTC+9 S T:

S T

unread,
Mar 14, 2025, 10:24:15 AM3/14/25
to 宴ユーザーグループ

バックログプレハブの件かしこまりました…!
初心者には難しそうなので、今回は現状のままで進めようと思います。

また、拡張の件ありがとうございます!連絡タイミングが行き違い返答できておらず申し訳ございません。
こちら無事拡張データを反映できました。
プレハブ位置のXはリセットONOFF関係なくシーンと同じ位置に表示できています。
Yに関してはリセットONOFF関係なく、一旦スクロールをTOP動かすと、再度ログを開いたときもリセットされず同じ位置にでます。
こちらの挙動は大丈夫でしょうか?ご確認お願いいたします。
2025年3月14日金曜日 23:16:55 UTC+9 マッドネスラボ:

マッドネスラボ

unread,
Mar 14, 2025, 10:25:39 AM3/14/25
to 宴ユーザーグループ
> こちらの方法でYをリセットされないよう拡張したいです
すみません、メッセージの送信が入れ違いになってしまいましたが
対応しましたのでこちらのリンク先をご確認ください

2025年3月14日金曜日 23:16:55 UTC+9 マッドネスラボ:
> バックログのプレハブを2種用意

マッドネスラボ

unread,
Mar 14, 2025, 10:44:41 AM3/14/25
to 宴ユーザーグループ
> プレハブ位置のXはリセットONOFF関係なくシーンと同じ位置に表示できています。
>   Yに関してはリセットONOFF関係なく、一旦スクロールをTOP動かすと、再度ログを開いたときもリセットされず同じ位置にでます。
>   こちらの挙動は大丈夫でしょうか?ご確認お願いいたします。


プレハブ位置というのは、Contentの位置のことでしょうか?
それとも、各プレハブインスタンス(プレハブをもとに作成されるBackLogItem(Clone)の位置)のことでしょうか?

Contentの位置であれば、次のような形になっています。
  • Keep Content Positionがオンの場合
    • Reset Content Position Typeにかかわらず、XYは変化しない
  • Keep Content Positionがオフの場合
    • Reset XY XYが0になる
    • Reset X  Xだけ0になる。Yは変化しない。
    • Reset Y  Yだけ0になる。Xは変化しない。
Yが0にならないのであれば、Keep Content Positionがオフで、Reset YかResetXYが設定されていることを確認してください。



各プレハブインスタンス(実行時に作成されるBackLogItem(Clone))の位置はXは0になり、Yは縦に整列するように自動計算されます。






2025年3月14日金曜日 23:25:39 UTC+9 マッドネスラボ:

S T

unread,
Mar 14, 2025, 10:58:17 AM3/14/25
to 宴ユーザーグループ
ご回答ありがとうございます!

Keep Content Positionがオンの状態だったようで、そのためスクロールバーの位置がリセットされておりませんでした。
オフにしたところスクロールバーは下部にあるようになり、無事解決しました。

拡張機能で無事解決し大変助かりました、ありがとうございます!

2025年3月14日金曜日 23:44:41 UTC+9 マッドネスラボ:
Reply all
Reply to author
Forward
0 new messages