hgimg3でXモデルを表示する際のポリゴン欠け
ZAP 2013/5/11(Sat) 10:59:41|NO.53950
hgimg3でXモデルを表示するとき、角度や表示サイズによっては
ポリゴンが近距離で重なっている部分が正常に表示されない
(前面のポリゴンが欠けて背後のポリゴンが表示される)のですが
回避する方法はあるのでしょうか?
Xモデル側で、表示されないポリゴンは極力削るとかで工夫するしかないのでしょうか?
それともグラフィックボードの性能に左右されるのでしょうか。
hgimg3でXモデルを扱う際のノウハウってネットでもあまり見かけないですよね。
ZAP 2013/5/11(Sat) 11:59:36|NO.53952
ちなみにXファイルはメタセコイアで作成。
テクスチャも貼っています。モーションデータはありません。
出力時のオプションでは法線、UVマッピング、頂点カラーのチェックはすべて入れています。
モデル側に問題がある可能性もありですね。
そうなるとhgimg3の話ではなくなりますが・・・
f(現場前) 2013/5/11(Sat) 13:55:15|NO.53954
全体のスケールを大きくすると直る事がある。
絶対かどうかしらんんけど。
Rosh 2013/5/11(Sat) 14:05:11|NO.53955
恐らく「Zファイティング」でしょうね。
カメラの設定に「ニアクリップ」「ファークリップ」の設定って無いですか?
(もしくはNearとかFarとか名前の付いた設定とか…)
この値を見直してみてください。
この設定はカメラで映す奥行きの範囲の設定であると共に奥行きの判定精度にも影響します。
具体的には「ニアクリップ」〜「ファークリップ」の値の幅が小さいほど精度が高いので
必要最小限の範囲にしておくと「Zファイティング」による表示欠け・荒れが起こりにくくなります。
ZAP 2013/5/11(Sat) 16:07:24|NO.53961
>Roshさん
「Zファイティング」、まさに仰るとおりでした。ありがとうございました。
検索するとわかりやすく解説しているサイトがいくつかあり、概念が理解できました。
カメラの映す範囲が大きいとその分奥行きの判定精度が落ちるのですね。
hgimg3の場合は、setefx命令でカメラオブジェクトのパラメータが設定できるので、
setefx HGOBJ_CAMERA, [FOV] , [NearZ値] , [FarZ値]
上記のNearZ値,FarZ値を必要最低限の範囲にしてやることで表示欠けがなくなりました。
それにしてもこういう、3Dグラフィックスのイロハ的なtipsを知らないと
hgimg3を使いこなすのはなかなかたいへんですね・・・
今まで2D一辺倒だったので、概念そのものに馴染みがないものが多くて。