MMDにおける両面ポリゴンの扱い方について

KAWARAさんが「最近はMMDで両面ポリゴンを使っても描画がおかしくならないようだ?」といったネタを振ってらしたので、少し突っ込んで検証してみた。

基本的には普通に描画される

半球上のサンプルを作成してみた。
・サンプルモデル
http://www.mediafire.com/?jzot85b90wx5i31

手前から

  • 両面描画(pmdでアルファ0.999以下、pmxで両面描画指定)
  • 両面ポリゴンで作成し、表と裏で材質を変えたもの
  • 同じく両面ポリゴンのxアクセサリファイル

視野角極小などではエッジ描画の裏が抜けてくる


以前はたしかこのあたりの関係で、「MMDで両面ポリゴンは使わない方がいい」といった定説ができた気がする。
視野角を極端に小さく(5以下程度)し、カメラとの距離を離すと裏面のエッジが抜けてきてしまう。両面描画の表面は問題ないことに注意。
このため、ポリゴンの裏面が見える位置にない立体では両面ポリゴンを使わないことが推奨されることには変わりがない。

どういうところで両面ポリゴンが使えるか

  • 表裏で材質を変更できる

両面ポリゴンは表裏で違う材質を適用することができる。異なるテクスチャを貼ることも可能だ。

  • 陰影の出方が両面描画とは異なる

不透明な物体の場合、両面描画だとシェードの陰影栄が表面からの光が透けているような出方をするので、両面ポリゴンの方がより適したものになる。

よって、どうしても薄い箇所でポリゴンの裏表が見えるものなどで、両面ポリゴンを使うと便利な場合がある。
帽子のツバなどで裏面が見えるような形状では、帽子のツバ下側の陰影が明るくならない。

両面ポリゴンの問題点


MMDではアルファが0.999以下では両面が描画されるため、両面ポリゴンを半透過材質にするとポリゴンの裏側が表側と衝突し、描画が乱れる。完全な不透明(アルファ1)でしか使えない。


また、エッジが両面に適用されるのでポリゴンの形状によっては不正な描画になってしまう可能性もある。ただしこれは片面の材質を分け、そちらのエッジ描画をオフにするなどで回避できるかもしれない。