Re: vmdの物理演算について ( No.1 ) |
- 名前:MSK 日時:2018/10/07 09:17
後者の方ですが、DxModelLoaderVMD.cpp を読んでみると
MMDモデル001L.vmd のように L をつけるとループ処理されますが、他にも処理が可能で、
MMDモデル001G15.vmd のように G+番号(0〜255)とすると、このモーションは重力番号15とする。
その後、MV1SetLoadCalcPhysicsWorldGravity(int GravityNo, VECTOR Gravity ); でその重力番号に
好きな重力値をセットすることができる・・・という感じでしょうか?(あくまで想像です)
ただし、LoadFile_VMDの中で
itemp = 1 ;
for( j = 0 ; j < GravityNoNum ; j ++ )
{
*GravityNo += itemp * GravityNoStr[ GravityNoNum - j - 1 ] ;
}
となっていますが
itemp = 1 ;
for( j = 0 ; j < GravityNoNum ; j ++ )
{
*GravityNo += itemp * GravityNoStr[ GravityNoNum - j - 1 ] ;
itemp *= 10;
}
ではないでしょうか?
(さらに言えばその下にある Strp--; は必要でしょうか?)
|
Re: vmdの物理演算について ( No.2 ) |
- 名前:meca 日時:2018/10/08 00:51
>MSK 様
ご回答ありがとうございます!
理解しました!
ありがとうございます!
あと一点、物理演算のOFFが適応されない件なのですが、
サンプルコードと、実行動画を用意致しました。
Lat式初音ミクのツインテールの片方だけ物理演算をOFFにしたvmdをアニメーションしたものです。
宜しければご確認をお願いします。
↓DropBoxリンク
dropbox.com/sh/5xyb9wg5m7w4j32/AAATFRUf7tkKgx0KLGkPvcgTa?dl=0
|
Re: vmdの物理演算について ( No.3 ) |
- 名前:MSK 日時:2018/10/08 11:02
MMDの物理演算には
オン・オフモード
常に演算
トレースモード
演算しない
がありますが、DxLibでは「常に演算」と「演算しない」のみ対応しているのでは
ないでしょうか。
(今回のようにOn/Offをするための「オン・オフモード」が無い)
|
Re: vmdの物理演算について ( No.4 ) |
- 名前:管理人 日時:2018/10/09 03:01
|
Re: vmdの物理演算について ( No.5 ) |
- 名前:MSK 日時:2018/10/09 21:59
気が引けますが、先にコメントさせていただきます。
mecaさんが用意されたモーションおよび、そのモーションの途中から物理ONに変更したモーション
ともに動作を確認いたしました。ありがとうございます。
なのですが、DxLib Model Viewerが落ちるようになりました。
条件としては
@PMD読み込み時の物理演算のFPSを 120 にしている (240以上は未確認)
Amecaさんが用意されたLat式ミクとモーション
です。
Aについては、ミクのモーションを物理ON/OFFの無いものだけにしても落ちます。ただし別の.pmxに
物理ON/OFFを含めたモーションを読み込ませても大丈夫でした。
60FPSでは大丈夫そうですが、ぜひとも120FPSにしたいので、また折を見てご確認をお願いいたします。
|
Re: vmdの物理演算について ( No.6 ) |
- 名前:管理人 日時:2018/10/11 02:56
|