上記の作業仮説はすべてハズレでした。・・・痛い。
ただ、クリッピングが出現する条件は分かりました。オブジェクトが、手前のトラック部分と奥のトラック部分にサンドイッチされた瞬間に盛大なクリッピングが生じるようです。最初はどこかのセクションがトリガーになっているのかと思ってたんだけど、違いました。track--tso--trackという関係がよろしくなかったようで。
で、RSCで解決方法を見つけました。ただ、意味がよく分からん。かのGuru氏のお答えです。
> i thought you'd get problems with that when i first saw it bill this is a tricky one to explain (and i don't really understand it myself!) but you need to get rid of track->infield3do->track clipping. this is done firstly by cutting your object into convex pieces. once that is done you need to reduce fb distances as much as possible so the track won't be seen 'through' the infield3do. once that's done you might need to get rid of some walls (or make the reverse side of them transparent), and fiddle the infield/outfield references so gpl draws the infield3do from extra/fewer track sections. it's very complicated, and papy should really apologise for the crappiness (i heard even they had problems getting objects to not-clip in this way, and they understand the algorithms for visibility!!)
意訳。
・まずオブジェクトを凸面状の断片に切断する。
・fbディスタンスを、オブジェクトを通してトラックが透けて見えないところまで短くする。
・そしたらいくつかのウォールを取り除く。あるいは反対サイドにウォールを作る。
・referenceをいじって、オブジェクトがうまく描画されるように加減。
日本語に訳しても分からん。
ただpapyの開発陣も悩ませるものだそうで。描画のアルゴリズムがよくないみたい。
しかし・・・
凸面状の断片ってなんだ? |