Unity ノベルゲームエンジン Fungus メモ


Unityでノベルゲームを作りたい!

というわけで、Unityでノベルゲームが作れるAssetsから、Fungusを使おうと思っています。
私は英語が苦手です。...あえて険しい山を登ろうと思うのは、キノコが好きだからです!!!?
あとは、Spineと連携しやすい点に着目しました。多分、他のツールでもカスタマイズすれば使えるようになるかもしれないけど、よく分からないので容易に導入できそうな点で選びました。ダメだったら他のツールを使おう。

  • jokerscript
    • 吉里吉里に親和性が高い
    • フリーウエアで国内シェア高そう
    • 開発が日本なので安心
    • Live2DやMMDにも対応している
    • 有料だけどエクセルで作成できたり色々便利な機能満載
    • 開発が日本なので痒いところに手がとどく感じ
    • Live2DやMMDにも対応している
  • Fungus
    • キノコ!!!!!
    • 無料!!!!!
    • youtubeにチュートリアル動画があるので習得しやすそう(英語)
    • UnityのiTweenなどと連携をして動的にアクションさせることができる
    • Spine-plugin有り

Fungusチュートリアル動画リスト

内容箇条書き

Fungusとは、コーディングスキルを必要とせずに、独自のインタラクティブなストーリーテリング・プロジェクトを作成。クロスプラットフォームエンジンUnityのために開発された、無料のオープンソースのプラグインです。(なんとなく翻訳)

01 Fungus Install

インストール方法

02 Fungus Basics

Flowchartの使い方
  • FlowChart/block
  • block/commandについて
  • Say 会話の挿入
  • Menu 選択分岐の作成方法

03 Fungus event Handlers

イベントハンドラの使い方
  • FlowChart/blockExecute On Eventの説明
Execute on Event 内容
Game Started ゲームがスタートした時
None 何もしない
FlowChartEnabled Set Activeで指定された時
Message Received Send Messageコマンドから指定された時
input キー操作によるアクション
Sprites オブジェクト操作によるアクション
  • キー操作によるアクション
    • spaceキーを押した時にメッセージウィンドウの表示 key pressed
  • オブジェクト操作によるアクション
    • オブジェクトをドラッグして、メッセージウィンドウを表示 Object Clicked

04 Fungus Camera

カメラ設定 プレイヤーが見ているものを制御します
  • サイズ 内側4:3、外側16:9の比率
  • センターをドラッグして配置を変えたり、上下にある白い四角をドラッグすることで拡大縮小ができる
  • 背景をフェードインさせる
    • 背景をHierarchyに追加
    • Fungus/Create/ViewでFungusViewを追加し、Viewの大きさや位置を変更する
    • flowchart/blockにCamera/FadeToViewを追加
    • TargetViewに追加したViewを選択
    • Duration(時間)やColorを適時指定
  • FadeScreen フェードアウト
  • MoveToView 二つのViewを作って、View1からView2への移動
  • ShakeCamera カメラを振動させる
  • StartSwipe View間の画面をスワイプで動かすことができる
  • StopSwipe スワイプを止める 時間を設ける場合Flow/Wait

05 Fungus Sprites

シーンに挿入したスプライトに、インタラクティビティを追加する
  • ShowSprite 表示・非表示
  • FadeSprite フェードアウト
  • SetClickable2D イベントハンドラのアクションを制限

06 Fungus Audio

音楽や効果音を追加する方法

07 Fungus animation

Unity Animationを作成し、fungusで制御する
  • Unity Animationを作成
    • Animatorでparametersを追加
      • FungusにAnimation/Set Anim Boolを追加する

08 Fungus Narrative

物語を作るためのいろんなギミック
  • 2度目の選択肢は表示させない Hide if Visited
  • 選択肢に時間制限を設ける Menu Timer
  • テキスト内の文字飾りや、テキスト再生中のアクションの指定 Tag Help
  • メッセージウィンドウUIのカスタマイズ for 2.2ver SayDialog
  • Character作成、表情差分の設定 Character
  • portratの挿入(立ち絵)Stage
  • 選択肢とタイマーUIのカスタマイズ MenuDialog

09 Fungus Flow

フローコマンドと変数を使って、簡単に複雑な流れのアクションや条件分岐が作れる
  • if文作成
  • 2DSpriteフェードアウト
  • 別のシーンに繋げる

10 scripting commands

スクリプトメニューの下のコマンドを使用する方法 デバッグに有用です。

11 Fungus variables

変数を使用する方法
  • SAVE機能追加
  • C#script追加方法

12 Fungus iTween

Fungus iTweenを使用すればスプライトを移動、回転、拡大縮小など、いろんなアニメーションさせることができるよ

13 Fungus localisation

ローカライズ 言語追加
  • csv書き出しエクセルで編集
    • あらかじめ書き出すflowchartを用意
    • fungus/create/localizationを追加
    • FlowchatにてLocalization id Flowchart
    • localization内のExport Localization Fileでcvs書き出し
      • 文字化けするので、UTF-8で開くかなんとかする
    • 各言語追加して編集cvs上書き保存
    • localization内localization fileにリンク
    • active langueに追加したタグを入力
  • commandsにset Languageで再生途中で言語を変更することも可能

14 Fungus Editing Story Text

ローカライズ テキスト編集
  • テキストの書き出し&編集&読み込み

15 Fungus Spine

Spineの導入から動かし方
  • Fungus公式からfungus-Spine.packegeをダウンロードする
    • 現在はFungusパッケージに含まれていて、個別にダウンロードする必要は無いようです。
    • Fungus/Integrations/Spineにpackage入ってますよ。
  • Spine公式からSpine-unityのランタイムをダウンロードインストールする
  • commandにSpine/PlaySpineAnimを追加する

16 Extending Fungus

C#でFungusを拡張
  • 画面を赤くしたりタイマーを追加したり

Fungus 2.2 features

2.2で追加された新機能について説明
  • 任意のユニティテキストオブジェクトにテキストを書き込むことができます
  • UnityのUI要素とfungusとの間に読み取り用のGetTextとSetテキストコマンドと書き込みテキストコマンド。
  • マウスカーソルはマウスカーソルのアイコンを変更するためのコマンド。

参考にさせていただいたサイト