トップページ > 記事閲覧
vmdの物理演算について
名前:meca 日時: 2018/10/07 06:05

こんにちは。 DXライブラリを長い間愛用させて頂いております 早速ですが、2点不明な点があるので質問させていただきます。 vmdの物理演算のボーンフレームを部分的にOFFにしたのですが、(スカート等の貫通防止) mmdではOFFにできているのにdxライブラリで読み込むと適応されず物理演算が動くのですが、仕様でしょうか? あともう一点ですが、 // 読み込むモデルの物理演算モードが事前計算( DX_LOADMODEL_PHYSICS_LOADCALC )だった場合に適用される重力の設定をする MV1SetLoadCalcPhysicsWorldGravity(int GravityNo, VECTOR Gravity ); これの第一引数のGravityNoとは何を指すデータなのでしょうか? 大変恐縮ですがご回答お待ちしております。
メンテ

Page: 1 | 2 |

Re: vmdの物理演算について ( No.7 )
名前:MSK 日時:2018/10/13 13:14

(また)気が引けますが、先にコメントさせていただきます。 コメントNo.5での問題は解消しました。ご対応ありがとうございました。 【2018/10/13 13:11修正】 DxLib自体の再コンパイルができない、と書いていましたが、外部ライブラリを(2014年時点で書かれていないOpusも)集めてきて ビルドし直したら、エラーなくビルド・実行が出来ましたので、内容を修正させていただきました。
メンテ
Re: vmdの物理演算について ( No.8 )
名前:meca 日時:2018/10/17 02:00

お礼が遅れました 修正して頂きありがとうございました! あとModelViewerの方で気になる点がありました現在、 //MV1SetLoadCalcPhysicsWorldGravity(int GravityNo, VECTOR Gravity ); こちらを使用してMSK様が教えて頂いた通り、vmdファイル名をG0、G1〜として、モーションによって重力設定を振り分けているのですが、 ModelViewerでmv1に変換したらその設定が適応されなかったので、 ModelViewerでアニメーションごとに重力を設定できる機能、 またはGravityNoを設定できる機能 を付けて頂く事はできますでしょうか?
メンテ
Re: vmdの物理演算について ( No.9 )
名前:管理人 日時:2018/10/17 02:30

> ModelViewerでアニメーションごとに重力を設定できる機能、 > またはGravityNoを設定できる機能 >  > を付けて頂く事はできますでしょうか? 実装するとしたら MV1SetLoadCalcPhysicsWorldGravity の設定を DxLibModelViewer上で行えるようにする、という形になると思います 次の週末に実装してみますので、少々お時間をください m(_ _)m ( 因みにモーション毎に重力設定を分けられるのは pmd, pmx を DX_LOADMODEL_PHYSICS_LOADCALC モードで 読み込んだ場合限定の機能となりますので、仮に G番号毎の重力を設定できるようにしたとしても、その効果があるのは DxLibModelViewer の『読み込みオプション』→『PMD読み込み時に物理演算を適用する』にチェックをつけた状態で pmd, pmx + vmdファイルを読み込んだ場合限定となります )
メンテ
Re: vmdの物理演算について ( No.10 )
名前:MSK 日時:2018/10/17 20:27

管理人様 mecaさんのご要望にあわせて、追加でお願いしたいことがあります。 @本スレッドのNo.1に書いた件をご確認いただけますでしょうか?  G+2桁以上では正常な番号にならない? G12と指定しても2*1+1*1=3になる? A dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=view&no=4524 のNo.1の件  UTF-8にセットするとだとまだPMD+VMDでは落ちます (MV1やPMX+VMDはOK) Bこれはいつかご検討いただければ、という件なのですが、せっかくなので書かさせていただきます。  DxLib Model Viewerで、アニメーションの再生カウントのスライダーが短いので、おおざっぱな  位置しか動かせず、コマ送り的な確認がしづらいと思います。例えば、ウィンドウの下側に  持って行って長くするか、またはなにかのキーで再生カウントを前後に動かせるとかが  あればいいなと思います。  また、再生・停止ボタンがありますが、1つでよいのでは?(再生してすぐ停止、が困難)
メンテ
Re: vmdの物理演算について ( No.11 )
名前:管理人 日時:2018/10/18 02:03

