無料の会話アセットを使ってみます。
- サンプル
- セリフ表示
- キャラクター
- フローチャートで設定
- スクリプトから会話を発生させる
- しゃべっている間は動かない
- 会話が終わったら立ち絵を消す
- 選択肢
- フォントを変える
- reload
- 公式リファレンス
- 最後に
サンプル

FPSで歩いている手前に会話表示

セリフ表示
こちらを参考にやっていきます。全く同じこと書いていきます。
Toolからflowchart

OpenFlowchartを押す

NewBlockを押す

右下の+を押してNarrative>say

sayを押す。

StoryTextを書く
実行で表示!!

いきなり表示された!
キャラクター
Toolからcharacter

portraitsに差分を含め画像を入れる

Toolsからstage


フローチャートで設定
フローチャートの+からnarrative>portrait

キャラクターとか゚ポジションを設定
sayと順番を入れ替える

実行!

sayのほうにキャラクターを設定してポートレイトも設定すると

こんな感じだ

以下下の記事からの流用
スクリプトから会話を発生させる
最初はこちらの記事を参考にやってた。
でもこちらの記事のほうが場合分けしやすかった。

Message Receivedに受け取るメッセージを書く

そしてスクリプト側でメッセージを送る。
public Flowchart flowChart;
flowChart.SendFungusMessage(message);

以下は今回のゲームすべてのスクリプトが入っているので分かりにくいけど、こんな感じ。
https://gist.github.com/bibinba/8821d127684c4b87c8cd05550731c4bf
お菓子が何個目かによって会話を変化させるのはこんな感じ

fungusだけでめっちゃ細かい設定できるのね。playmakerよりプログラミング的なこといろいろできそう
しゃべっている間は動かない
上の記事のスクリプトでしゃべっているときが取れるので、しゃべっているときはFirstPersonAIOコンポーネントをオフにした。
GetComponent<FirstPersonAIO>().enabled = false;
これで動けなくなった。
IEnumerator Talk(string message)
{
if (isTalking)
{
yield break;
}
isTalking = true;
GetComponent<FirstPersonAIO>().enabled = false;
flowChart.SendFungusMessage(message);
yield return new WaitUntil(() => flowChart.GetExecutingBlocks().Count == 0);
isTalking = false;
GetComponent<FirstPersonAIO>().enabled = true;
}
会話が終わったら立ち絵を消す
会話が終わった後にキャラを消すにはPortraitを追加してHide

それぞれのキャラをhideしないといけないよ。
ちなみにfade screenは画面真っ黒だった。

選択肢
Menuでできる。


フォントを変える
tool>fungus>create>say dialogでシーンにsay dialogが出るのでそこで変えればいい。この変更が反映される。色とかも変えられる。

Menuも同様


reload
Scene>reloadで「最初から遊ぶ」ができる

公式リファレンス
公式のドキュメント
公式のフォーラム
最後に
fungus、最初はとっつきにくいかと思ったけどかなりいろいろ機能あるし日本語の解説があったらめっちゃいろいろできそう。