ページ 11

遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 15:45
by 珈琲
敷き詰めた海とスカイドームの境界線が不自然なので埋めたいので、白い霧状の輪っかを地平線に被せてるのですが、
遠いところはギザギザになってしまいます。
画像
近くによると、段々スムーズになって綺麗になります。

どうしたらいいでしょうか?

参考までに、スカイドームと霧です
画像
画像

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 15:59
by softya(ソフト屋)
Zバッファの深度の問題では無いでしょうか? 奥に行くほど荒くなりますので。

「SetCameraNearFar」 検証してませんが、これの値が適当すぎると発生する気がします。
http://homepage2.nifty.com/natupaji/DxL ... html#R12N1

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 16:11
by 珈琲
画像

SetCameraNearFarの値を小さくしてみました 100000.0f→10000.0f
また、それに合わせてそれぞれの拡大率を下げてみました。(大体80倍ほど)
ギザギザに加え、地平線が近くなってしまいますが・・・、
また、Y座標=0に画像を敷き詰めることってできないのでしょうか?

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 16:19
by softya(ソフト屋)
あちらにも書かれている通りNEAR値のほうが問題なのですが、どうなってますか?

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 16:40
by 珈琲
NEAR値は10.0fです
ここから多少大きくすると、モデルの後ろ側から描画されなくなります。

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 16:44
by 珈琲
NEAR値を100にして試してみました。
モデルは消えましたが、カクカクではなくなりました。

モデルを大きくして、カメラを離していく方向で検討してみます。
ありがとうございました

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 16:47
by softya(ソフト屋)
そうえいば、フォグを使って試されましたか?
部分的に海だけフォグが出来れば解決する気がするんですが。

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 18:32
by 珈琲
画像
あー、と、Dxlibのフォグを早速使ってみたのですが、
よく観察したら全周囲にフォグが発生してますね
Z深度だけでなく高度でも指定できたら便利ですけど・・・

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 18:34
by softya(ソフト屋)
海だけONって出来ませんでした?
もしかして、海と全周ドームは一体なんですかね。

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 19:15
by 珈琲
http://homepage2.nifty.com/natupaji/DxL ... tml#R14N16

隠し関数はよくわからないですが、公式リファレンスを見ると距離と色の指定だけのようです。

プログラマブルシェーダというのを駆使しないと、実現不可能なんでしょうか?

SetFogEnable()などと並んでいたプロトタイプ宣言と一緒に並んでいた隠し関数は
SetFogMode()とSetFogDensity()です
後者はFogの密度らしいですが、前者の機能は一瞬ググりましたが不明でした。

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 19:18
by 珈琲
海は、4つの頂点からなる正方形のポリゴンにテクスチャを貼ったものをY座標=0の位置に並べているだけです。
ドームにも確かに海の画像が含まれていますが、用途は空だけです。

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 19:47
by softya(ソフト屋)
レンダーステートの問題だと思うので、ONしてDraw(海)してOFFで海だけフォグができませんでしょうか?

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 20:18
by 珈琲
画像

おお、確かに海だけFog付けられました。

ついでにではないですが、地平線の表現方法もお教え願えませんか?
パネル状に海を伸ばしていくのですが、特に高高度に自機があがってしまうとパネル状の情けない海の姿が遠くからでもわかってしまいます。

パネル一枚4096*4096ぐらいの巨大なサイズなのですが、あってるのかどうかよくわからず・・・

↓こんな感じのが理想です
画像

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 20:50
by softya(ソフト屋)
ACE コンバット系の場合は水平線あたりに半透明のフォグぽいものを置いていると思うんですよ(勘です)。
あと距離感の問題ですが、地形と機体でZバッファの深度情報が違う可能性があります。決して機体は遠方の空に近づくことは無いで別の深度のZバッファで別レンダリングしても問題ないわけです。自機と敵機は同じZバッファで処理しないとまずいでしょうけど。
飛んでいる近くの海や地面と遠くの海はレンダリングの都合で分けないとマズイかもしれないですけどね。

飛行系は仕事でしたことがないのと自分で組んだ事がないのでので、勘だけで書いてます。
そういう意味でクォータニオンもお手伝できなくですいません。

Re: 遠くのモデルが重なるとギザギザになってしまう

Posted: 2013年7月07日(日) 20:56
by 珈琲
softya(ソフト屋) さんが書きました: 飛行系は仕事でしたことがないのと自分で組んだ事がないのでので、勘だけで書いてます。
そういう意味でクォータニオンもお手伝できなくですいません。
いえ、素人の私が画像としてアップロードできるまで作れたのもsoftyaさんと、回答してくれた方々のおかげです。


>決して機体は遠方の空に近づくことは無いで別の深度のZバッファで別レンダリングしても問題ないわけです
試してみます、ありがとうございました!