会話イベントの作り方1:Fungusの基本的な使い方

前回まででマップができたので、ゲームをRPGっぽくするうえで重要な「会話イベント」を作っていきます。ここからは最初にインポートした「Fungus」(ファンガス)というアセットを使って、NPC(プレイヤー以外のキャラクター)に近づいたときに会話イベントが発生するようにしてみましょう。

スポンサーリンク

Fungusの概要

まずはFungusの概要を説明します。Fungusは会話イベントを簡単に作れるUnityのアセットで、フローチャートを使って会話イベントを作ります。フローチャートのお陰で視覚的に会話の流れを作れるのでとても便利です。

フローチャートとブロック

それでFungusの「フローチャート(=流れ図)」は次の画像のようなものです。

Fungusのフローチャートの例

フローチャートは「ブロック」とよばれる処理のカタマリの繋がりで構成されます。各ブロックには「コマンド」を使って実際の処理内容を書いていきます。

コマンド

各ブロックに書く「コマンド」は処理内容を制御する単純な構文です。

Fungusのコマンドの例

上の画像で言うと「Commands」のリストに並べられているのがコマンドですね。コマンドにはいろいろな種類があり、簡単にメッセージウィンドウに文章を表示したり、顔グラフィックや立ち絵を表示・変更したり、次のブロックを呼び出したりすることができます。

Fungusの基本的な使い方

ではここからFungusの使い方について説明します。Fungusはかなり多機能なので詳しい機能の紹介まではできませんが、基本的な使い方の流れだけをザックリと解説しますね(※具体的な会話イベントは次回作ります)。

Fungusの使い方の手順は次の通りです。

  1. 「Flowchart」スクリプトを持つオブジェクトを作る
  2. 「Character」スクリプトを持つオブジェクトを作り、キャラクターを登録する
  3. フローチャートを編集する

手順1:「Flowchart」スクリプトを持つオブジェクトを作る

まずは新しいフローチャートを作成します。

メニューバーの「Tools」→「Fungus」→「Create」→「Flowchart」を選ぶと、シーンにキノコマークの「Flowchart」オブジェクトが作成されます。

フローチャートオブジェクト

これがフローチャート情報を格納するゲームオブジェクトです。

ちなみにフローチャートをもつオブジェクトはシーンにいくつあってもOKなのと、先ほどの手順で作らなくても既存のゲームオブジェクトにFlowchartスクリプトをアタッチするだけでも作れるので、そのことを覚えておきましょう。

手順2:「Character」スクリプトを持つオブジェクトを作り、キャラクターを登録する

そうしたら、次に会話イベントに登場するキャラクターを登録します。

メニューバーの「Tools」→「Fungus」→「Create」→「Character」を選ぶと、シーンに「Character」オブジェクトが作成されます。ここにはキャラクター情報を格納する「Character」スクリプトがアタッチされているので、そこに名前や顔グラフィックを登録していきましょう。

FungusのCharacterコンポーネント

とりあえず、

  • 「Name Text」にキャラクターの名前
  • 「Portraits」に顔グラフィック

をそれぞれ登録すればOKです。

なお、Characterオブジェクトは登場するキャラクターの数だけ作りましょう。

フローチャートを編集する

ここまでで準備ができたので、あとはフローチャートを編集して会話イベントを作っていきます。フローチャートのゲームオブジェクトを選択し、「Open Flowchart Window」をクリックしてフローチャート画面を出しましょう。

そうするとブロックが1つだけあるフローチャート画面が表示されます(※もし、新しいブロックを作りたいときは何もないところで右クリック→「Add Block」から作成できます)。

新しいフローチャートの画面

ブロックをクリックするとインスペクターにブロックの編集画面が表示されます。

ブロックの編集画面

Execute On Eventsの設定

それでブロックを設定する際にまず重要なのが「Execute On Event」の項目です。ここには「どのタイミングでそのブロックを実行するか?」を指定します。通常は「None」でOKですが、たとえば「最初のブロックをゲーム開始時に実行したい」という場合は最初のブロックを「Game Started」に設定しておく必要があります。

変数の追加

次に、フローチャートには変数を追加することもできます。フローチャート画面左下の「Variables」をクリックすると、変数のリストが表示されます(下の図は実際に変数を追加した場合の例です)。

Variablesに変数を追加

Fungusでは色々な変数を追加できるので便利です。

コマンドの追加

以上の設定ができたら、あとはコマンドを追加していくだけです。

コマンドの例

コマンドは右下の「+」マークから追加できます。Fungusにはいろいろなコマンドが用意されていますが、ここでは最低限知っておいた方が良いコマンドだけ紹介しますね。

  • Say:
    メッセージウィンドウを表示して、指定したキャラクターに文章を喋らせる。
  • Call:
    指定したブロックを呼び出す。
  • Set Variable:
    変数の値を変更する。

ここまで理解できればFungusで会話イベントを作ることができます。次のページではNPCを作り、実際の会話イベントを試作してみます。

次のページ→会話イベントの作り方2:NPCの作成&会話イベントのテスト