おはようございます。おーみんです。
現在UnityでRPGを作成中です。
今回の記事では「Fungusを用いて会話の後に戦闘シーンへ遷移する方法」について書いていこうと思います。
イメージを持ちやすくするために完成動画を最初に載せます。
※会話の内容は気にしないでください(笑)
よし。会話終了後からのボス戦開始までの間にフェードアウトも入れた。
— 超おーみん@Unityでゲーム作ってます (@Ooooooomin_365) 2019年1月17日
わずかな差ではあるけど、先程と比較するとフェードアウトがあるのとないとでは結構変わるもんだなぁ。
次はゲーム開始後の画面を簡単に作っていきます。#unity #fungus pic.twitter.com/MVyFX7pcVn
会話が終わった後に戦闘シーンへ遷移していることが分かります。
それではそのやり方を解説していきましょう。
Fungusを用いて会話の後にシーン遷移する
会話の後にシーン遷移をする方法は以下の通りです。
- FungusのSayコマンドで会話を作る
- オブジェクトにシーン遷移のスクリプトを貼る
- Called Method を設定し、Sayコマンドの後に組み込む
FungusのSayコマンドで会話を作る
Tools→Fungus→Create→FlowchartでFlowchartを出します。
Inspectorビューの " Open Flowchart Window " をクリック→適当なブロックを作成。
再びInspectorビューの" + " をクリック→Narrative→Sayをクリック。
その後Story Textへ会話の内容を書き込んでください。
オブジェクトにシーン遷移のスクリプトを貼る
今回はフェードアウトを入れたシーン遷移を行いたいので、上記のようなプログラムにしています。
FadeManager.Instance.LoadScene("遷移先のシーン名", フェードアウト時間);
となるので、シーン名やフェードアウト時間はご自身で設定してください。
※シーン遷移を行っているので4行目のように" using UnityEngine.SceneManagement;を書くのを忘れずに。
Called Methodを設定し、Sayコマンドの後に組み込む
Flowchartで先程作ったブロックをクリック→Inspectorビューの"+"ボタンをクリック→Scripting→Call Methodを選択。
先程作成したスクリプトを貼ったオブジェクトをTarget Objectへ、Method Nameに呼び出したいMethod名を入力。
以上で完成です。
Commands欄の順番が以下のようにSay→Called MethodになっていればOKです。
※もしこれでシーン遷移が出来なかった場合、File→BuildSettingsを選択し、Scenes In Buildに遷移先のシーンが入っているか確認してください。入っていない場合はプロジェクトビューからドラッグ&ドロップで追加しましょう。
最後に
以上の設定を行うと会話の後にシーン遷移がされるでしょう。
何かご不明な点などがございましたらTwitterやコメントなどにいつでも質問くださいませ。