HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
1101
法貴優雅ビルがゆがむ2解決


法貴優雅

リンク

2017/11/1(Wed) 18:36:15|NO.81762

いつもお世話になっています。
宣伝も兼ねてしまいますが、コンテストに出した

日曜ゾンビ3D
http://dev.onionsoft.net/seed/info.ax?id=1501

で、ゲーム内で周囲を見回したとき、ビルが欠ける?ゆがむ?ような
現象が起きています。

これを修正したいのですが、何を行えばよいのかわかりません。
直し方がわかる方がいましたら、教えていただけないでしょうか?

使用しているのはHGIMG3で、ビルはXファイルでできています。



この記事に返信する


3k

リンク

2017/11/1(Wed) 19:15:38|NO.81763

プレイして症状確認してみました。
感想…は本家コンテストページに書くとして。

見た感じ、仰られた現象は揺らぎというより、遠くにあるビル同士の重複部分で、後ろのビルと前のビルの壁が交互に出てきてしまっている感じですね。
そして、近寄るとこの現象が収まることから、デプスの精度が足りてないのが原因だと思われます。

射影のNearを極端に小さく、Farを極端に大きくしていないでしょうか?
特にNearが小さい場合は顕著にこの症状が現れやすくなります。

HSP掲示板ではZファイティングという文言で過去何回か紹介されています。(下記参照)
・hgimg3の3D表示で発生するギザギザについて:http://hsp.tv/play/pforum.php?mode=all&num=80346
・hgimg3でXモデルを表示する際のポリゴン欠け:http://hsp.tv/play/pforum.php?mode=pastwch&num=53950

本質的には3Dで用いる射影行列やデプスを保存するフォーマット(float)の表現方法的に、近距離のデプスは精度が高く遠距離のデプスは精度が低くなってしまうことが原因です。
これは原理的な部分から生じる問題なので本質的な解決が難しく、デプスバッファでのデプスの扱いを変えたりすることでそれなりな解決が出来るのですが、対処が複雑になりがちです。

よくある簡単な解決策としては、上に示したように
 ・まずは可能な限りNearを大きくする(効果大)
 ・次にFarを小さくする
となります。

一応リファレンス的に紹介しておきますが、本格的な対処としてはデプスを反転した上で特殊な射影行列を用いるReversed Inifite Projectionなどがあります。



法貴優雅

リンク

2017/11/1(Wed) 19:58:40|NO.81764

3k様

プレイして、確認して頂きありがとうございます。
Zファイティングという症状だったのですね。

教えていただいた情報を元に、調整を行ったところ
症状がなくなりました。

作品の更新ができるようになりましたら、アップデートで
修正を反映させたいと思います。

教えていただき、ありがとうございました。



ONION software Copyright 1997-2021(c) All rights reserved.