ひとりでのアプリ開発 - fineの備忘録 -

ひとりでアプリ開発をするなかで起こったことや学んだことを書き溜めていきます

Unity - Fungus:会話画面の実装 -

初めに

 Fungus という会話シーンが実装できるパッケージを紹介いたします。

ダウンロード・インストール

github.com

 上記リンク先からダウンロード、インポートできます。

インポートの仕方
  1. Fungus_v3.13.7.unitypackage をダウンロード
  2. ダウンロードした Fungus_v3.13.7.unitypackage を Unity プロジェクトの Assets 内に入れる
Asset Store からのダウンロードについて

 以前は、Asset Store からダウンロードできたようですが、2022年12月現在、Asset Store からダウンロードできません。上記のように github からダウンロードしましょう。

インポート時、エラーがでる

 LuaScriptedImporter にエラーがでることがあります。LuaScriptedImporter を削除すると正常に動作しました。

Fungus とは

 Fungus とは、簡単に会話シーンを実装することが出来る無料パッケージです。

基本的な使い方

 インポートが済むと、ツールバーに Tools > Fungus が追加されます。

セリフの追加

 表示されるセリフ(テキスト)を追加します。

 Tools > Fungus > Create > Flowchart をクリックします。

 Hierarchy に Flowchart が追加されます。

 Open Flowchart Window をクリックすると、Flowchart ウィンドウ が現れます。

 Flowchart ウィンドウの New Block をクリックすると、Inspector に Block Inspector が表示されます。右下の + ボタンをクリックし、Narrative/Say をクリックします。

 Commands にSay が追加されます。下のStory Text に表示したテキストを追加すると、セリフが追加されます。

(実行結果)

キャラクターの設定、追加

 キャラクター(キャラクターの名前や画像)を追加します。

 Tools > Fungus > Create > Character をクリックします。

 Hierarchy に Character が追加されます。

〇名前や表示される名前の色などの設定

Name Text 名前の設定
Name Color 表示される名前の色の設定
Sound Effect このキャラクターのセリフをおくるときに再生される音の設定
設定しない場合は無音になります

〇キャラクターの画像の設定
 Character の Inspector にある Portraits(意味:肖像画、画像) をクリックすると、List の追加ができるようになります。+ ボタンを押し、キャラクターの画像が追加できます。

 List になっているので、複数の画像を設定できるようになっており、表情差分などを追加できる仕様になっています。

〇セリフ横に話しているキャラクーの画像を追加

 上の画像のように、話しているキャラクターの画像と話しているキャラクターの名前が表示されるようにします。

 セリフを追加したときのように、Inspector に Block Inspector を表示させます(Flowchart ウィンドウの New Block をクリック)。

 セリフごと(Say ごと)にどのキャラクターのセリフか設定できます。Character の部分から表示させたいキャラクターをっ設定します。

 Character を設定すると Portrait が表示されます。ここからどの画像(差分)を表示させるかを選択できます。

セリフが表示されるフレームやフォントなどの設定

 Tools > Fungus > Create > Say Dialog をクリックすると、Hierarchy にSayDialog が現れます。これがセリフが表示されるフレームになっています。子オブジェクトに名前を表示させるための Text やキャラクターを表示させるための Image があります。

 SayDialog とその子オブジェクトの役割は以下のようになっています。

オブジェクト 役割
SayDialog Canvas
Say Dialog に関するスクリプトがついている
Panel セリフが表示されるフレームの Image
NameText 名前が表示される Text
Image セリフ横のキャラクターの画像を表示させるための Image
StoryText セリフを表示させる Text
Continue セリフをおくるためのボタン
Text Continue ボタンでなにか文字を表示させる場合に使う

 セリフのフレームを変える場合は Panel の画像を変えればよいです。また、 フォントや文字の大きさを変える場合は、NameText、StoryText から行います。

 セリフが表示されるときの "ポポポポポ” のような音は、SayDialog についている Writer Audio から設定できます。デフォルトでは、HighVoice、MidVoice、LowVoice の3つが設定されています。

最後に

 会話画面が簡単に実装できる Fungus を紹介いたしました。今回は、会話の設定の仕方だけまとめましたが、他にもいろいろな機能がついています。CSVファイルを使い、テキストデータを読み込むようなこともできるようなので、自分で会話のシステムを作らない場合は選択肢に入るのではないかと思います。