2017-04

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

モーションの移動量の取得

ゲーム内でキャラクターの位置を変更するとき、プログラム上で位置をVector3なんかで設定することが多いかと思います。では、キャラクターが一歩踏み出して剣を振りその場で立ちポーズ戻る場合はどうすべきか? 大きく分けて2種類あり、1つはキャラクターのアニメーションは移動せずにその場で剣を振りプログラム上で適当に前にだす。もう1つはアニメーションに移動量を付けておき、その値をプログラムに反映させる方法。どっちがキレイに決まるかといえば後者に決まっています。前者の方法でキャラの足を滑らないように作るのは至難の技です。ですが、後者を実装するのも結構面倒なものです。
まず、そのキャラのヒット処理(背景や他のオブジェクトに対しての減り込み補正)をモーション計算後に行う必要があります。
モーションデータから移動量を抽出し、前回との差分から今回のモーション移動量を計算します。これをキャラのプログラム位置に足すことで、現在フレームのキャラの最終位置が決まります。背景にめり込むなど、問題が発生した場合にはこの最終位置を更新します。私の場合、モーション計算後の行列はじかに補正しないで、先ほどの最終位置からモーション移動量を引き、ワールドマトリクスを生成してシェーダーへ渡します。
で、オフィシャルのSkinningSampleのシェーダーはワールドマトリクスを受け取らないので、この辺も直さないといけません…。
他にももっと楽な方法があるとは思うんですが、今のところいい方法が思いつきません。もっと根本から直せば良いとは思うんですけどね~。

XNA3.0は導入したもののいろいろと作業中でXBOXでは動かない状況なので、XNA3.0の良さはまだ実感できていません…。圧縮とかスナップショットとか、配置の高速化とか…見てみたいところですが、しばらくは我慢です。
キャッスルクラッシャーズをクリアしました(ノーマル)。クリアしたのに実績2つしか解除できてない…。クレイジーモード(?)の方も少しずつ進めていきたい! それ以外ではXBOXクラシックで購入したクリムゾンスカイと、同僚に借りたアサシンクリードをプレイ中。クリムゾン~はPCでやったことあるけど意外とムズい箇所があって挫折したので、再挑戦のつもりがまったく別物になっててビックリ。まぁ、これはこれでアリですね。雰囲気が好きです。紅の豚をハリウッド化した感じ。アサシンクリードはすごいですね。いろいろと。360の底ヂカラを感じました。ミラーズエッジのデモ(これは会社のPS3でプレイ)をやりましたが、個人的にはアサシン~の方がアクションが決まりやすくて気持ちよかったです。ミラーズ~は慣れないとムズいので、より一層アクションゲーマー向けなんでしょうね。高いところでのアクションはお尻ムズムズしますて面白いです。ただ、どこに行けばよいのかがわかりにくくて、うろうろしているうちに殺されることしばしば。どちらも雰囲気が素晴らしくて見とれてしまいますね~。そのほかにはPUREのデモが気に入っています。PS3のMotroStormでしたっけ? アレみたいな感じで適当にプレイしていて楽しいので、いいストレス発散になりますね。これは買っちゃうかも。

● COMMENT FORM ●


管理者にだけ表示を許可する

トラックバック

http://karuduck.blog50.fc2.com/tb.php/72-f2a92c00
この記事にトラックバックする(FC2ブログユーザー)

NEW ENTRY «  | BLOG TOP |  » OLD ENTRY

プロフィール

Karu_gamo

Author:Karu_gamo
<メールアドレス>
karu_gamo#hotmail.co.jp
#を@に置き換えてえてください。

<自分リンク>
かるがも研究所【新】
YouTubeチャンネル
公開素材置き場
仕様書
旧ブログ(見るとこないです)
管理者ページ

リンク

YouTube動画

FC2カウンター

カテゴリー

Twitter

 

月別アーカイブ

RSSフィード

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。