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

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

日記 by yume

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

●アニメーション続き

実際のゲームに反映するには、アニメーションの繋がりと呼び出しをしなければならない。
DKrevel曰く、
・Animatorで各アニメーションの繋がりを指定する
・各アニメーションへの偏移の条件をboolなどで定義しておく
・boolをruntimeで切り替えてアニメーションを偏移させる

前回作ったスプライトではinGameでは少々頭身が高すぎたので、再度調整する。
ついでに衣服の動きも調整しやすいように、服そのものに二つのボーンを仕込んでおく。こうすると兵士などとはモーションが共有できないが、まぁいいだろう。

・アニメーションをまとめたやつをいわゆるBodyオブジェクトの子に登録する
・相対座標を調整する。Yを調整したらZを逆の符号で同じ値を入れる(深度ソート調整)
・アニメーションをまとめたやつの親にSorting Groupコンポ―ネントを入れておく

さて歩きとアイドル状態はできたとして、まばたきはどちらの状態でもランダムなタイミングで呼び出したい。
公式曰く、
・複数の個別にアニメーションが必要なパーツは、それぞれのオブジェクトにアニメーターを設定すればOK

というわけで「目が開いてる」アニメーションと「まばたきする」アニメーションを作り、それをまとめたアニメーターを目のパーツに追加する。
作り方はいくつか考えられる:
・通常時にランダムなタイミングで「eyeBlink」をTrueにし、目を閉じるアニメを呼び出す。「目を閉じるアニメ」の終了時にイベントを呼び出させて、eyeBlinkをfalseにする
・通常時にランダムなタイミングで「eyeClose」をtrueにし、目を閉じるだけのアニメを呼び出す。またランダムなタイミングで「eyeClose」をfalseにし、目を開くだけのアニメを呼び出す。
アニメーションイベントを使ってみたいので、今回は前者にしよう。

そんで、兵士にもアニメーションを設定し、歩きと停止時とまばたきも設定できたのはいいとして、
兵士を石化させる進行度合いを表示していた、あのスプライトを青色に偏移させるやつが使えなくなってしまった。
どうせあれは仮のものだったので、ここで少しちゃんとしたやつを作ろう。
頭上に時計が浮かぶ感じだ。

これと同じことをシャイ兵士でやっていく。既存のものはともかく、シャイ兵士は「シャイアクション」のような動作が必要なので、そのアニメーションを作るのだが、
このアニメーションはちょっと厄介だ。通常、身体の各部位の重ね順は頭、右腕、身体、左腕の順になっている。これらを回転させたり移動させたりすることでアニメーションが成立する。
ところがシャイアクションの場合、腕を顔の手前側に持ってこなければならない。
Z深度を変えればうまくいくんじゃないか、と思ったがどうもうまくいかない。どうやら、これらのスプライトの描画順は「Order in Layer」で管理しているらしい。
仕方がないので、これもアニメーションで制御する。

こんな感じになった。(小さいのでわかりづらいけど)
あとは猫の待機状態と、太った兵士とサングラス兵士と、あと兵士の「捕獲アニメーション」と。
あとドアの開閉とゴールも。あと兵士の「発見!」のマークもあるといい。
できればアニメーションは一通り明日中に終わらせて、ステージ追加を再開したい。

メモ:
アニメーションを一時停止する
・シャイ兵士がまばたきしない(多分目をシャイアクションで使ってるから。命令自体は飛んでるけど……。でもシャイ中にまばたきされると困るからそこも注意)

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

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

読み込み中...