Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+α ( No.1 ) |
- 名前:名無三 日時:2024/04/19 17:25
すいません追加で別件を…
3DモデルをMV1DeleteModelのち再度MV1DuplicateModelした際にコリジョンが取れない場合があります…
以下プロジェクトにおいて、照準器を選択し使用する際にレティクルがレンズの中に表示されているかを取得するためコリジョンを取っています。
GetCameraPosition()とレティクルを表示する場所との間でMV1CollCheck_Lineを取り、当たった場合は表示するという方式です。
照準器を初めてアタッチした際はレティクルが表示されるのですが、デタッチしてから再度アタッチすると判定が取れなくなってしまいます。
アタッチする際には
MV1DuplicateModel
MV1SetupCollInfo(xyzそれぞれ分割無し)
デタッチする際には
MV1TerminateCollInfo(念のため)
MV1DeleteModel
を行っています。
自分のミスもありそうではあるのですが、判定が取れる方法はありますでしょうか?
プロジェクトです。上記の内容は「g_parts」クラスのobjに対し行っており、照準器は
data\parts\sight\00_Eotech_XPS3_HoloSight
data\parts\sight\01_AIMPOINT_T1_DotSight
にあります
github.com/FPS_n2.git
DXLib_refその他入りのものです
drive.google.com/file/d/1bAIWQESle2xw3k6QWBMkgklsgoucsAe0/view?usp=sharing
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.2 ) |
- 名前:管理人 日時:2021/05/09 02:02
> ラグドールを実装しようとPMXを弄っていたのですが、どうやらMMDでは剛体に指定されていないフレームのメッシュも剛体持ちに追従するようです。
> もしよろしければDXライブラリでも同じようにできますでしょうか?
ご要望が漠然とされていてどうお答えすれば良いのか… (・・;
具体的には何をしたときにどのような挙動になれば名無三さんのご要望通りとなるのでしょうか?
> github.com/yabushita0312/FPS_n2.git
> DXLib_refその他入りのものです
> drive.google.com/file/d/1bAIWQESle2xw3k6QWBMkgklsgoucsAe0/view?usp=sharing
手元で現象を確認できれば原因究明が早いと思い、実行してみたのですが、真っ暗な画面が
数秒表示された後、例外が発生して強制終了してしまいました
申し訳ありませんが名無三さんの環境では正常に画面が表示されるかご確認いただけますでしょうか? m(_ _;m
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.3 ) |
- 名前:名無三 日時:2021/05/09 03:19
申し訳ございません、言葉足らずでした。
以下に 想定しているMMDでの実行結果と現状を示した動画 及び こちらで正常に稼働しているプロジェクト を添付しております。
drive.google.com/file/d/1KCQRxYpUo0Ez71sNDod2WcNH9zc5EkkI/view?usp=sharing
まず剛体に関しまして
現在剛体を設定していないフレームのメッシュに関してはそのまま残りっぱなしになっています。こちらを剛体付きフレームに追従してほしく存じます
動作に関しまして
申し訳ありません、正常に動作しているプロジェクトを再度送付します。
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.4 ) |
- 名前:管理人 日時:2021/05/12 01:05
> 以下に 想定しているMMDでの実行結果と現状を示した動画 及び こちらで正常に稼働しているプロジェクト を添付しております。
拝見しました
DXライブラリの方ではポリゴンが伸びてしまっていますが、こちらはアニメーションでしょうか?
単体で拝見してみたいと思いますので、モデルファイルとアニメーションファイルがそれぞれどこにあるか
教えていただけないでしょうか? m(_ _)m
あと、今月は運悪く忙しくなる状況が重なり10年に1度レベルの忙しさで纏まった作業時間が全然確保できそうにないので、
対応は来月以降になるかもしれません… (_ _;;
( まず対応できるかどうかも現段階では不明ですが… )
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.5 ) |
- 名前:名無三 日時:2021/05/12 09:20
お忙しい中すいません…プロジェクトの方では
Data/model/body_lag
の中にございます。
アニメーションのリアルタイム演算をオンにした状態です。MV1modelviewerにてアニメーションを再生した際にも同じ現象が起こります。
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.6 ) |
- 名前:管理人 日時:2021/05/13 02:04
> お忙しい中すいません…プロジェクトの方では
>
> Data/model/body_lag
>
> の中にございます。
ありがとうございます、手元でも確認できました
ただ、やはり纏まった時間がないと検証もままならないので、申し訳ありませんが
やはり対応は来月となりそうです m(_ _;m
( DXライブラリは PMXファイルについては PMDファイル相当の機能を使用したファイルのみ
正常に読み込めるのですが、まず『剛体に指定されていないフレームのメッシュも剛体持ちに追従する』
機能が、PMX由来のものなのか確認するだけで丸一日くらい時間を要しそうなので…
( 自分が実装したプログラムの構造を思い出す等も含め… ) )
> 以下に 想定しているMMDでの実行結果と現状を示した動画 及び こちらで正常に稼働しているプロジェクト を添付しております。
やはり実行すると真っ黒の画面が表示されるだけでした
ご使用されている DXライブラリ + Effekseer も含めてアップして頂いた方が良いかもしれません…
( 私の側で用意するファイルが原因で正常に表示されていない可能性があるので… )
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.7 ) |
- 名前:名無三 日時:2021/05/13 07:40
やはり実行すると真っ黒の画面が表示されるだけでした
->マジですか…エフェクシアが古いのと最近20%ぐらいの確率で起動時にnvwgf2umx.dllのエラーが出るようになってしまったのでそれかもしれません
全部込みです
drive.google.com/file/d/1mGeNqHxkHbjhC6nJX4MOBUm3-ODD_SCC/view?usp=sharing
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.8 ) |
- 名前:管理人 日時:2021/05/14 02:10
> 全部込みです
少し変化がありました
真っ黒の画面が数秒続いた後、画面全体が灰色になり、以降そのままとなります
原因が謎ですね…
お使いの VisualStudio のバージョンは幾つでしょうか?
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.9 ) |
- 名前:名無三 日時:2021/05/14 05:41
visualstudio2017のver15.9.04012.0となります…なにゆえ…
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.10 ) |
- 名前:名無三 日時:2021/05/15 00:47
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.11 ) |
- 名前:管理人 日時:2021/05/15 01:56
> 配布時に想定している形式です、こちらでは動作するでしょうか?
残念ながら手元でビルドして実行した場合と同じく、黒画面の後、灰色画面がずっと続く状態でした
( あと、前回申し上げ忘れていましたが画面左上にデバッグ用の負荷表示と思われる表示はされています )
> また、ラグドール対象モデルをPMDに書き出したところPMXと同じ挙動を示しました。参考までに…
なるほど! PMDファイルで保存してそれを読み込み、同様の挙動をすれば PMX由来の機能ではないと判断できるわけですね…!
手元でも PMDファイルで MikuMikuDance で読み込んで、ラグドール的挙動をすることを確認しました
> 追加:
>
> DXLIB_ref小改造
こちらも今回の配布形式と同じく、黒画面→灰色画面 でした…
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.12 ) |
- 名前:名無三 日時:2021/05/15 07:03
黒画面はロード画面ですか?(下部に緑のプログレスバーみたいなものが出ます)
どの画面でもデバッグ画面は停止していますでしょうか?
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.13 ) |
- 名前:管理人 日時:2021/05/17 01:44
> 黒画面はロード画面ですか?(下部に緑のプログレスバーみたいなものが出ます)
画面下に緑のプログレスバーは表示されていませんでした
> どの画面でもデバッグ画面は停止していますでしょうか?
画面左上のデバッグ表示は動いています
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.14 ) |
- 名前:名無三 日時:2021/05/17 09:19
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.15 ) |
- 名前:管理人 日時:2021/05/20 03:19
ご返信が遅くなり申し訳ありません
> ・1920x1080でないディスプレイ(4Kなど)を使う
> ・DPIスケールが100%より上
確かに4Kモニタで 3840x2160 の解像度にしていて、DPIスケールは200%となっています
> DPIに対して対応を行うようにしました。ディスプレイが1920x1080でない場合に関しては、すいませんが解像度をそちらに合わせて実行願えますでしょうか?
『そちらに合わせる』というのは、デスクトップの解像度を 1920x1080 にして上で実行する、ということでしょうか?
ただ、アップして頂いた実行ファイルを確認する時間も確保できない状態と
なってしまいましたので、5月24日以降に確認の上、ご返信します
更にお待たせすることになり申し訳ありません m(_ _;m
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について ( No.16 ) |
- 名前:名無三 日時:2021/05/20 09:34
そちらに合わせる〜
->はい、dxlib_refで規定しているdisp_x_realとdisp_y_realをフルHDで固定していまして…フルHD以下の環境では試していたのですが当方に4Kモニターがなく対応漏れでした。
解像度を1920×1080、もし可能でしたらDPIスケーリングも100%にしてお試しください。
お忙しい中大変申し訳ありません、ゆっくりお待ちしてます。
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について+α ( No.17 ) |
- 名前:名無三 日時:2021/05/20 12:49
すいません追加で…
遮蔽物の裏のものを描画しないというオクルージョンカリングをcolcheck系を使わずに行いたいです。
convScreenPosToWorldPosのような形で、指定したスクリーン座標のZbufferの値を取りたいと思います。
(おそらくconvWorldPosToScreenPosのZ戻り値との比較をすれば隠れるか否かは取れるかと思うので)
もし可能でしたら前述のラグドール、コリジョンの再読み込みに関してののち対応をお願いしたいです。
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について+α ( No.18 ) |
- 名前:管理人 日時:2021/06/04 02:12
ご返信が大変遅くなり申し訳ありません
> ->はい、dxlib_refで規定しているdisp_x_realとdisp_y_realをフルHDで固定していまして…フルHD以下の環境では試していたのですが当方に4Kモニターがなく対応漏れでした。
> 解像度を1920×1080、もし可能でしたらDPIスケーリングも100%にしてお試しください。
了解です、解像度を 1920x1080 にしたところ、正常に進行することができました
( 灰色の画面だと思っていたものは武器選択画面でした )
まずは作業負荷が軽めの
『3DモデルをMV1DeleteModelのち再度MV1DuplicateModelした際にコリジョンが取れない場合があります…』
こちらを対応しようと思うのですが、こちらは敵キャラクターに照準を向けた際のお話でしょうか?
もしそうでしたら、申し訳ありませんが敵を動かないようにしていただけないでしょうか?
( 攻撃してくる敵に対してレティクルが表示されるかどうか見て原因を調べるのは難しいので… )
> convScreenPosToWorldPosのような形で、指定したスクリーン座標のZbufferの値を取りたいと思います。
> (おそらくconvWorldPosToScreenPosのZ戻り値との比較をすれば隠れるか否かは取れるかと思うので)
残念ですがそれはちょっと難しいです
Zバッファの内容をCPUがアクセスできるシステムメモリに持ってくるのは非常に重い処理なので、
フレームレートが著しく下がってしまうと思います( 仮にフレームレートが下がらなかったとしても、
非常に処理負荷の高い処理となってしまいます( 費用対効果が著しく悪いです ) )
# < 他スレッドの方へ >
# 現在作業時間が非常に少なくなっています
# 投稿の順番でご返信しますので今暫くお待ち下さい m(_ _)m
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について+α ( No.19 ) |
- 名前:名無三 日時:2021/06/04 06:17
お引越しお疲れ様です、多忙な中の返信ありがとうございます。
>解像度を 1920x1080 にしたところ~
ひと手間増やしてしまいすいません、動作の確認ができて胸をなでおろしました。
>コリジョンが取れない場合
こちらはカスタムで取り付けられるドットサイトのレンズ部分が持つコリジョンについてになります。
レンズのコリジョンにレティクルを置く座標とカメラ座標との線分が当たっているか調べ、当たっている場合にはレティクルを描画する、というものです。
現象が発生するのは
・カスタム画面(spaceを1度押した際に出る銃を中心に映した画面)にてサイトを外してつけてから出撃
UPERHANDGUARD、DUSTCOVERなど上にギザギザのレールがあるパーツをWSキーで選択(取り付け)してからDキーでSIGHTのパーツ選択に移ることでサイトの取り付けができます。
・戦闘画面から武器選択画面に戻ったのち再度出撃
です。
カスタムデータを添付しておきます、data/save/1.datを上書きしてください(バイナリファイルなのでセキュリティに引っかかったらすいません)
https://drive.google.com/file/d/17UAiEhTEMzj-eyqVfnXdRg9pwukmwqJc/view?usp=sharing
>指定したスクリーン座標のZbufferの値~
思いついた際にはいいなと思ってしまっていたのですが、描画の根幹を知らないが故の発想でしたね…承知しました。
|
Re: PMXの物理演算で剛体指定されていないフレームのメッシュについて+再度読み込んだ時の当たり判定について+α ( No.20 ) |
- 名前:管理人 日時:2021/06/13 23:49
ご返信が大変遅くなり申し訳ありません
すみません、頂いた 1.dat を使用して、最初の画面でスペースキーを押した所、
scene.hpp の 466行目の以下の箇所の中でクラッシュしてしまって現象を確認するところまで進めませんでした
mine_ptr->add_parts(temp_p, tmp_save.type_, temp_ptr, tmp_save.pt_cat_);
デバッグ画面を見る限りでは temp_ptr が NULL なのが原因のような気がします
5/15に頂いたデータなので、その後更にデータの更新があり、名無三さんの環境で作成された
1.dat では正常に動作しない状態になっているのかもしれません
何度も申し訳ありませんが、最新のデータを頂ければと思います m(_ _)m
あと、できれば 3840x2160 の DPI 200% の画面に対応して頂けないでしょうか?
1920x1080 DPI 100% に変更するとレイアウトが崩れてしまい、その都度直すのが
若干の作業になってしまっているので… (・・;
# < 他スレッドの方へ >
# 現在作業時間が非常に少なくなっています
# 投稿の順番でご返信しますので今暫くお待ち下さい m(_ _)m
|