ページ 1 / 1
謎の黒い物体
Posted: 2013年10月23日(水) 00:06
by hiragino
http://homepage2.nifty.com/natupaji/DxL ... ction.html
ここのプログラムの表示するモデルを
http://dixq.net/g/3d_05.html
でダウンロードしたLat式ミクとバトーキン島にしたところ、
ミクの周りに黒い何かが表示されてしまいました。
どうしてこうなってしまうのでしょうか。
基本的には↑のソースコードはそのままで、ミクのスケールは20倍ほどにしました。
Re: 謎の黒い物体
Posted: 2013年10月23日(水) 00:18
by softya(ソフト屋)
ミクだけを表示するとどうなりますか?
あとミクの倍率を1にするとどうなりますか?
※ デバッグの基本なのですが、色々なバリエーションで試すと問題点を解決する糸口が見えてきます。
Re: 謎の黒い物体
Posted: 2013年10月23日(水) 00:39
by hiragino
Render_Processのステージと影をコメントアウトしてみましたが、
特に変わりはありませんでした。
倍率1の時は小さすぎてよくわからないです
Re: 謎の黒い物体
Posted: 2013年10月23日(水) 00:59
by softya(ソフト屋)
たぶん、SetCameraNearFarを調整すると見えると思うですよ。Zバッファの処理の都合かなと。
あとは、アニメーションとかも関係するかもしれません。
Re: 謎の黒い物体
Posted: 2013年10月23日(水) 13:34
by ftr
なったことが
Re: 謎の黒い物体
Posted: 2013年10月24日(木) 22:40
by yukiri
最近似たような現象に遭遇して解決しました。
その時の原因は、モデルを MV1SetScale()で拡大させたため、
輪郭線も同じように拡大されて真っ黒になりました。
解決方法は、拡大した後に各マテリアルごとに輪郭線を縮小しました。
同じ原因なら、これで解決できると思います。
コード:
float zoom = 20.0f;
int material_num = MV1GetMaterialNum(モデルハンドル);
for(int i=0; i<material_num; ++i)
{
float dot_w = MV1GetMaterialOutLineDotWidth(モデルハンドル, i);
MV1SetMaterialOutLineDotWidth(モデルハンドル, i, dot_w / zoom);
MV1SetMaterialOutLineWidth(モデルハンドル, i, dot_w / zoom);
}