Unityのアセット[Fungus]を使ってゲームのノベルを作ってみた。[1.簡単に会話っぽいものの表示]
どうも、特に何か起こるもなくのんびりしていた ゆう茶ん です。
今回は学校の文化祭の方で触らせていただいた Unity のアセット、
Fungus の方を紹介、使い方の方を書いていきたいと思います。
シューティングやアクションなどのゲーム途中に
キャラクター同士の会話部分があるものは結構多いと思います。
ゲームを作っていてノベルゲームという程豪華じゃなくていいけど会話を入れたい…
という場合にこのアセットはスクリプトもそこまでいらず、
ある程度簡単に入れられるので便利だと思います。
難点としては日本語の情報が他のノベル制作のアセット(宴、Joker Script)などに
比べて少なく分からない時に調べにくい点です。
自分はいろいろと試しで動かしつつ、公式の動画(自動日本語翻訳)などを見ながら
作成していました。
長々と話していてもあれなので弄っていきます。
Unityは今回、 2018.2.10f1 を使っています。
Fungusをインポート
とりあえず Fungus を入れないとしょうがないのでAssetStoreのほうから
Fungus を検索してインポートします。
調べると一番上に出ます。
そしてインポート。
こんな風にAssetsの所に増えていればOKです。
Fungus の方には基本フォントやFungusを動かすためのスクリプトがあり、
FungusExamples の方にはFungusで作られたサンプルが置いてあります。
基本的には Fungus ファイルは新しいフォントや音を入れる時くらいにしか
弄らなかったのでこうゆうのがあるんだくらいでいい気がします。
フローチャートを出して会話を出してみる
それでは Fungus を動かしていきます。
まずは フローチャート を作ります。
Fungusの制御などはフローチャートでするのでこれがないと始まりません。
Tools > Fungus > Create > Flowchart で作成。
Hierarchyに Flowchart が追加されました。
Inspectorはこんな感じ。
この中の Open Flowchart Window を開きます。
これがフローチャート画面です。
なんか New Block っていうのがあるのでこれをクリック。
Inspectorが変わりました。とりあえずセリフを出したいので右下の+から
Narrative > Say を選択。
FlowchartのInspectorのCommands内にSayが増えました。クリック。
+などの下にSayが表示されました。
とりあえず Story Text の所に書きます、日本語もいけます。
とりあえず適当に入力、上の Commands の方も変更されています。
ここでゲームを実行してみます。
ちゃんと表示されました。簡単にセリフのウィンドウを出すところまではいけました。
キャラクターに喋らせる
セリフは出せたけど今の状態だと誰が喋ってるのかもわかりません。
分かりやすくするために 立ち絵 と 名前 を表示します。
まずは、立ち絵の素材を用意します。
今回は 三日月アルペジオ さんの方から素材を貰ってきました。
とりあえずロランとミランダの素材をダウンロードします。
立ち絵、表情差分(ページ内のリンク)を貰ってきました。
とりあえず、unityで Loran と Miranda フォルダを作って
その中に素材を入れました。
ではUnityの方で設定していきます。
Tools > Fungus > Create > Character
Hierarchyに Character ができているので見てみます。
とりあえず名前を Loran にしておきます。
Name Text 部分も同じ名前に変えておきましょう。
Name Textに設定した名前でテキスト内に表示されます。
後は下の Portraits の + をクリックして、
その中に先ほどのLoranの素材を入れておきます
(ロランは左側右向きで表示したいので事前に左右を反転しています。)
※事前に反転させなくてもいいことが判明、次回の最初で紹介します。
こんな感じになりました。
Portraitsの下が切れてますが全部の差分が入っています。
次は立ち絵の表示場所を決める Stage を作ります。
Tools > Fungus > Create > Stage
Hierarchyにstageが追加されてます。
Middle 以降のオブジェクトの位置を変えることで、
立ち絵の位置を設定します。
とりあえず表示してから調整したいので、一旦置いておきます。
Flowchartの方に戻ります。
先ほどのCommandsの中に Portrait を追加します
Narrative > Portrait
こんなのが出てくると思います。
とりあえず表示のための設定をしていきます。
Character を Loran にすると設定する場所が増えます。
Portrait に好きな表情を、(自分は基本のものにしました)
At Position には左側に表示するので Left をいれました。
こんな感じ。それでは起動してみましょう。
表示はされましたがCommandsの順番を間違えて変になってしまいました。
Portriteをドラッグして上に持っていき入れ替えます。
実行の前に名前も表示させたいのでSayをすこし弄ります。
Character に Loran , Portrait に先ほど設定した差分を設定します。
あとは、Story Text を分かりやすく変えておきます。
わたしはロランです。
これはテキスト表示のテストです。
では実行してみましょう。
立ち絵の表示、名前の表示ができました。
名前の方が少し見づらいですが、Character(Loran)オブジェクト内の
Name Color で変更できます。
こんな感じで簡単に会話画面っぽく表示させることができました。
今回はここまで。ありがとうございました~