Re: DXライブラリの物理演算について ( No.1 ) |
- 名前:管理人 日時:2015/05/11 23:53
前回アップしていただいたプログラムでの踊るアニメーションでは物理が
適用されていました通り、物理が設定されている箇所については
アニメーションを再生すれば特に何もしなくても物理が適用されます
|
Re: DXライブラリの物理演算について ( No.2 ) |
- 名前:north 日時:2015/05/12 00:39
ご返信ありがとうございます。
前回アップいたしましたプログラムでもこちらでは物理演算はかかっているように見えませんでした(実際にスカートや髪の毛は揺れていませんでした)
DXライブラリは最新のものにしているのですがDXライブラリの付属のモデルビュアーでの動きとプログラム上での動きに違いが出てくるのはどうしてでしょうか?
こちらの環境では物理演算が適用されているように見えませんでした・・・・・・
こちらの環境は
Windows7 Professional
Visualstudio2008 ExpressEdition
となっております。
何度もお手数をおかけして申し訳ありませんがよろしくお願い致します。
|
Re: DXライブラリの物理演算について ( No.3 ) |
- 名前:管理人 日時:2015/05/13 00:38
|
Re: DXライブラリの物理演算について ( No.4 ) |
- 名前:north 日時:2015/05/13 02:29
ありがとうございます。アップしたプログラムを最新版に書き換えましたところ無事に適用されるようになりました。
しかし一つ画像のようなバグが発生しておりこれはDXライブラリ側の問題でしょうか?
また、暫定最新版のDXライブラリをこのモデルを使用しているゲームに適用したところ
下記のようなメッセージのバグが発生するようになってしまいました。
Windows によって GameProg.exe でブレークポイントが発生しました。
ヒープが壊れていることが原因として考えられます。GameProg.exe または読み込まれた DLL にバグがあります。
あるいは、GameProg.exe がフォーカスを持っているときに、ユーザーが F12 キーを押したことが原因として考えられます。
可能であれば、出力ウィンドウに詳細な診断情報が表示されます。
現在の場所のソース コードを表示できません。
こちらもDXライブラリ側のバグでしょうか?
一応プログラムをアップ致しました。(モデルを大量に使用しているため容量が大きくなっており申し訳ありません)
ttp://qq1q.biz/kXd3(プログラム)
pass:oto
ttp://qq1q.biz/kXd5(バグ現象)
お忙しい中度々申し訳ありませんがどうかよろしくお願い致します。
|
Re: DXライブラリの物理演算について ( No.5 ) |
- 名前:管理人 日時:2015/05/14 04:38
|
Re: DXライブラリの物理演算について ( No.6 ) |
- 名前:north 日時:2015/05/14 15:59
早速の修正ありがとうございます。
PlayMusicの方のバグは修正を確認いたしました。
もう一つのバグですが下記にプログラムをアップいたしました
ttp://xfs.jp/CIz5Nn
パスワード:test
お忙しい中度々申し訳ありませんがどうかよろしくお願い致します。
|
Re: DXライブラリの物理演算について ( No.7 ) |
- 名前:管理人 日時:2015/05/16 23:29
プログラムのアップありがとうございます
もう一つのバグを確認できました
こちらはDXライブラリのバグというわけではなく、モデルに付いている物理の物体に対して
踊りの動きが激しすぎる為に計算精度が足りず物理が破綻してしまっているのが原因です
こちらは計算精度を上げることで破綻しないようにすることができますので、
とりあえずこちらの計算精度を設定する機能を追加したバージョンをダウンロードしてください m(_ _)m
https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用
https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用
https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用
https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用
https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用
https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』を、VCをお使いの場合は『リビルド』を、
Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
// ビューアー
https://dxlib.xsrv.jp/temp/DxLibModelViewerTest.zip
アップしていただいたプログラムではビューアー( DxLibModelViewer.exe )で読み込んで保存された
Haruna_NoWepon.mv1 を使用されていますが、こちらには既に破綻した物理のアニメーション情報しかないので、
新しいビューアーで物理の計算精度を上げた Haruna_NoWepon.mv1 を作り直す必要があります
なので、ビューアーに物理の計算精度を設定するための項目を追加しました
ビューアーのメニューの「読み込みオプション」の中の「PMD読み込み時の物理演算のFPS」という項目がそれです
Haruna_NoWepon.mv1 を再度作成するためにはビューアーで Haruna_NoWepon.pmx を読み込むわけですが、
Haruna_NoWepon.pmx を読み込む前に「PMD読み込み時に物理演算を適用する」にチェックを入れ( 初期状態で付いています )
更に新たに追加した項目である「PMD読み込み時の物理演算のFPS」の設定を初期状態の「60」から「120」( 又は「240」 )に変更します
その上で Haruna_NoWepon.pmx をビューアーで読み込み、「名前を付けて保存」で Haruna_NoWepon.mv1 として保存してください
新たに作られた Haruna_NoWepon.mv1 を実際のプログラムで使用すれば踊りの途中で物理が破綻しなくなると思いますが、
もし破綻してしまったら「PMD読み込み時の物理演算のFPS」の数値を更に上げて Haruna_NoWepon.mv1 を作成しなおしてください
あと、ビューアーでの 「PMD読み込み時の物理演算のFPS」の設定に相当するDXライブラリの関数は以下の関数です
( アップしていただいたプログラムでは mv1 ファイルを使用していますのでこの関数は使用しませんが、一応ご紹介・・・ )
// 読み込むモデルの物理演算モードが事前計算( DX_LOADMODEL_PHYSICS_LOADCALC )だった場合に
// 適用される物理演算の時間進行の精度を設定する
// Precision : 計算精度( 0( デフォルト ):60FPS 1:120FPS 2:240FPS 3:480FPS 4:960FPS 5:1920FPS )
int MV1SetLoadModelPhysicsCalcPrecision( int Precision ) ;
使用する場合は MV1LoadModel で pmdファイルや pmdファイルを読み込む前に MV1SetLoadModelPhysicsCalcPrecision を実行しておきます
|
Re: DXライブラリの物理演算について ( No.8 ) |
- 名前:north(解決) 日時:2015/05/17 01:19
お忙しい中ありがとうございます。
無事に修正されたのを確認いたしました。
いつも丁寧な解説をしてくださり本当にありがとうございます。
また、前回修正版を頂いた時に同時にDXライブラリ更新時から発生していたRlease時のみ発生するバグも直っていたのでこちらもPlayMusicのバグが原因だったみたいです。
重ねてお礼を申し上げます。
またわからないことがありました際はどうかよろしくお願い致します。
|