■[3Dプログラム勉強] 旋回と後退にモーションを追加


旋回と後退を追加しました。

 

コードとしては、キー入力時にフラグを立てるだけです。

前回は左右で回転する所まで実装していましたので、今回は

その際に旋回モーションのフラグ番号を付与しました。

後進も前進同様に↓入力時にモーションをいれただけです。

 

つまり、プログラムとしてはほとんど変更がありません。

モデルに埋め込むモーションの機能になります。

 

ここで注意点。

 

モーションには下記の設定を埋め込めます。

・再生終了したらそのまま

・再生終了したら最初に戻って繰り返す

・再生終了したら逆再生で繰り返す

・再生終了したら任意の途中に戻って繰り返す

 

歩きモーションは「最初に戻る繰り返し」になります。

旋回モーションは「終了したらそのまま」になります。

 

が、バグなのかモーション終了フレームのキーフレーム

で終了すると、何故か繰り返しになってしまいます。

文言通りに機能していません。

(エディタが60FPSでプログラムが30FPSなので、フレームが

スキップされているのかも・・・)

 

そこで、例として30フレーム(0~29フレーム)の場合、

終了フレームとその一個前のフレーム(28~29)に

同じモーションを設定し、28フレームから繰り返すように

設定します。すると、動作するようになります。

 

もちろん、28~29をループしているので、見た目は同じでも

機能的には同一ではありません。

 

まあ、原因は後で探して見つつ、本番の糧になればいいのです。

 

次はジャンプでしょうか。

垂直跳びと走り跳びで違う気もしますし、着地も別モーション

になるような気がします。設定できるフラグ数は多くはないので

うまく収まるか、何か方法があるはずなので、模索中です。

 

ちなみに細かいモーションを幾つか作っていると、別ゲームの

あんなモーションやこんなモーションはどうやっているんだろうと

観察してしまいます。ACのサイティング対象に腕を向けるとか

歩行方向に腰から下が動いて上半身は正面を向くとか・・・

 

モーションではなく、動的にゲーム中にボーンを可動させて

いるとしかおもえないけど、そこまでできるんだろうか・・・

(手段問わなきゃ出来るんだろうけど、E3Dとしての意味で)

コメントはまだありません。

コメントする