> @本スレッドのNo.1に書いた件をご確認いただけますでしょうか? >  G+2桁以上では正常な番号にならない? G12と指定しても2*1+1*1=3になる? すみません、ご指摘の通り2桁以上では正常に処理されないバグがありました… 修正版をアップしましたので、よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.2 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM.zip // Android版 ARM用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM64.zip // Android版 ARM64用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x86.zip // Android版 x86用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x64.zip // Android版 x64用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい) // ビューアー https://dxlib.xsrv.jp/temp/DxLibModelViewerTest.zip > A dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=view&no=4524 のNo.1の件 >  UTF-8にセットするとだとまだPMD+VMDでは落ちます (MV1やPMX+VMDはOK) 上記バージョンでこちらのバグも修正してあります、よろしければご確認ください m(_ _)m > Bこれはいつかご検討いただければ、という件なのですが、せっかくなので書かさせていただきます。 >  DxLib Model Viewerで、アニメーションの再生カウントのスライダーが短いので、おおざっぱな >  位置しか動かせず、コマ送り的な確認がしづらいと思います。例えば、ウィンドウの下側に >  持って行って長くするか、またはなにかのキーで再生カウントを前後に動かせるとかが >  あればいいなと思います。 >  また、再生・停止ボタンがありますが、1つでよいのでは?(再生してすぐ停止、が困難) DxLibModelViewer は再生速度の指定が FPS ではないので何を以って『1コマ』とするかが難しいところです… スライダーを長くするのは何かできないか考えてみたいと思います ( 因みに画面左側の操作項目と右側を隔てる白い縦線を掴んで右側に移動させることで現状でもスライダーを長くすることは可能です ) 再生・停止ボタンの件は了解しました、ボタンひとつで済むようにしてみたいと思います m(_ _)m
メンテ
Re: vmdの物理演算について ( No.12 )
名前:meca 日時:2018/10/18 02:34

度々すみません。 こちらは無くても問題無いですがあったら便利だなと思った機能を書き込ませて頂きましたので、アドバイスと思って読んで頂けたらと思います。 @ 新しいモデルを新規で読み込む際にModelViewerを閉じてからまた起動する必要がありますので、 ModelViewerのメニューバーの「ファイル(F)」の中に「閉じる」の項目の追加 A pmxやpmdモデルを操作する時、透明モーフに関連する(照れ顔の頬など)マテリアルの設定を変更する時 非透明になり、常に表示されるようになる B 先ほどのAで思った事ですが操作内容の「戻る(Ctrl+Z)」、「進む(Ctrl+Y)」機能があったら便利だなと思いました
メンテ
Re: vmdの物理演算について ( No.13 )
名前:MSK 日時:2018/10/18 20:23

No.10での@Aに関して確認いたしました。ご対応ありがとうございました。 > DxLibModelViewer は再生速度の指定が FPS ではないので何を以って『1コマ』とするかが難しいところです… 個人的な提案なのですが、「再生速度の1/30」ではどうでしょうか? 最近ではPMD/PMX+VMDがほとんどでしょうから(※根拠なし)、1秒30コマの時間軸、最小単位1で十分かと思います。 とはいえ、Direct3D RMの.x、たとえばTiny.xのように、再生速度を4000くらいにしなければならないデータも まだまだあると思いますが、再生速度の1/30になっていればコマ送り用途としてはなんとなくよさそうな?気がします。
メンテ
Re: vmdの物理演算について ( No.14 )
名前:管理人 日時:2018/10/19 01:11

