おーみんだよ。

おーみんだよ。

プログラミング、Unityなどのアウトプットを主に行っています。

【Unity】TimelineとFungusでムービーに会話を入れる!

f:id:bookreadkun:20190412120549p:plain

おはようございます。おーみん(@Ooooooomin_365)です。

 

 

 

TimelineとFungusでムービーに会話を入れる!

今回はムービー作成の勉強として用いているTimelineを使いながら会話イベントを起こす方法について考えてみたいと思います。

 

会話イベントと言えばFungusを使うと思うのですが、これTimelineを用いてムービー作成する際はどうやって使用するのか謎ですよね・・・(笑)

 

というのも、Timelineには以下のように各々のオブジェクトのアニメーション等を入れていくのですが、ここにFungus機能をどうやって組み合わせればいいのか不明なのです。色々と海外の方々が書いた記事までしつこく探しましたが、見つからず・・・(というかTimelineを使用して会話シーンを作っている方自体がほぼいないという・・・( ;∀;))。

f:id:bookreadkun:20190409230304p:plain

(写真のTimelineの引用はこちらの記事から)

 

仕方ないので自分で色々と考えてみたら、まさかの超簡単に組み合わせられる方法を見つけたのでブログに残しておこうと思います。

 

FungusのWait Framesコマンドを使う!

以下の写真を見てみましょう。

f:id:bookreadkun:20190412121834p:plain

この写真は記事の最初にツイートしたムービーのFungus部分です。

 

「Execute On Event」の設定をGame Startedに設定し、会話の開始部分を「Wait For Frames」で調整します。この「Wait For Frames」とピンク色の「Wait frames」コマンドでTimelineのフレーム数と合うように自身で調整してください(少し大変かもしれませんが、何度も再生してキャラクターの動作とセリフが良い感じになるように)。

 

ちなみに4つ目のSayコマンドで空白の会話がありますが、これは直前のセリフ「よく見ていて~だから。」のセリフが終わった後に自動でセリフのUIをフェードアウトさせるためです。

 

これがないと、「よく見ていて~だから。」のセリフのUIがずっと画面上に残ったままになってしまうんですよね・・・

Sayコマンドの詳細に会話が終わった後に自動でフェードアウトさせるチェックボタンもあるのですが、それで試してみるとセリフを言い終わった後に即UIが消えてしまい、ユーザがセリフを見逃してしまいます。

 

ここら辺はゲームならばクリックしたりボタンを押すことで次のセリフに移れるのですが、今回作っているのはムービーであり、ユーザにはただ見てもらうように作るため工夫しなくてはいけません。

 

Timelineの設定

Timelineは以下のような感じに設定しています。

f:id:bookreadkun:20190412123245p:plain

 

登場している4人のキャラクターの動作とアニメーションをそれぞれ設定しています。

カメラの切替はCinemachineを用いており、5行目の方ではそれぞれ設定したバーチャルカメラを設定している形になっています。

 

TimelineとFungusの関連記事

過去にもTimelineとFungusについての記事を残していますので、ぜひ気になる方はお立ち寄りくださいませ。

 

【Timeline】

【Unity】CinemachineとTimelineを使ってRPGのムービー的なのを作った! - おーみんだよ。

【Unity】CinemachineとTimelineでムービーを作る! - おーみんだよ。

 

【Fungus】

【Unity二十話】Fungusを用いてRPGの会話シーンを作る。 - おーみんだよ。

【Unity十九話】FungusのFlowchartを用いる際に気を付けること。 - おーみんだよ。

 

最後に

ということで、今回はTimelineを使ったムービー作成にFungusを用いて会話イベントを入れてみるという内容でした。

 

もちろん、TimelineとFungusのフレーム数を合わせる際に画面を行ったり来たりするのが大変ではありますが、今のところこれが僕の見つけた最善の方法です。

 

もしも、もっと楽にムービーでも会話イベントを取り込める方法を知っている方がいらっしゃいましたら教えて欲しいです。

 

ではでは!

また色々とUnityを使いこなせるように頑張っていこうと思います!