LAGライブラリを試してみるその2

「LAGライブラリを試してみるその2」の編集履歴(バックアップ)一覧はこちら

LAGライブラリを試してみるその2」(2010/07/25 (日) 21:28:31) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*&bold(){LAGライブラリを試してみるその2} LAGライブラリのsample2でアニメーションの切り替えってのが書かれてたから できるかどうか試してみたよ。 開発者さんの許可は取ってないよ。危うい。 sample2に入っていた3Dモデル「player」を使った。自作3Dモデルをモーション付きで新作するのはかなりキツいから。 この3Dモデルには2種類ほどモーションが入っていて、その場に立っているだけの「Idle」というモーションと、 走る動きの「run」というモーションがsampleで使われていた。
*&bold(){LAGライブラリを試してみるその2} LAGライブラリのsample2でアニメーションの切り替えってのが書かれてたから できるかどうか試してみたよ。 開発者さんの許可は取ってないよ。危うい。 sample2に入っていた3Dモデル「player」を使った。自作3Dモデルをモーション付きで新作するのはかなりキツいから。 この3Dモデルには2種類ほどモーションが入っていて、その場に立っているだけの「Idle」というモーションと、 走る動きの「run」というモーションがsampleで使われている。 *&bold(){追加する命令はたった1行の簡単な} プログラム的にはごく簡単みたいで、update()内にたった一文、AnimationPlayerクラスの「ChangeClip」 というメソッド命令を書いてやればいいだけらしいのだ。 &ref(update.png) この命令に、アニメーションの名前(もしくは番号)とモーション切り替え時のなめらか率を渡してやれば、簡単にモーションの 切り替えができるというのだ。 *&bold(){改造してみようでないの} サンプルではZキーを押すと動かずに待機するモーションを、Xキーを押すと走るモーションを実行するというプログラムになってたが、 要はこの部分を十字キーの上を押してる間だけ走るモーションを実行っていう風にしつつ、左右キーでモデルの座標・回転を変化させてやれば キー操作で本当に走ってるようにできるというわけだ。 改造してみたよ。 &ref(moving.png) Keystate.isKeyDown命令で上キーが押されてるかどうかを確認して、その間は「run」のモーションを実行する。 Keystate.isKeyUp命令で上キーが押されてないかどうかを確認して、その間は「Idle」のモーションを実行する。 3Dモデルの回転は、左右キーで角度変数の値を増減してやって、位置回転情報が入った変数にMatrix.CreateRotationY命令でかけあわせてやる。 座標の移動は、左右キーで増減した角度変数を使って、CosとかSinとかの三角関数でキャラが向いてる方向へ前進するように 3Dモデルの位置回転情報が入った変数の値を変えてやる。 という風にすれば、初代バイオハザードみたいな感じの、「左右キーでキャラが回って、上下キーで前進・後退する」っていう操作が できるようになるというわけだ。 使ってるのはサンプルなのであんまり独自性はないけど、まぁこんな風に3Dゲームの初歩の「キャラを走らせる」はできた。 &ref(moving1.FLV) *&bold(){結果} LAGライブラリの最初の表示段階ができてさえいれば、今回のはたった1行加えるだけで簡単にモーションを切り替えられたから、 かなり便利だし楽だった。 切り替え時のブレンドも十分違和感のないものだったので、ゲーム開発のストレスにならなくてとても良いかんじだった。 今回の実験は大満足。 画像数も少なくて済んでよかったよ。 ちなみに、動画を申し訳程度にFLV化したけど、これってページから直接見るのは無理なのね・・・

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。