> mecaさん > @ > 新しいモデルを新規で読み込む際にModelViewerを閉じてからまた起動する必要がありますので、 > ModelViewerのメニューバーの「ファイル(F)」の中に「閉じる」の項目の追加 新しいモデルを新規で読み込む際は、そのまま新しいファイルをウィンドウにドラッグ&ドロップするか、 メニューの『開く』でファイルを開くことができますので、『閉じる』は必要ないと考えているのですが この認識に何か見落としがありますでしょうか… > A > pmxやpmdモデルを操作する時、透明モーフに関連する(照れ顔の頬など)マテリアルの設定を変更する時 > 非透明になり、常に表示されるようになる すみません、こちらの現象はどのような操作をすると確認できますでしょうか? 少し『照れ顔の頬』などの設定を変更した限りでは、常に表示されるようになるという現象は確認できませんでした… > B > 先ほどのAで思った事ですが操作内容の「戻る(Ctrl+Z)」、「進む(Ctrl+Y)」機能があったら便利だなと思いました 「戻る(Ctrl+Z)」、「進む(Ctrl+Y)」の機能は非常に便利ですが、須らくバグの巣窟になるので 対応するための作業量とメンテナンスの手間を考えると実装は難しいです、すみません (_ _; > MSKさん > 個人的な提案なのですが、「再生速度の1/30」ではどうでしょうか? > 最近ではPMD/PMX+VMDがほとんどでしょうから(※根拠なし)、1秒30コマの時間軸、最小単位1で十分かと思います。 > とはいえ、Direct3D RMの.x、たとえばTiny.xのように、再生速度を4000くらいにしなければならないデータも > まだまだあると思いますが、再生速度の1/30になっていればコマ送り用途としてはなんとなくよさそうな?気がします。 ご提案ありがとうございます MMD は30FPSですが、一般的な3Dゲームは 60FPS以上を想定して作成されているので 1/30のボタンだけだと 役不足かもしれません なので、1/60 のボタンも合わせて設置しようと思います ( ただ、次の週末に用事の予定が入ってしまったので、実装完了は来週以降となるかもしれません… (_ _; )
メンテ
Re: vmdの物理演算について ( No.15 )
名前:meca 日時:2018/10/20 22:04

@>確かにそうでしたm(__)m B>やはり簡単にできるものではないですよね(汗 A>DropBoxにて現象が確認できるモデルを用意いたしましたので宜しければご確認ください。 こちらはpmx特有の透明モーフを使用したマテリアルNo22〜25の汗、涙などに何かしらの設定を変更すると現象が確認できるかと思います。 なお、私の方では拡散光>マテリアル情報>色相 のゲージを動かすと確認できました。なお、設定を戻しても元に戻りません。 >DropBox w_w_w.dropbox.com/sh/p5bopcg1i33o0xa/AACFVMuVaW-8HqKbLvuwGFIia?dl=0
メンテ
Re: vmdの物理演算について ( No.16 )
名前:管理人 日時:2018/10/21 00:38

> こちらはpmx特有の透明モーフを使用したマテリアルNo22〜25の汗、涙などに何かしらの設定を変更すると現象が確認できるかと思います。 > なお、私の方では拡散光>マテリアル情報>色相 のゲージを動かすと確認できました。なお、設定を戻しても元に戻りません。 ファイルのご提供ありがとうございます、アップしていただいた3Dモデルで現象を確認できました まだはっきりとは確認できていませんが、恐らく現在の DxLibModelViewer はマテリアルのアルファ値を厳格には管理しておらず 色相のゲージなどを変更された際は必ずアルファ値が 255 になってしまっているのが原因だと思います アルファ値を操作するゲージの追加もその他の改良と一緒にしようと思いますので少々お待ちください ただ、ビューアーの改良はれあさんの『DrawLineに太さを指定したときのドローコール』の対応の後となりますので、 作業できるのは次の週末となる可能性が高いかもしれません 申し訳ありませんが今しばらくお待ちください m(_ _;m
メンテ
Re: vmdの物理演算について ( No.17 )
名前:meca 日時:2018/10/22 21:18

ありがとうございます。 私事ではございますが何とかmv1への変換は完了しておりますので 慌てず他の皆様のバグを優先して頂けたらと思います。 対応ありがとうございましたm(__)m
メンテ
Re: vmdの物理演算について ( No.18 )
名前:管理人 日時:2018/10/23 00:12

> mecaさん、MSKさん お待たせしました、諸々の機能追加をしたビューアーをアップしましたので、よろしければダウンロードしてください m(_ _)m // ビューアー https://dxlib.xsrv.jp/temp/DxLibModelViewerTest.zip こちらのビューアーでは以下の変更を行いました ・読み込み時の物理演算の重力を設定する機能の追加   メニューの『読み込みオプション』→『PMD/PMX読み込み時の重力の設定』の項目を追加しました   デフォルトの重力値と、G0 から G24 までの個別の重力値を設定できます ・アニメーションの『再生・停止』ボタンの統合 ・アニメーションのコマ送り機能の追加   1/60secのコマ送り、1/30secのコマ送りのボタン追加の他、『アニメーション』タブを選択している   間はキーボードの左右キーでアニメーションの再生位置をコマ送りできるようにしました ・アニメーションの再生位置の特定FPSの倍数位置に固定する機能の追加   メニューの『アニメーション設定』→『アニメーション再生位置を指定のフレームレートの倍数に固定する』の項目を追加しました   この項目には子項目として『固定しない(デフォルト)』『30』『60』があり、『30』や『60』に設定すると   再生カウントのスライダーを動かした際に1コマ時間の倍数以外にはならないようになります   また、『表示』→『FPS』の値を『アニメーション再生位置を指定のフレームレートの倍数に固定する』の値と同じにすると   アニメーションを再生した際も再生カウントがフレームレートの倍数以外の値にはならないようになります   ( 例えば、通常の再生では再生カウントが 1.00666 や 10.8699 のような、実処理時間に合わせて微妙な    小数点以下の値が含まれるカウント値になっていたものが、1.0 や 10.0 のような、きっちりした値になります ) よろしければお試しください m(_ _)m
メンテ
Re: vmdの物理演算について ( No.19 )
名前:MSK 日時:2018/10/23 19:13

確認いたしました。カーソルキーでの前後フレーム移動はかなり欲しかった機能なので これで動作確認の効率が格段に向上します。ご対応ありがとうございました。m(_ _)m
メンテ
Re: vmdの物理演算について ( No.20 )
名前:meca 日時:2018/10/28 01:06

確認致しました 対応ありがとうございました!
メンテ
Re: vmdの物理演算について ( No.21 )
名前:MSK 日時:2018/10/28 19:29

この件には直接関係しないのですが、色んな3Dデータの確認中に気付いたので念のため報告させていただきます。  普通に読めるFBXファイル  ↓  メタセコイア4EXでFBXを読み、そのままFBXとして単に保存するだけ (例:2014Ver.)  ↓  そのFBXをDxLibで読むと失敗する という症状が起きます。 DxModelRead.cppやDxModel.cppなどで、Frame->PositionNum、Frame->ShapeNum、Mesh->FaceNumなどをもとに DXALLOCやADDMEMAREAで領域確保する際、これらの変数が 0 のものがあるため失敗、という結果です。 (法線のメモリの確保に失敗、など) メタセコイアで作成されるデータが正しいのかどうかはわかりませんが、「上記の変数が0ではない前提」に なっているので、ご確認いただければと思います。 とはいえ、修正となると箇所が相当あると思われますし、作成されたデータの方がおかしいのかどうかすら わからないので「修正をお願いします」とは言えませんので、念のため報告だけさせていただきます。 ※ FBXの例は mizu-cha.sakura.ne.jp/husakiti/index.html にある m1.zip の中の ※ Hutyakiti_hatON_lowVer.fbx などです。(他のサイトのFBXでも同様)
メンテ
Re: vmdの物理演算について ( No.22 )
名前:管理人 日時:2018/10/28 22:27

ご情報ありがとうございます 早速確認しようと思ったのですが、メタセコイア4EXの値段が少々高めなのと、 『ライセンス発行は入金確認後1〜5日』と記載されているのを見て少し躊躇してしまいました… 申し訳ないのですが、よろしければ件のエラーが発生してしまうメタセコイア4EXで保存した fbxファイルをメールでこちらのアドレス BQE00322(あっとまーく)nifty.com ( (あっとまーく)を@に置き換えてください ) に送っていただけないでしょうか? m(_ _;m
メンテ
Re: vmdの物理演算について ( No.23 )
名前:管理人 日時:2018/10/30 00:27

メールありがとうございます 添付していただいたファイルで手元の環境でも現象を確認できました メタセコイアで保存したFBXファイルでも正常に読み込めるように修正したビューアーをアップしましたので、 よろしければお試しください m(_ _)m // ビューアー https://dxlib.xsrv.jp/temp/DxLibModelViewerTest.zip
メンテ
Re: vmdの物理演算について ( No.24 )
名前:MSK 日時:2018/10/30 19:57

読み込めるのを確認しました。ご対応ありがとうございました。 ※TEMP版ライブラリ一式の方も、また何かの機会にUPしていただけますと助かります。  (#define DX_LOAD_FBX_MODEL と FBX SDK で使用しております)
メンテ
Re: vmdの物理演算について ( No.25 )
名前:管理人 日時:2018/11/01 01:55

> ※TEMP版ライブラリ一式の方も、また何かの機会にUPしていただけますと助かります。 >  (#define DX_LOAD_FBX_MODEL と FBX SDK で使用しております) こちらにアップしましたので、よろしければダウンロードしてください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.2 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM.zip // Android版 ARM用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM64.zip // Android版 ARM64用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x86.zip // Android版 x86用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x64.zip // Android版 x64用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: vmdの物理演算について ( No.26 )
名前:MSK(解決) 日時:2018/11/01 19:55

ありがとうございます。確認いたしました。 mecaさんに変わりましてクローズさせていただきます。
メンテ

Page: 1 | 2 |

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

   クッキー保存