5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Fungusをなんとなくそれっぽく使う

Posted at

#準備するよ!
####①AssetStoreから「Fungus」を探してね!
どこかわかんにゃい:joy:
→一番上の「Windows」タブの中にあるよ〜!
fungus.jpg

このきのこのやつね:mushroom:

####②何も考えずに全てをインポート
まあまあ時間かかるから茶でもしばいて:tea:

文字読むのめんどい人はこっち見て。めっちゃわかりやすいから。
https://youtu.be/evENw4lCyE4

#使ってみるよ!
・勝手にfungusとかのフォルダ追加されてるからとりま消さないようにする
・「Fungus」→「Resources」→「Prefabs」のフォルダにいく
・「SayDialog」をヒエラルキーにペコっと貼り付けて!(でも消さないでおいてね)
・貼り付けたやつをUnpack Prefabして、自分の作ってるPrefabフォルダにいれる
・「SayDialog」のパネルだのテキストだのイメージだの自分仕様にする

・上のバーって一覧あるタブの「Tools」→「Fungus」→「Create」→「Flowchart」
 これ出したらSceneViewみたいにずっと表示するように置いておくと便利💡

NewBlock.jpg

・FlowchartのNewBlock押すとこんなの出てくる
・Block Nameは自分がわかる名前でおk
・Execute On EventでFungus(会話ウィンドウ)を呼びたいとこを設定

#Execute On Event ってどれ使えば良いの?
・Game Started
 ゲーム開始時にすぐに呼びたい時に使う

・Scene/Message Received
 自分でタイミング決めたい人用。スクリプトとかから呼ぶやつ

・UI/Button Clicked
 ボタンを押して呼びたい時に使う

他にも色々種類あるからもっと調べれば良い感じに綺麗にできるんだろうけど
まあ大体この3つでどうにかなると思ってる。
やだ!やめて!怒らないで!

FlowchartのNew Blockがあるところで右クリック→Add Blockで新規作成できる
呼びたいタイミングが違うやつとか、ウィンドウごとにじゃんじゃか作ろうね〜

#実際に会話を作ってみる
さっきのExecute On Eventがあった場所(Blockを押すと出てくるヒエラルキー)
の下の方に「↑」とか「↓」とか「+」とかあるっしょ?「+」押してみ。
command.jpg
げろぉ……なんかめっちゃある。けどここで会話を作ります。

Narrative/Say
・普通の会話。タ特に何も考えずにセリフを入れるだけのお仕事。基本はこれ使う。
ちなみにこれ系は全てコピペできるから同じやつをわざわざ探さなくても良いよ。便利!
say.png
・Story Textに発言させたいテキストを入れる
・Show Alwaysにチェック入れてると毎回呼ばれる。外すと1回だけしか表示されない
・Wait For Clickのチェックを外すと自動で次にいく。多分。確認してないけどきっとそう…
あとはそんないじらんでも平気かな。

Flow/Ifとか/Elseとか
・C#のifとかと一緒
Flow.png

Variableってところで条件を入力するんだけど、さっきのFlowchartの下らへんに
「Variables」って白いのが隠れてると思うからクリックして表示。
「+」を押すとBooleanとかIntegerとか色々あるので作りたい条件を設定。
bool.jpg
・チェックを入れたらTrue、なきゃFalse。簡単だね!
ここで条件を作っておけばさっきのifブロックで選択できるようになるよ!
ifとかの条件定義→Sayコマンドなど→Endコマンドで挟むように置いてね。
置いたコマンドの左側にある≡で上下の順番を変えられるよ!Endは必須!

Variable/Set Variable
・会話の中で条件を変更するやつ
variable.png
変更したいタイミングで入れて、=でTrue、!=でFalseにする。
この辺は変更してみたら表示されるから目で見て設定できると思う〜


ここまでで他の会話でboolでTrueにして条件で会話内容を変えたり、
話しかける度に内容が変わるとか出来るようになりました!
これだけでもゲームが作れるね:whale::heartbeat:

#選択したりとかObject動かしたりとかしたい
・選択肢
 ①選択肢の数だけFlowchartAdd Blockする
スクリーンショット 2020-08-30 15.17.42.png
選択した後に実行したいことを各ブロックに設定する。
セリフを出す〜とか、BoolをTrueにする〜とか、後でやるけど画面遷移する〜とか

 ②選択肢の数だけNarrative/Menuを追加
menu.jpg
さっきの画像でいうNew Blockのところ。
選択肢を出したいBlockに選択肢分のMenuを追加!
・Text:選択肢に表示するテキスト。「はい」とか、「そんなことはできない!」とか
・Target Block:選んだ時に移動する先のBlockを設定
これをすることでFlowchart上で分岐が作られます〜
YesNo.jpg
おわかりいただけただろうか…
もうこれでFungusマスターを名乗っても良いレベルです。


・その他Scriptを利用してFungusを制御していく系とか:smirk:
###Messageで制御
Execute On EventMessage Receivedに変更
②その下のMessageって書いてあるところに受け取るMessageを設定(何でもいいよ)

これだけで、他の会話ウィンドウとかからSend Messageをしたら呼び出すという動きができる

###FungusからScriptを制御
Scripting/Call Method
CallMethod.jpg
・使いたいScriptがついてるObjectをTarget Objectにペコっと貼り付ける
・使いたいScriptの名前を書く:()は付けなくていいよ
・Delayで何秒後に実行されるか決める

これでFungusからScriptを呼ぶことに成功!やったね!

###ScriptからFungusを制御
using Fungus;
を必ず付けてね、必ずだよ!!

Flowchart.BroadcastFungusMessage(fuga);
Fungusを呼びたい箇所でこのコードを書く。
fugaの部分にMessageで制御の時にも使ったMessage名を書く。
これでScriptからMessageを送信し、Fungusが呼び出せる!

やったねじょにちゃん、Fungusが使えるよ:no_mouth::heart:

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?