旋回と後退を追加しました。
コードとしては、キー入力時にフラグを立てるだけです。
前回は左右で回転する所まで実装していましたので、今回は
その際に旋回モーションのフラグ番号を付与しました。
後進も前進同様に↓入力時にモーションをいれただけです。
つまり、プログラムとしてはほとんど変更がありません。
モデルに埋め込むモーションの機能になります。
ここで注意点。
モーションには下記の設定を埋め込めます。
・再生終了したらそのまま
・再生終了したら最初に戻って繰り返す
・再生終了したら逆再生で繰り返す
・再生終了したら任意の途中に戻って繰り返す
歩きモーションは「最初に戻る繰り返し」になります。
旋回モーションは「終了したらそのまま」になります。
が、バグなのかモーション終了フレームのキーフレーム
で終了すると、何故か繰り返しになってしまいます。
文言通りに機能していません。
(エディタが60FPSでプログラムが30FPSなので、フレームが
スキップされているのかも・・・)
そこで、例として30フレーム(0~29フレーム)の場合、
終了フレームとその一個前のフレーム(28~29)に
同じモーションを設定し、28フレームから繰り返すように
設定します。すると、動作するようになります。
もちろん、28~29をループしているので、見た目は同じでも
機能的には同一ではありません。
まあ、原因は後で探して見つつ、本番の糧になればいいのです。
次はジャンプでしょうか。
垂直跳びと走り跳びで違う気もしますし、着地も別モーション
になるような気がします。設定できるフラグ数は多くはないので
うまく収まるか、何か方法があるはずなので、模索中です。
ちなみに細かいモーションを幾つか作っていると、別ゲームの
あんなモーションやこんなモーションはどうやっているんだろうと
観察してしまいます。ACのサイティング対象に腕を向けるとか
歩行方向に腰から下が動いて上半身は正面を向くとか・・・
モーションではなく、動的にゲーム中にボーンを可動させて
いるとしかおもえないけど、そこまでできるんだろうか・・・
(手段問わなきゃ出来るんだろうけど、E3Dとしての意味で)
■最近のコメント