3D散歩ゲーム 08A2043 谷口盛海 種田研究室
目次 1.研究動機・目的 2.はじめに 3.モデル(PMD)を読み込む 4.モデルの移動 5.スキンメッシュアニメーション 6.キー入力 7.まとめ
1.研究動機・目的
研究動機・目的 近年、MMD(MikuMikuDance)の普及によって多くの3Dモデルが配布されるようになった。従来の3Dプログラミングはモデルから作成しなければならないため敷居の高いものであったが本研究ではこのMMDの3Dモデルを利用して負担を軽減しながら効率よく3Dプログラミングの学習をしペットを飼えない家庭でも飼った気分を味わえるようなプログラム作成が目的である
2.はじめに
DirectX Microsoft DirectX(ダイレクトエックス)は、マイクロソフト社が開発したゲームおよびマルチメディア処理用のAPIの集合である。(研究では9.0を使用) Windows API Windows API(ウィンドウズ エーピーアイ)とは、Microsoft WindowsのAPIのことである。特に32ビットプロセッサで動作するWindows 95以降やWindows NTで利用できるものはWin32 APIと呼ばれる。また、それらのWindowsにおけるWin32 APIの実装をWin32と呼ぶ。
3.モデル(PMD)を読み込む
PMDとは ・MMDで使われる独自形式の モデルデータファイル(.pmd) ・MMD ver1~2ではDirectXの形状データなどを 格納するXファイル(.x)をベースに拡張した(.xx)が 使われていたがVer3では(.xx)をさらに拡張した (.pmd)が使われるようになった
PMD PMDファイルは生のデータ(バイナリ形式)になっているのでそのままでは使えません。なので、その中の必要なPMDデータを予め作っておいたPMDデータ構造体に読み込ませます。さらにPMDデータ構造体を共通のメッシュ構造体に読み込ませることによって他のファイル形式のモデルと同じように使えるようにします。
表示
4.モデルの移動
座標系 モデルを移動させるには座標変換を行わなければなりません座標には種類があります。 ワールド座標系とローカル座標系 ワールド座標系は空間全体を表す基準の座標系でありグローバル座標系とも言われます。ローカル座標系は3次元空間内の個々のオブジェクトをモデリングする時などに使われモデリング座標系とも言われます。
座標変換 3次元幾何変換 オブジェクトの平行移動(X,Y,Z)、回転、スケール変換、せん断、反射など位置や大きさなどを変化させるのに使われる。 平行移動行列のDirectXの関数はD3DXMatrixTranslation(D3DXMATRIX*(出力行列), float(X座標移動量), float(Y座標移動量), float( Z座標移動量) ); で求められる。
5.スキンメッシュアニメーション
スキンメッシュアニメーションはメッシュアニメーションと違いボーンが配置され、それが動くと周辺の頂点もつられて動きメッシュの形状まで変わります。これにより柔らかい表現に向いていると言われています。
スキンメッシュアニメーションを利用したモーション スキンメッシュアニメーションは柔らかい動きを実現できるので生き物などの動きを再現するのに役立ちます
キー入力 キー入力を使うにはDirectInputを利用する。
今後の予定 ・スキンメッシュアニメーションで作ったモーションをキー入力の有無で自動で切り換える機能を追加。キー入力がない場合は呼吸をするだけのモーションのままで、キー入力で移動する場合は走るモーションに切り替わる
まとめ ただ移動させるだけでは氷の上を滑っているような不自然な動きに感じるので、普通の生き物のように見せるには物理演算が必要なことが分かった。PMDモデルの中には物理設定があるものもあるので物理演算の練習にも丁度いいと思いました。