「ジャンプアニメーション」の編集履歴(バックアップ)一覧に戻る

ジャンプアニメーション - (2011/05/07 (土) 00:43:51) の編集履歴(バックアップ)


普通にジャンプ時にアニメを実行するだけではジャンプ中にアニメが終了する事があったり、小ジャンプした場合は地面に着地してもジャンプのアニメが終っていない事があります。
その状態で移動すると空中で歩いてしまって不自然ですよね。 

ジャンプしたらジャンプ中アニメーションをさせて、着地したら終了する方法。

※事前に通常の基本アニメセットとは別に、ジャンプ中のアニメセットを用意しておきます。

ジャンプ時の基本アニメセット内容:「立ち」と「立ち移動」にジャンプ中のアニメを登録する。

主人公のフロー
【フロー1】常時 Xキーを押したとき

こちらの応用テクを参考に1フレーム程のウェイトを入れる(普通のウェイトだと長い感じがします)
・ジャンプコマンドを実行。(アニメを入れてもOKです)
・基本アニメセットを変更します。(通常アニメセット→ジャンプ中アニメセット)
 

アニメセットを変更する前にウェイトを入れる理由

これを入れないと、ブロックキャラに乗っている状態からジャンプする際にアニメ変更が行われません。

【フロー2】常時 ステータス条件3:自分がブロックに乗っている(ブロックキャラも含む)なら

・基本アニメセットをもとに戻す

 

応用編 ~ 足場を踏み外した時もアニメーションさせる

ここで言う「踏み外す」とはジャンプせずにブロックから飛び降りることです。

では、上記の基本設定に1つフローを付け加えてみましょう。
※変数を1つ使います。

 ジャンプ実行用のフロー

フロー1

ジャンプ実行後に変数に数値(ここでは1)を代入します。
基本条件は変数が0であること。

着地時のフロー

フロー2

変数が1であるときに着地した場合に実行されます。
フローの操作でID(A)(移動する為のフロー)を一時停止する理由は、着地の瞬間だけ移動を禁止する為です。着地時のアニメーションが必要のない方や、ウェイトを入れたくない方は設定しなくても結構です。
ちなみに「移動の無効化」コマンドを使用すると地に足が付いてない状態になるので問題が生じます。気になる方は試してみましよう。

足を踏み外した時のフロー

フロー3

ブロックに乗っていないかつ変数が0であるときに実行されます。
アニメセットと変数に1を代入します。


変数を使用している理由はジャンプ中にジャンプキーを押したときに、ジャンプのアニメが実行されるのを防ぐためと着地時のフローが実行され続けるのを防ぐためです。
※画像にあるようにグループ化は行わなくても大丈夫です。デフォルトデータの名残です。

ひと通りフローを組むとこのような感じにアニメーションさせることが可能になります。
参考動画 http://twitvideo.jp/05Sjs ※twitvideoに移動します。