回想モード中の判定

111 views
Skip to first unread message

Unity太郎

unread,
Jul 28, 2023, 9:14:00 AM7/28/23
to 宴ユーザーグループ
 ・宴のバージョン 3.3.5
・UnityのバージョンとOS:Windows10   Unity 2017.4.28f1

質問というより要望なのですが、
回想モード中に「現在が回想モードであるか否か」を判定するパラメータが欲しいです。
例えば回想の始めに「回想中なら背景とキャラクターを表示」、回想の終わりに「回想中ならFadeOutした後EndSceneGalleryで終了する」のような処理が書けると、通常進行時と回想時で処理を簡単に書き分けられてとても楽だと思いまして……。
宜しければアップデートの際にご検討いただけると幸いです。

マッドネスラボ

unread,
Jul 29, 2023, 12:22:50 AM7/29/23
to 宴ユーザーグループ
了解しました。
シーンギャラリーかどうか判定するパラメーター名を設定できるように拡張し、 拡張用のパッケージを添付しました。
(添付ファイルのダウンロード後に、拡張子が *. gzになっている場合は、*.unitypackageに変えてからプロジェクトに適用してください)
ただ、これは最新版の宴(3.12.5)に適用しないとエラーになってしまうので、宴のバージョンアップが難しいようでしたら拡張パッケージを適用しないでください。

パッケージを適用すると、\Utage\Scripts\ADV\Extra\AdvGalleryController.cs というコンポーネントが追加されるので、AdvEngineにAddComponentしてください。

AdvGalleryControllerには、「Param Key Playing Scene Gallery」という項目があります。
ここに設定したパラメーター名が、「現在が回想モードであるか否か」というパラメーターになります。
サンプルでは、「scene_gallery」を設定しています。
ss_1243.png

また、パラメーターはParamシートの方でも定義しておく必要があります。
TypeはBool型、FileTypeはSystemにしてください。
ss_1242.png

シナリオ再生中以外では、このパラメーターはTrue/Falseどちらになるか不定になるので、
タイトル画面など、その他の場面では使用しないようにしてください。


また、本件とは直接関係ないのですが、AdvGalleryControllerにはOnStartSceneGalleryというイベントを設定可能になっています。
これは、シーン回想の開始時に呼ばれるイベントです。
主な用途は、シーン回想開始時に任意のパラメーターの値をプログラムから操作することです。
具体的には、好感度などのパラメーターによって自動分岐するシナリオをシーン回想する場合、この機能を使うことでパラメーターを変化させて再生シナリオの分岐を制御できるようになるかと思います。



2023年7月28日金曜日 22:14:00 UTC+9 Unity太郎:
FixSceneGalleryParam.unitypackage

Unity太郎

unread,
Jul 30, 2023, 5:44:57 AM7/30/23
to 宴ユーザーグループ
拡張用パッケージまで用意していただいてありがとうございます。
宴アップデートのためUnity本体をまずアップデートしようとしたところプロジェクトの移行が上手くいきませんでした。
いい機会なので最新のUnityと最新のUtageでプロジェクトを作り直してみることにします。

OnStartSceneGalleryも便利そうな機能ですね。
いつか使いそうなので覚えておきます。

ありがとうございました。
2023年7月29日土曜日 13:22:50 UTC+9 マッドネスラボ:
Reply all
Reply to author
Forward
0 new messages