モデルがチラチラするときの対処法3種



この記事では、ポリゴンがチラチラする時の対処法を記載します。


こんな現象

Mayaを触っていると、このようにモデルがちらちらすることがあります。
実際にこの現象に出会うと、
カメラを動かすたびにチラチラするので、かなりうっとおしいです。
この記事では、チラチラ現象の原因と対処法を紹介します。

原因

考えられる原因は、3つあります。

  1. 面が重なっている。
  2. 「バックフェースカリング」が Off になっている。
  3. 「ニアクリップ プレーン」の数値が小さい。

この内の 1つ もしくは 2つを解決する必要があります。
1つずつ解説していきます。


対象方法

面が重なっている 場合

2枚以上の面が重なっている場合、このチラチラ現象が発生します。
その場合の対処は単純です。

  • 重なった面を、消去する。
  • 重なった面を、移動する。

つまりは、面と面を離せばいいだけです
面をまとめて選び、拡大/縮小 しても良いでしょう。

しかし、「面と面を離してはならない」条件下もあり得ます。

ゲームなら、表と裏の面を重ねておくことは、よくあります。
Unityなどのゲーム内では、裏面はそもそも表示されないので、
Maya上では表と裏の面が重なっていても、Unity上なら問題ありません。
(ゲーム内の Shader によっては、裏面がない方がいい場合もあります。)
これで解決しない場合は、他の対処法を使いましょう。


バックフェースカリングが Off になっている 場合

バックフェースカリング とは、
「裏面を透過する設定」のことです。
この設定が On なら、裏面は表示されなくなり、透過します。

▲ バックフェースカリングのOnとOff

バックフェースカリングの設定場所

ビューポート(ポリゴンが表示される場所)の左上 から設定できます。
シェーディング > バックフェースカリング
このチェックが On になれば、設定完了です。

「表と裏の面が重なっていない。」
 かつ
「バックフェースカリングは Off のままがいい。」

その場合は、次の対処法を試してください。


ニアクリッププレーンの数値が小さい場合

ニアクリップ プレーンとは、カメラの設定値のことです。

カメラは、
ニアクリップ プレーン (near clip plane) と ファークリップ プレーン(far clip plane) の
間にあるポリゴンを表示してくれます。

▲ ニア/ファー クリップ概念図

オブジェクトの大きさに対して、
この2つの設定値が 離れすぎたり、近すぎると表示エラーが起こりやすくなります。

ポリゴンがチラチラする場合は、
「ニアクリップ プレーン」の数値を変更すると、解決する場合が多いです。

ニアクリップ プレーンの設定場所

  1. 対象のカメラを選択します。
  2. アトリビュートエディタ を開きます。
     ウィンドウが見当たらない場合は、ウィンドウ > 一般エディタ > アトリビュートエディタ から開きましょう。
     Ctrl + A でも開きます。
  3. カメラアトリビュート > ニアクリップ プレーン の数値を変更します。

値を10倍ずつ変えてみると良いでしょう。
やりすぎるとモデルの表示が消えます。


まとめ


ポリゴンがチラチラする時の対処法を紹介しました。
Mayaでは、よく起こるトラブルです。
この3つの対処を知っていれば、怖くありません。
あせらず対処しましょう。

1. 面が重なっている。
 → 重なった面を除去 or 離す

2. 「バックフェースカリング」が Off になっている。
 → 設定をOnにする。
  ( ビューポート左上 > シェーディング > バックフェースカリング )

3. 「ニアクリップ プレーン」の数値が小さい。
 → カメラのアトリビュートを開き、ニアクリップ プレーンの数値を変更する。