ページ 11

3Dモデルを遠くから見ると黒くにじむ。

Posted: 2014年5月15日(木) 16:31
by KRNKRS
MMDのモデルを、「MV1LoadModel()」、「MV1DrawModel()」を用いて描画したのですが、遠くから描画されたそのモデルを見ると、黒く滲んでしまいます。かなり近くであれば問題ないのですが、遠くなればなるほど、モデル全体に黒いにじみが出てしまいます。

<近く>
画像

<遠く>
画像

「MV1SetMaterialOutLineDotWidth()」を使って輪郭線をかなり小さくしてみたり0にしてみたりしたのですが変化はありませんでした。
色々と調べてみたのですがこの黒いにじみを解消できず、私には他の解決策が思いつきませんでした。

どなたか、解決策を教えていただけないでしょうか?
よろしくお願いします。

Re: 3Dモデルを遠くから見ると黒くにじむ。

Posted: 2014年5月15日(木) 16:39
by プラム
KRNKRSさん>>
モデルのトゥーンのせいかもしれません。
ちゃんと設定できてないかもしれないので、
DxLibModelViewerで直せます。
あとカメラの設定で
SetCameraNearFar( 1.5f 300.0f) ;
と追加してください。

Re: 3Dモデルを遠くから見ると黒くにじむ。

Posted: 2014年5月15日(木) 16:51
by KRNKRS
早いご返信ありがとうございます!
無事解決いたしました!

滲んでいた大きな理由として、非同期ローディングを行っていたためでした。
非同期ローディングを設定した上で、ロード関数の直後にマテリアル輪郭線設定関数を呼び出しても、モデルがそもそも読み込みが終わっていないので、輪郭線設定が適用されなかったようです。

ローディングが終わったタイミングで関数を書いてやると無事解決出来ました!
ご返信ありがとうございました!

Re: 3Dモデルを遠くから見ると黒くにじむ。

Posted: 2014年5月15日(木) 16:54
by KRNKRS
ちなみに、カメラの設定は、

SetCameraNearFar( 0.1f, 1500.0f ) ;

としています。
背景ドームを用いているので、少し大きめに範囲を設定しています。