フリーのビジュアルノベルアセットのFungusが便利

Fungusについて

Unity製のゲームに簡単なストーリーパート的なのをつけたいと思っていた。
アセットストアでビジュアルノベルのカテゴリを開いて物色していたら、やけに高評価でしかもFREEのアセットがあるのを発見。
それがFungus だ。
M.I.T. licenseで、ロイヤリティもないので、完全にフリーである。

Fungusの紹介

イメージしやすいようにFungusの画面を一例として出しておく。

Fungusはフローチャートを作って記述する。メニューからコマンドを実行するとヒエラルキー上ではFlowchartというオブジェクトが生成されることになる。
Hierarchy

このFlowchartオブジェクトがあるシーンでは、Flowchartウィンドウを開くことができ、処理を記述することができる。例えば、以下のような感じだ。
図にあるように分岐なども自由にできる。
Fungusのフローチャート

このフローチャートのそれぞれのブロックにインスペクタでコマンドを追加する。
このコマンド群はメッセージの表示、画像の表示、ウェイト、フェード、音声、カメラなど機能は十分にある。
当然のことながら、コマンドから自由にメソッドをInvokeすることができるので、既存システムとのやりとりが可能だ。
フローチャートの開始トリガーがあり、既存システムから呼び出すことも可能である。
フローチャートの各ブロック

また、表示するダイアログも自分の好きなように変えられるので心配ない。

大量の文章を記述するために、テキストでコマンドを実行することもできる。
以下のように記述可能だ。

1
2
3
4
5
john bored left: Wow, I've got my own SayDialog!
sherlock bored right: Big whoop, so do I.

john hide:
sherlock hide:

さらにLuaのスクリプトを組み込むこともできるらしい(試してはいない)。

最後に

Fungusがまさに自分が求めていたもので完璧だった。
興味をもったらぜひFungusを試してみてください。Exampleシーンも豊富で理解しやすいです。

Fungus(Asset Store)
ドキュメント
OpenSourceなのでGithubページもある。

追記

フリーのビジュアルノベルアセットFungusを使ってRPGのイベントを作る

Unityカテゴリの記事
Color SpaceがLinearのときUIの透明度が正しくならない
History Inspectorの紹介
History Inspectorの紹介
敵AIとビジュアルスクリプティング
Chronosを使った感想
コンポーネントの順番をスクリプトから並び替える
Smart Inspectorの紹介
Kris' Favorite Assets が便利
キー操作でUIのナビゲーションをループさせる
TextMeshProのSprite Assetを更新する
UnityPhysicsDebugDraw2D が便利
色管理を考える
細かいTips
ビルドスクリプトを書く
AnimatorのCulling Modeでハマった話
Vectrosityを使ってUGUI上で線や円のアニメーションをする
スプレッドシートからjsonデータを読み込む
ビジュアルノベルアセットFungusにコマンドを追加してカスタマイズする
Skinned Mesh Renderer の Boundsについて
シーンごとにビルド結果の容量を出す
シーンビューにクオリティ設定のスライダーを出すエディタ拡張
ビルド結果のFile headersが大きい理由
フリーのビジュアルノベルアセットFungusを使ってRPGのイベントを作る
Move To View を改良する
Visual Studio で保存時にフォーマットする
スプレッドシートからデータを読み込む
Easy Save2 で シリアライズされたクラスを保存する
ShaderでSpriteの色相をシフトする
Sprite、Texture の 色相をシフトする
uGUIのButtonをクリック時にハイライトのままになる
uGUIのCanvas Groupを使って透過処理をしたり、操作を制限する
自作のコンフィグ画面に必要なもの
uGUIでトグルなボタンを作る
uGUI で動的にボタンを作る
Easy Save2 を使ってみる
csv読み込んで ローカライズ
LoadLevelAdditive で共通シーンを加算
画面全体に色をかける
Any State でどこからでも遷移できるようにする
iTween のStop ではまる
sprite の multiple で 境界がおかしくなる
2D画面に線を引く Line Renderer
Renderer の Materials を スクリプトから設定する
背景をスクロールさせる