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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
KRNKRS
記事: 40
登録日時: 12年前
連絡を取る:

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

#1

投稿記事 by KRNKRS » 11年前

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

<近く>
画像

<遠く>
画像

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

どなたか、解決策を教えていただけないでしょうか?
よろしくお願いします。
最後に編集したユーザー KRNKRS on 2014年5月15日(木) 16:33 [ 編集 1 回目 ]

アバター
プラム
記事: 164
登録日時: 11年前
住所: 東海地方

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

#2

投稿記事 by プラム » 11年前

KRNKRSさん>>
モデルのトゥーンのせいかもしれません。
ちゃんと設定できてないかもしれないので、
DxLibModelViewerで直せます。
あとカメラの設定で
SetCameraNearFar( 1.5f 300.0f) ;
と追加してください。
最後に編集したユーザー プラム on 2014年5月15日(木) 16:44 [ 編集 2 回目 ]

KRNKRS
記事: 40
登録日時: 12年前
連絡を取る:

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

#3

投稿記事 by KRNKRS » 11年前

早いご返信ありがとうございます!
無事解決いたしました!

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

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

KRNKRS
記事: 40
登録日時: 12年前
連絡を取る:

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

#4

投稿記事 by KRNKRS » 11年前

ちなみに、カメラの設定は、

SetCameraNearFar( 0.1f, 1500.0f ) ;

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

閉鎖

“C言語何でも質問掲示板” へ戻る