イベントCGをランダムに表示させたい

106 views
Skip to first unread message

genshi okinawa

unread,
Mar 2, 2024, 9:52:48 AM3/2/24
to 宴ユーザーグループ
宴のバージョン:宴4.05
UnityのバージョンとOS:Unity2023.2.10f1 Windows10
Unityの習熟度:初心者

お世話になっております。
BgEvent」でイベントCGを表示させる際に、例えば6つある差分の中から1つだけ表示させたい場合、エクセルへの記述はどのように書けば良いでしょうか?

マニュアルを読んでもイマイチ良く分からなかったので質問させていただきました。
お手数おかけしますがご教授いただければ幸いです。

マッドネスラボ

unread,
Mar 2, 2024, 4:15:16 PM3/2/24
to 宴ユーザーグループ
いくつか方法があるので、目的に応じてに使い分けてください。


・JumpSubroutineRandom コマンドを使う
サブルーチンの飛び先となるシナリオラベルを6つ用意して、その中で背景をそれぞれ切り替えます。
サブルーチンはシナリオをいったんシナリオジャンプするので、ページ切り替えのタイミング以外で使用する必要があれば、別の方法が必要になります。

サンプル
ss_2388.png
ss_2389.png


・Ifコマンドを使う
テクスチャのインデックス用の変数をParamシートに追加し、Paramコマンドでランダム関数を使って変数を変化させ、Ifコマンドで分岐させます。
ifの条件やif内での個別の追加処理なども可能なので、制約を少なく柔軟に使うのであればこれが良いかと思います。
(なお、追加処理をする場合、Ifコマンド内でページ切り替えやジャンプなどのシナリオ分岐するような処理をすると不具合になる恐れがあるので、それは避けてください)
マクロ等を組み合わせれば、より柔軟に使用できるようになると思います。

サンプル
 Paramシート
ss_2385.png

 シナリオのParamコマンド度とIfコマンド
ss_2396.png


・TextureシートのConditonalを使う
変数をParamシートに追加し、TextureシートのConditonalで条件式を設定しておきます。
シナリオ上では、Paramコマンドでランダム関数を使って変数を変化させ、CGを表示します。
Conditonalはあらかじめ決められた条件で表示を自動的に切り替えるためのもので、どちらかというとキャラクターの着替えやローカライズなどのためものです。
表示の条件などを一括管理できるという利点はあるのですが、常に一定のConditonalの条件に従って自動で表示が切り替わってしまうため、ランダムではなく表示したい場合や条件式をシナリオの状況によって変えたい場合が想定されるなら制御が難しくなるかと思います。

サンプル
 Paramシート
ss_2397.png
 Textureシート
ss_2399.png
 シナリオ
ss_2394.png







2024年3月2日土曜日 23:52:48 UTC+9 genshi okinawa:

genshi okinawa

unread,
Mar 2, 2024, 7:53:44 PM3/2/24
to 宴ユーザーグループ
複数の方法をご教授いただき、ありがとうございます!
色々と試してみますね!

今回は画像をランダムに表示させるだけなのでIfConditionalが合いそうですが、
シナリオも含めて変化させたいならJumpSubroutineRandomの方法が良さそうですね。

2024年3月3日日曜日 6:15:16 UTC+9 マッドネスラボ:
Reply all
Reply to author
Forward
0 new messages