ACTION GAME MAKER 1.2.9 パッチノート

新機能

  • 音の再生に関する機能追加を行いました。
    • GameScene ノードで BGM を設定できるようになりました。
    • 実行アクション 「音を再生 (PlayAudio)」ループ設定が可能になりました。
    • シーン遷移のリンクおよびポータルにて、シーン設定のBGMを使用する項目を追加しました。
  • VisualScript の背景グリッドのデフォルトサイズを変更できるようになりました。
    • エディター設定 → エディター → VisualScript → Default Grid Size より変更できます。

不具合修正

  • 他のステートの設定変更後に AnyState を移動するとクラッシュすることがある不具合を修正しました。
  • アニメが未設定の方向を向いた際、意図しない方向のアニメーションが再生される不具合を修正しました。
  • Course2D ノードの曲線を閉じるオプションが機能しない不具合を修正しました。
  • データベースの代入元レコード指定変数が、ステートが変わるまで反映されない不具合を修正しました。
  • ステートの 「1フレーム経過させる」OFF時に、 条件 「タイルと接触」 の反転指定が正常に動作しないことがある不具合を修正しました。
  • 条件 「壁に埋まった (BuriedInWall)」 の判定がずれて生成されることがある不具合を修正しました。
「いいね!」 2

GameSceneノードでBGMを設定できるのは本当に助かりました。これで同じシーン内でのセーブロード時にBGMが途切れることがなくなります。
しかし、オーディオ再生機能に関しては、テストでいくつか問題を発見しました。

  1. GameSceneノードでBGMを設定する際、AudioStreamPlayerのような基本的な音量調節機能がありません。音量や音高のスケーリングを調整できません。ユーザーが音量を調整しやすいよう、このシンプルな機能を追加してほしいです。
    2 ゲームシーンの2つで異なるBGMを設定したんですが、ポータルを通って行くとBGMが再生されません。ポータルでシーンを切り替える場合は、ポータルのシーンでBGMを設定しなければならないみたいで、GameSceneで設定したBGMは再生できないんですか?
    しかし、ワープゲートで設定したBGMはロード時に中断され再開されます。GameSceneノードのBGMのように続きから再生することはできません
    追加:GameSceneノードでBGMを設定した際に、セーブデータ読み込み時に中断されずに再生し続けるはずだと確信していたが、繰り返しテストしたところ、現在ではGameSceneノードのBGMでもポータルの再生BGMでも、読み込みに影響されてしまい、再再生される…原因が全くわからない…

:pushpin: 4/28 JST20:00 追記

上記のアニメーション修正に関連して、以下の問題を確認しています。

アニメが未設定の方向を向いた状態でステート遷移すると、
アニメーションが再生されず、その後のステート遷移も正常に行えなくなる不具合

発生例:

  • 左右方向のみ設定した着地モーションに、落下から遷移するケース
  • 表示方向を移動方向としている場合、下方向を向いた状態で遷移する
    → 下方向のアニメーションが未設定のため再生に失敗し、問題が発生します

この問題によってプロジェクトが破壊されることはありませんが、
影響を受ける場合は ベータブランチ(previous-version など) のご利用をご検討ください。

本問題は一時的なもので、次回アップデートで修正予定です。

「いいね!」 1

音量調節等については要望として受付させていただきます。
シーン遷移やポータルでのゲームシーンBGMの利用方法ですが、
切り替え後の演出のBGM演出を再生とし、「シーン設定のBGM」を指定していただくと再生できます。

ご返信ありがとうございます。現在、私が個人的に最も望んでいる機能は、BGMがセーブデータを読み込む際に中断されて再生され直すのを防ぐことです。

最初はver1.2.9で追加されたゲームシーンごとのBGM設定がこの中断を防げるかと思いましたが、どうやら無理なようです……:downcast_face_with_sweat:

現在、AGMでこの条件を満たす音声再生機能はどのものがありますか?

セーブデータの読み込みは、シーンを再度読み込み直すものなので仕組み上BGMの中断が発生してしまいます。
仮にBGMの再生位置を保存しても、一瞬止まってしまうでしょう。

恐らく、Celeste等のようなクイックリスタートをしたいと考えているのだと思われますが、セーブデータのロードではなくオブジェクトの移動やオブジェクトの初期化のアクションを使ってシーンをリセットすることは考えられませんか?