トップページ > 記事閲覧
DXライブラリの物理演算について
名前:north 日時: 2015/05/11 05:26

連続の質問となってしまい申し訳ありません。 現在使用しているモデルのモーションなのですが、 DXライブラリに付属しているモデルビュアーで モーションを再生すると物理演算が働いているせいかスカートや髪の毛がモーションに合わせて揺れたりするのですが これをプログラムで再生した時も同じような挙動にするためにはどうしたらよいでしょうか? テスト用に作成したプログラムを念のためにアップいたしました。(使用モデルも含まれています。) ttp://xfs.jp/T5TEZU パスワード:test お忙しい中申し訳ありませんが教えていただけたらと思います。
メンテ

Page: 1 |

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

すみません、思えば前回のときは原因を調べるために最新版のDXライブラリでコンパイルし直していたのでした 改めて確認してみると・・・確かに揺れていませんね・・・ 原因はわかりませんが、northさんがアップされたパッケージに付属していたDXライブラリの バージョンは 3.11f と少し古く、少なくとも最新版では揺れていましたので、よろしければこちらの 暫定の最新版でお試しになってみてください 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)」をして下さい)
メンテ
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

> しかし一つ画像のようなバグが発生しておりこれはDXライブラリ側の問題でしょうか? DXライブラリの原因である場合もDXライブラリを使用しているプログラムの原因である場合もありますので、 DXライブラリの問題かはソースを拝見してみないとわかりません・・・ よろしければこちらの現象が発生した際のパッケージを頂けないでしょうか? > また、暫定最新版のDXライブラリをこのモデルを使用しているゲームに適用したところ > 下記のようなメッセージのバグが発生するようになってしまいました。 すみません、PlayMusic のプログラムにバグがありました 修正版をアップしましたので、よろしければお試しください 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)」をして下さい)
メンテ
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のバグが原因だったみたいです。 重ねてお礼を申し上げます。 またわからないことがありました際はどうかよろしくお願い致します。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存