会話イベントを作るのに便利な無料アセット「Fungus」を触ってみました。


公式サイトはこちら。
Documentation はこちら。
Tutorial Videos はこちら。

このアセットは無料&オープンソースで、GitHub でも公開されています。
MIT ライセンスですね。ライセンス表記すれば(消さなければ)、改変や再配布も可能です。

導入方法

導入方法はこちらの記事が詳しいです。

試してみたらこんな感じになりました。まずは第一歩。

今回、キャラクター画像は「三日月アルペジオ」様のものを使わせていただいています。
※ 余談ですが、当方が作成した SRPG のデモ版(SRPG Studio使用)も、「三日月アルペジオ」様の素材のお世話になっております。

選択肢の表示と会話の分岐、キャラクターの表情変更

さて、さきほどと同じ方のブログで、選択肢を表示して会話を分岐させたり、キャラクターの表情を変える方法も解説されています。感謝。

こんな感じ。


スクリプトから会話イベントを発生させる方法

ここまでは、ゲーム開始と同時に会話が開始していました。
スクリプトから会話イベントを発生させる例はこちら。

自分で試してみたのはこちら。


会話フローの最初のブロックの Execute On EventMessage Received を選び、Message に受け取るメッセージを文字列で指定します。今回は "test" にしています。 
スクリーンショット (1120).png-001

OnTriggerEnter 時にイベントを開始するスクリプトの例はこちら。上の Qiita の記事のものよりシンプルにしてみました。



ゲームの会話イベントっぽくしてみる

あれこれ設定を加えて、ゲームの会話イベントっぽくしてみました。(Fungus 以外の設定も含みます)

その1。ある場所やキャラクターに接触したら自動で会話が開始するパターン。会話イベント中は移動不可にして、会話終了後に移動可能に戻しています。

その2。ある場所やキャラクターに接触すると「!」マークが表示されて、クリックすると会話が開始するパターン。たくさんNPCがいたりイベントがあったりするゲームでは、こちらのほうがいいかも。


気になったところ(バグ?)

フローチャートを編集していたら、消せないゴミができてしまったことがありました。動作には影響しなさそうでしたが、いちおうメモしておきます。


まとめ

この Fungus は会話システム用のアセットとしてよく知られているもののようですね。もうちょっとあれこれ試してみたいと思います。


今回は以上です。