トップページ > 記事閲覧
最小頂点座標・最大頂点座標の誤り
名前:田中星人 日時: 2014/08/19 01:18

ビューワー、およびライブラリを用いたソフト上で最小頂点座標・最大頂点座標の値が正しく取得されない現象が起きました。 それが起きた3Dモデルを、 [エイチ]ttp://[ダブリューダブリューダブリュー].dotup.org/uploda/[ダブリューダブリューダブリュー].dotup.org5263330.zip.html にアップロードしました。 アップロードしたファイルにはsample1.fbx,sample2.fbxという2つのfbxファイルを入れました。 sample1はテクスチャを添付していませんが、テクスチャの有無にかかわらずこの現象は起きるため、そのまま試してみてください。 それぞれ次のような問題が起きています。 ・sample1.fbxについて  この3Dモデルは縦長の木のモデルです。そのため、最小頂点座標のy成分と最大頂点座標のy成分の差は、X,Z成分に比べて大きくなるはずです。  しかし、このモデルをビュワーで確認すると、Z成分の差が最も大きくなっています。 ・sample2.fbxについて  このモデルは、sample1のモデルの当たり判定用モデルで、モデルのある座標はsample1と同じになっています。そのため、sample1,sample2の中心座標(=最小頂点座標・最大頂点座標の平均)はほぼ等しくなるはずなのですが、大きく異なっています。 私の勘違いだったら申し訳ないのですが、もしよかったら改善していただけるとありがたいです。
メンテ

Page: 1 |

Re: 最小頂点座標・最大頂点座標の誤り ( No.1 )
名前:田中星人 日時:2014/08/19 01:19

すいません。 パスワードを書くのを忘れました。 pass:1567 です。
メンテ
Re: 最小頂点座標・最大頂点座標の誤り ( No.2 )
名前:田中星人 日時:2014/08/19 02:39

[追伸] MV1GetReferenceMeshを使って、すべての頂点を取得して、最小頂点座標・最大頂点座標を自分で求めてみたのですが、それでも前述したような結果になりました。 おそらくですが、MV1GetReferenceMeshによる頂点取得が正常に動作していないことが原因のように思われます。
メンテ
Re: 最小頂点座標・最大頂点座標の誤り ( No.3 )
名前:管理人 日時:2014/08/22 01:17

アップしていただいたファイルを拝見しました 結論から申し上げますと MV1GetReferenceMesh にバグは無く、ビューアーのプログラムにバグがありました ビューアーでの「モデル」タブでの最大・最小頂点座標の値を表示する際に使用する MV1GetReferenceMesh の第3引数 IsTransform を FALSE で呼んでいたのが原因でした ( 頂点座標変換をする前の木のモデルが-Z軸方向に倒れているので、頂点座標変換後の 値と大きく異なることになっていました ) IsTransform を TRUE にすることで正常な値が表示されるようになりましたので、 よろしければお手元のテストで使用した MV1GetReferenceMesh に渡す IsTransform が TRUE になっているかどうかをご確認ください あと、修正版のビューアーをこちらにアップしましたので、 よろしければお使いください m(_ _)m // ビューアー http://homepage2.nifty.com/natupaji/DxLib/DxLibModelViewerTest.zip
メンテ
Re: 最小頂点座標・最大頂点座標の誤り ( No.4 )
名前:田中星人 日時:2014/08/22 13:31

おお、できました! 言われたとおり、IsTransformがfalseになっていました! ビューアーでも同じ現象が起きてたから、恥かしながらてっきり関数のバグなのかと思い込んじゃってました。頂点座標変換ですか……全然知らなかったです。もうちょっと勉強しなおしますm(_ _)m 教えていただき、ありがとうございますm(_ _)m
メンテ

Page: 1 |

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

   クッキー保存