パスワードを忘れた? アカウント作成
14984591 journal
日記

yumeの日記: Unity制作 メデューサ・ゲーム #44

日記 by yume

メデューサ・ゲーム(仮)

--

●Unityで動くアニメーションカットシーンを作る。

課題をおさらいしよう:
・プレイヤーが入力するたびにテキストを送る
・テキストが送られるたびに、次のアニメーションの組み合わせが再生される
・テキストが送られきったら、次の入力待ちをして、アニメーションも待機状態になる

実際にどのようなものか想像しよう。以下は第一話のオープニングの一部を切り取った脚本のプロトタイプだ。
セリフのラインごとにプレイヤーの入力を待つ。
ライン = 「1行のセリフ+セリフ1行分のアニメーション+エンターキー入力1回待ち」のセット、という風に扱う。

(ライン1. 眠っているミスティのアップ。いびきのループ)
ミスティ:んがーっ、プスー。んがーっ、プスー。んがーっ、プスー。
(2. カメラを引いて、右側から現れるクロノス。呆れた身振りで、セリフ)
クロノス:ミスティ、いつまで寝てるの。いい加減おきないと、また頭痛になるわよ。
(3. 目を開き、目をこすり、伸びをして起き上がり、セリフ)
ミスティ:んがっ。…………。んんー。あ、おはよーねえさま。
(4. セリフ。部屋の様子を身振りで示す。)
クロノス:おはよう。ねぇ、起き抜けでなんだけど、この部屋、少し片づけた方がいいんじゃない?
(5. 嫌そうな顔でセリフ)
ミスティ:ん~……。もう。朝からお小言は勘弁して~。
(6. セリフ)
クロノス:もうお昼よ。
(7. セリフ。鼻をかんでティッシュを投げ捨てる。クロノス、投げたティッシュに引く)
ミスティ:わかった、わかった。(鼻をかむ)ぶーっ。顔洗ったら、片付けるから。
(8. セリフ。)
クロノス:鼻をかんだティッシュを、床に投げ捨てないで。
(9. 暗転)

読み返して気づいたが、これ大変すぎるぞ。

まぁ、とにかく、各ラインのセリフひとつにアニメーションひとつが対応するわけだから:
・Spineで各ラインに対応するアニメをひとつひとつ作る。
・UnityのAnimatorがひとつのint、lineCountみたいなのを持っておく。
・シーンが始まると同時に、最初のアニメーションが実行される。

クロノスのアニメーターに、Numberが2、4、6、7、8になった時に動くアニメーションを設定しておく
ミスティのアニメーターに、Numberが1、3、5、7になった時に動くアニメーションを設定しておく。
必要なら、各アニメーションから、各ラインの最後に必要な待機ループアニメをつなげておく(呼吸とか)
(あるいは、もともと複数のキャラクターを含む大きなアニメーションをSpineで作っておく。その方が管理が簡単かも)

・CSVを用意し、CSVの行数=ラインの数とする。
・CSVを一行ずつ読み込み、各行のテキストを画面下部に表示する。
・入力OKのタイミングを待ち、OKになったら入力を待つ(bool canReturn)

・Animation側で、canReturnをTrueにするイベントを任意のタイミングで呼び出す。

・字幕用に、テキストUIを置いておき、ラインが変わるごとにCSVテキストから該当する行のテキストに入れ替える。

・ラインの末尾に到達したらシーン終了。

とりあえず今あるアニメーションで仮に作ってみよう。
入力待ちのUIとか、字幕用の枠とかも必要だよな……。あと背景も。

……で、こうなった。

みた感じうまく動いている。明日からは実際の第一話用のイラストとアニメーションを作っていこう。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

アレゲは一日にしてならず -- アレゲ見習い

読み込み中...