スポンサーサイト

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

書籍:「 3D格闘ゲームプログラミング 」について とか。

ウイルスバスターって、厄介ですね。 動作が重い。

「あれ?Yahoo検索の表示が遅い・・・?」と思って、右下をみてみたら
『ウイルスバスター2009をアップデートしています』とか出てるんですよ。

お前のせいか!みたいな。
作業に支障をきたすぐらい重くなる時は、作業を一旦中断することもしばしば。

「あなたがウイルスではないですか?」と問い詰めたくなる時がある。
-------------------------------------------------------------------------

で、本題。 アニメーションについて。

以前、アニメーションについての参考書籍として
3D格闘ゲームプログラミングという本を立ち読みしました。

【参考画像】
3D格闘
【参考URL】3D格闘ゲームプログラミング [大型本]


で、この参考書籍を読んで思ったこと。
平行移動成分はXファイル側に入れるべきなのか?
という事です。

この本では、どうも平行移動成分までXファイル側で定義してたっぽいんですよ。
これ、面倒臭くはないですか?

何が面倒くさいのかと言うと、勿論 行列による表示です。


まず、Xファイルは原点中心にモデルを作るじゃないですか。
で、単位行列で表示させたら当然 原点に表示されますし、
x軸に2移動する行列で表示すればxyz = (2,0,0)の部分に表示されます。


しかし、Xファイル上で平行移動成分のアニメーションまで定義してしまうと、
行列とズレてしまうんですよ。


例えば、x軸方向に2進んでアッパーをするアニメーションがあるとします。
この時、キャラクターをxyz = (2 0 0)の場所に表示させようと、
x軸に2平行移動する行列をかけると、

アニメーションで x軸方向+2 & 行列でのx軸方向+2となり、
キャラクターは、xyz = (4 0 0)の場所に表示されてしまうんです。

【参考画像】
アッパー

上記で紹介した本には、
「アニメーションで移動したら、ゲーム空間上の位置を計算しなおしてあげましょう」
みたいな事が書いてありましたが、

明らかに面倒くさいです。
それに、 x軸方向に進んでアッパーさせるようにしようとか、
変更が入ったらいちいちXファイルのアニメーションを修正しなければならない。

Xファイルで定義するアニメーションというのは固定ですからね。
アイテムを取ったらスピードアップする、とか色々と変更を加えたい場合は、
プログラム上で行列の値を変更させたりした方が良いと思います。


で、動きが複雑になって面倒になってきたら、
外部ファイルにすれば良いんじゃないかなーと。

---------Speed.txt--------------
Level1, 2
Level2, 5
Level3, 7
Level4, 10

--------------------------------
まぁ、何かこんな感じで、
速さや強さの値を定義するテキストファイルを作って、読み込ませるとか。


まぁ、ともかく自分は平行移動に関しては全部行列側でやった方が良いと思うのです。
アニメーションを実行したら、主人公の座標がずれたぞ? 
                            みたいな事にはなりたくない。)

実際のゲーム業界ではどうなってるのか分かりませんが、
とりあえず自分は、 平行移動成分は入れない方向で行こうかなー、と。
スポンサーサイト

テーマ : 日記 - ジャンル : 日記

コメント
コメントの投稿
管理者にだけ表示を許可する



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