Unityのアセット[Fungus]を使ってゲームのノベルを作ってみた。[2.会話中に表情を変えたり、選択肢を出す]
どうも、文化祭が終わり就職やゲーム作りを少しづつ進め始めた ゆう茶ん です。
前回の記事の方でFungusの機能を使い会話シーンぽいものを作ってみました。
今回は前回の続きで表情差分と会話中の選択肢などを追加していきます。
キャラの反転について
前回、ロランを事前に反転して使ったのですがわざわざしなくてもいいことが判明したのでまずはそれから紹介します。
とりあえず改めてロランの通常の左向きの画像を用意して入れなおしました。
で反転するにはLoran(Characterで作った)のPortraitsの下の方にある、
Portraits Face の方を弄ります。
これをキャラの元画像が向いている方向に合わせて設定します。
(ロランの場合は左なので <‐‐ に設定)
変更した後、FlowchartのNew Block内のCommandsの前回設定した
Portraitの方を見てみると新しく Facing とやらがいます。
これを画面内でキャラが向きたい方向に設定すればOK。
試しに ‐‐> に変えて実行します。
ちなみにFacingの方ですが、事前にCharacterの方でPortraits Faceの方を
設定しないと出てきません。
前に調べたときにFacingを変えれば方向を変えられると書いてあったけど、
Facingがどこにあるか分からなくて断念して事前に変えました。
事前にCharacterの方で下準備が必要だったんですね…
ちなみに、セリフ横の画像
を変える場合 Say Dialog というのを出してきて変更します。
Tools > Fungus > Create > Say Dialog
すると、Hierarchy内に SayDialog の方ができていると思います。
Scene&Gameビューにも表示されています。
この中の Image の Rotation Y を 180 に変更します。
その後FlowchartのSayの方に行き
下の方に行くと Set Say Dialog というのがあります
この中に先ほど設定したSay Dialogを入れれば完了です。実行してみます。
ちなみにFacingの方ですが、事前にCharacterの方でPortraits Faceの方を
ちなみにSay Dialog内を変えると喋るときのUIやセリフの大きさや位置など
色々と変えれるのですが、詳しくは次回以降で紹介します。
喋るときの表情を変える
怒ったり、悲しんでいるのに表情が変わらないのはおかしいので、
ダウンロードしてきた表情差分を入れてロランの表情を変えてみましょう。
最初の喋っているところを変えてもいいのですが、分かりやすくするために
Sayを追加して表情を変えていきます。
一つ目は「わたしは今、怒っています。」
二つ目は「わたしは今、笑っています。」
という二つのSayを作成します、前の時に作ったSayを
コピー&ペーストして変更するのが手っ取り早そう。
これからこのセリフを言った時に表情が変わるようにしていきます。
Portraitを追加して先ほど作成したSayの前に一つづつ配置します。
こちらも前に作ったものをコピー&ペーストするのがいいでしょう。
Portrait‐>Say‐>Portrait‐>Say‐>Portrait‐>Say の順番で並べます。
次に今追加したPortrait内を変更します。
Portraitの中のPortraitを変更すると表示される画像が変わります。
今回は「怒っています」の前の物を p-loran-04 、
「笑っています」の前の物を p-loran-07 に変更してみます。
これで立ち絵の方は表示が変わるのですが、セリフ横の画像は変わりません。
セリフ横の画像についてはSayの方で変更することができます。
Sayの方にもPortraitがあるので上で設定したものと
同じように変更してしまいましょう。
これで表情をかえることができたはずです、実行します。
Portraitを変更して表情をつけることができました。
次は選択肢を選んでそれによって表情を変えてみたいと思います。
選択肢は Menu という機能によって作れますので追加しましょう。
Commands内の+から Narrative > Menu
中はこんな感じ。Target Block で指定したBlockへ移動して分岐するのですが、
今はNew Blockしか作ってないので分岐用のBlockを作りましょう。
ついでに今あるNew Blockの名前も分かりやすく変えてしまいます。
Flowchart Windowの方で今あるNew Blockを
Start Blockに名前を変更します。
BlockのInspector内の Block Name で変更できます。
次に左上の+を押してBlockを二つ作り、Anger Block と
Laugh Block に名前を変えます。
ちなみにBlockの色を変えたい場合は、Block Name下の
Custom Tint のチェックを入れると変更できます。
そしてStart Blockにある二つの表情用のPortraitとSayを、
Anger BlockとLaugh Blockに移動します。
Anger Blockには怒っている方を、Laugh Blockには笑っているほうを、
それぞれ切り取って貼り付けましょう。
Start Block
Anger Block
Laugh Block
それぞれのBlockがこんな感じになっていたらOKです。
分岐する選択肢の数の分Menuが必要になるのでもう一つ作り、
選択肢に表示される文章も変えましょう。
Menuの一つ目を、
[Text] 怒っている。
[Target Block] Anger Block
Menuの二つ目を、
[Text] 笑っている。
[Target Block] Laugh Block
に変更します。
Menu1
Menu2
これで分岐は完成です、実行してみます。
分岐-怒っているを選んだ場合。
分岐-笑っている場合。
分岐で表情が変わるようになりました。
表情が変わったり、選択肢がでたりとだんだんとゲームらしくなってきました。
次回はFungusからSceneを移動したり別のBlockに飛ぶ方法、
選択肢の順番をランダムで入れ替えたり時間制限のかけ方を紹介します。
今回はここまで。ありがとうございました~