トップページ > 過去ログ > 記事閲覧
各モデルに同じ動きをさせたい
名前:へもじ 日時: 2011/08/08 12:46

3Dゲームを作っています。 pmdモデルとしてbody.pmdとwear.pmdの二つがあります。 body.pmdはキャラクターの体のみ wear.pmdはキャラクターの服のみ(体部分は透明)です。 body.pmdとwear.pmdを読み込んで、どちらも全く同じモーションをさせることで キャラクターが服を着て動いているように見せたいと考えています。 とりあえず、body.pmd, body000.vmd, wear.pmd, wear000.vmd の四つを用意して int body = 1LoadModel( "body.pmd" ) ; int wear = 1LoadModel( "wear.pmd" ) ; といった感じで読み込ませ、移動や衝突判定など、全く同じ処理にかけることで実現できました。 しかし、wearに関してはbodyと同じ位置・同じモーションで描画できれば良いだけなのです。 モーションについても、body000.vmdとwear000.vmdはファイル名が違うだけ…。 もっとリソースや処理を効率化できるはずだと考えております。 おそらく、描画関数の直前に必要な情報をペーストすればよいのだとは思いますが 何か良い方法はありますでしょうか。

Page: 1 |

Re: 各モデルに同じ動きをさせたい ( No.1 )
名前:yasi 日時:2011/08/08 18:00

body.pmdとwear.pmdがほぼ同じフレーム構造、フレーム名であるという前提での話しですが、 モーションファイル(wear***.vmd)を省略する事は可能かと思います。 モーションをアタッチする為のMV1AttachAnimには、 別モデルが保有しているモーションをアタッチする機能もあります。 // モデルロード処理 int BodyH = MV1LoadModel( "body.pmd" ); int WearH = MV1LoadModel( "wear.pmd" ); // アニメーションアタッチ処理 int BodyAttachI = MV1AttachAnim( BodyH, 0 ); int WearAttachI = MV1AttachAnim( WearH, 0, BodyH, TRUE ); このような形でアタッチします。 詳しい機能の制限や注意事項などはリファレンスのMV1AttachAnimをご覧ください。 >//homepage2.nifty.com/natupaji/DxLib/function/dxfunc_3d.html#R1N1

Page: 1 |