おーみんブログ

C#, ASP.NET Core, Unityが大好きです。

【Unity】Fungusを用いて会話の後にシーン遷移する。

  f:id:bookreadkun:20190118084703p:plain

 

おはようございます。おーみんです。

 

現在UnityでRPGを作成中です。

今回の記事では「Fungusを用いて会話の後に戦闘シーンへ遷移する方法」について書いていこうと思います。

 

イメージを持ちやすくするために完成動画を最初に載せます。

※会話の内容は気にしないでください(笑)

 

 

会話が終わった後に戦闘シーンへ遷移していることが分かります。

 

それではそのやり方を解説していきましょう。

 

Fungusを用いて会話の後にシーン遷移する

会話の後にシーン遷移をする方法は以下の通りです。

 

  • FungusのSayコマンドで会話を作る
  • オブジェクトにシーン遷移のスクリプトを貼る
  • Called Method を設定し、Sayコマンドの後に組み込む

 

FungusのSayコマンドで会話を作る

Tools→Fungus→Create→FlowchartでFlowchartを出します。

 

Inspectorビューの " Open Flowchart Window " をクリック→適当なブロックを作成。

 

再びInspectorビューの" + " をクリック→Narrative→Sayをクリック。

f:id:bookreadkun:20190118082009p:plain

 

その後Story Textへ会話の内容を書き込んでください。

 

f:id:bookreadkun:20190118082153p:plain

 

オブジェクトにシーン遷移のスクリプトを貼る

f:id:bookreadkun:20190118082342p:plain

 

今回はフェードアウトを入れたシーン遷移を行いたいので、上記のようなプログラムにしています。

 

FadeManager.Instance.LoadScene("遷移先のシーン名", フェードアウト時間);

 

となるので、シーン名やフェードアウト時間はご自身で設定してください。

 

※シーン遷移を行っているので4行目のように" using UnityEngine.SceneManagement;を書くのを忘れずに。

 

Called Methodを設定し、Sayコマンドの後に組み込む

Flowchartで先程作ったブロックをクリック→Inspectorビューの"+"ボタンをクリック→Scripting→Call Methodを選択。

 

f:id:bookreadkun:20190118082903p:plain

 

先程作成したスクリプトを貼ったオブジェクトをTarget Objectへ、Method Nameに呼び出したいMethod名を入力。

 

f:id:bookreadkun:20190118083820p:plain

 

以上で完成です。

Commands欄の順番が以下のようにSay→Called MethodになっていればOKです。

f:id:bookreadkun:20190118083927p:plain

 

※もしこれでシーン遷移が出来なかった場合、File→BuildSettingsを選択し、Scenes In Buildに遷移先のシーンが入っているか確認してください。入っていない場合はプロジェクトビューからドラッグ&ドロップで追加しましょう。

 

最後に

以上の設定を行うと会話の後にシーン遷移がされるでしょう。

何かご不明な点などがございましたらTwitterやコメントなどにいつでも質問くださいませ。