3D散歩ゲーム

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を利用する。
プログラム本体のメインループに組み込みキー
入力を監視する。アクションがあれば値を返
しループ中のプログラムに影響を与える。3D
プログラムでも単純な移動程度なら座標変換
を行わなくてもモデルを移動させることはでき
る。
今後の予定
・スキンメッシュアニメーションで作ったモーショ
ンをキー入力の有無で自動で切り換える機
能を追加。キー入力がない場合は呼吸をす
るだけのモーションのままで、キー入力で移
動する場合は走るモーションに切り替わる
まとめ
ただ移動させるだけでは氷の上を滑ってい
るような不自然な動きに感じるので、普通の
生き物のように見せるには物理演算が必要
なことが分かった。PMDモデルの中には物理
設定があるものもあるので物理演算の練習
にも丁度いいと思いました。