【Mayaあるある】ビューがちらつく

なんかチラチラ、メリメリすることありませんか?
一度カメラ設定を見直したほうがいいかもしれません。
カメラのアトリビュートを開き、ニアクリッププレーン(Near Clip Plane)とファークリッププレーン(Far Clip Plane)に注目します。

ご存知かと思いますが、ここではニアとファーでオブジェクトが映る範囲を設定します。

ファークリッププレーンの値はデフォルトままだと10000cmです。つまり100m以上離れたオブジェクトは見えなくなってしまいます。

カメラから100m以上は消える。
ですので、スケールが大きなシーンを扱う場合、ここのファークリッププレーンの値を大きくすると思います。
実際このシーンでは、100000cm(1km)に設定して、1km離れても大丈夫なようにしています。

ただし、このままだと、0.1cm~100000cmつまり、1mm~1kmの距離のものをリアルタイムで描画させることになり、近いものに対して誤差が生じてちらついてると予想できますので、ニアクリッププレーンの値を上げます。
10cmくらいにしてみました。

すると、ちらつきが抑えられます。

この値を狭くすればするほどちらつきを抑えられます。
もちろんニアクリッププレーン値より近いオブジェクトが表示されなくなりますが、これだけ大きなスケールのシーンを扱っていて、カメラの目の前10cm以内にオブジェクトが入ることってありますか?しかも作業カメラで。
作業中そんな近くまでカメラが寄ることはほとんどないと思うので、場合によっては100cmでもいい気がします。
レンダリング時に、近くから遠くまでカメラに入るのであれば、レンダリング専用のカメラのみ広い範囲の設定にしておけばいいと思います。
レンダリングにはちらつきは影響しないので。
根拠のない勝手なしくみの予想
おそらくですが、描画範囲のスケールに対して、距離が近いものは、リアルタイムの描画を優先するために、誤差として扱っているのかと思います。「これだけ広い範囲扱うんだから、ある程度近いものは、いい加減に扱わせてくれよぉ!」的な。
だから、ちょっとだけ近いものより、ちょっとだけ遠いものが誤差で描画されてしまったときに、ちらつきになるのだと思います。
あと、1mmを10cmに変更したところで9.9cmしか縮まってないじゃないか思われるかもしれないですが、
例えば、1cm~100cmのシーンと、1km~100kmのシーン。単なる描画であれば負荷って変わらないですよね?????(きっと)
すると、ファーだけを広げた1cm~1000cmと、ニアをだけを広げた0.1cm~100cmの2つは負荷が変わらないと思うんです。(たぶん)
ファーを広げてもニアを広げても同じ負荷・・・つまりは負荷は単純な距離の長さではないのではないかと。(ごにょごにょごみょ)
なんかうまく言えないですが、こんな予想をしてたこともあり、ファーを10倍したら、ニアも10倍するのがいいはず、と私の中ではなんとなく思って生きてきました。
ここのは勝手な予想なので、あまり信じないでください。
スポンサーリンク