【Mayaあるある】バックフェースカリング 裏面表示できない

ポリゴンの裏面を表示・非表示するバックフェースカリング(Backface Culling)。
バックフェースカリングON → ポリゴンの裏面が非表示
バックフェースカリングOFF → ポリゴンの裏面が表示
このことを理解していても思った通りに表示/非表示にできないことってないですか?
色んな所にバックフェースカリングのメニューがあるんでどれ触ったらよいのやら・・・。
理屈はいいから表示方法
※お急ぎの方用
とりあえず理屈抜きに裏面を表示する方法です。設定箇所は
追記:ご指摘いただきました。もう1カ所あります。
大体の場合これで表示できます。
1
・ディスプレイ > ポリゴン > カスタムポリゴン表示... (Display > Polygons > Custom Polygon Display)
でウィンドウを表示
・作用するオブジェクト: すべて (Objects affected: all)
・バックフェースカリング: オフ (Backface Culling: off)
で適用

2
ビューメニューの
・シェーディング>バックフェースカリングのチェックを無

この両方がOFFになっていれば、シーン上にあるすべてのオブジェクトの裏面が見える状態になります。
逆に片方がONになると、裏面は見えなくなります。
追記:ここもチェック!!3
それでも裏面表示されないオブジェクトがあったら
・裏面表示されていないオブジェクトを選択
・アトリビュートエディタ(Attribute Editor) > shapeタブ > レンダリング詳細 (Render Stats) > 両面 (Double Sided) のチェックをON

(ここの設定もビューに影響するんですね~。気づきませんでした。ご指摘ありがとうございます。)
理屈はここから
で・・・どうして?という説明はここからです。
バックフェースカリングメニューにはたくさんありますが、まず大きく分けると、
ビューに対して行うか
オブジェクトに対して行うか
の違いがあります。
こんなところを掘り下げて説明するのはあまりないケースだと思いますが、あえて説明してみます。
ビューに対してのバックフェースカリング
ビューに対して行う場合、同じオブジェクトでもビューの設定によって裏面が見えたり見えなかったりします。

例えば、テクスチャを貼ってあるモデルでもビューのほうでテクスチャを表示する設定にしなければ、テクスチャが表示されないように、
モデル自体に裏面があってもなくても、ここで、裏面を表示しない!にしてあれば、表示されないという感じです。
そのビューの設定が、
ビューメニューの シェーディング>バックフェースカリング(Shading > Backface Culling) です。

ビューに対しての設定はここだけなので、わかりやすいですね。
オブジェクトに対してのバックフェースカリング
一方のオブジェクトに対して行う場合、裏面が見えているオブジェクトと見えていないオブジェクトを、同じシーン同じビューに混在させることができます。
オブジェクト一つ一つに設定が保存されているということです。

先ほどのビューが、裏面があるものを単に見えなくしてるのに対して、こちらはオブジェクト自体に裏面があるかどうかの設定です。
そのオブジェクトがON・OFFどちらの設定になっているのかはアトリビュートエディタで確認できます。
確認したいオブジェクトを選択して
アトリビュートエディタ>Shapeタブ>メッシュコンポーネント ディスプレイ>バックフェースカリング

細かい見え方の設定ありますが、OFF=オフ、ON=全体の認識でいいです。
つまり「オフ」であれば裏面表示。「全体」であれば裏面非表示の設定になります。
実は、ビューに行うバックフェース以外の「バックフェースカリング」はすべてこのアトリビュートを切り替えているだけの機能なのです。
たくさんあるメニューはどのオブジェクトに対して行うかが違います。
なのでアトリビュートエディタを表示したまま、次の項目を試すとどう影響しているのかわかりやすいと思います。
各メニューのバックフェースカリング
各メニューのバックフェースカリングがどのオブジェクトに対して行われるかの説明です。
アトリビュートエディタを確認しながら行うとわかリやすいと思います。

シェーディングとアトリビュートについては説明済みですね。
ポリゴン、カスタムポリゴン表示オプション、プリファレンスについてです。
■ポリゴン■

ディスプレイ > ポリゴン > バックフェースカリング (Display > Polygons > Backface Culling)
は、押すたびに選択したオブジェクトのON・OFFが切り替わります。(ONはOFFに、OFFはONに。)
なので、複数選択で行う場合ONとOFFのオブジェクトが混在してると厄介ですね。
また選択オブジェクトがない場合、押しても何の意味もないです。
■カスタムポリゴン表示オプション■

ディスプレイ > ポリゴン > カスタムポリゴン表示... > バックフェースカリング
(Display > Polygons > Custom Polygon Display... Backface Culling)
は、「作用するオブジェクト:」が「選択項目」であれば、現在選択されているオブジェクトに対してのみ、
「作用するオブジェクト:」が「すべて」であれば、シーンにあるすべてのオブジェクトに対して、
バックフェースカリング:で選んだ項目の状態になります。
■「プリファレンス」■

ウィンドウ > 設定/プリファレンス > プリファレンス --> ディスプレイ > ポリゴン > バックフェースカリング
(Windows > Settings/Preferences > Preferences --> Display > Polygons > Backface Culling)
は、これから作られるオブジェクトに対しての設定です。マージなどしてオブジェクトが新しく作り直されたときなども対象ですが、現在シーンにあるオブジェクトには影響ありません。
設定しておけば、新しく作成するオブジェクトやマージしたオブジェクトの設定をいちいち変えなくて済みます。
追記
レンダリング詳細 (Render Stats) > 両面 (Double Sided)
アトリビュートエディタ(Attribute Editor) > shapeタブ > レンダリング詳細 (Render Stats) > 両面 (Double Sided) は
両面をレンダリングするかどうかの設定です。
他の設定が作業中の見た目だけでレンダリングに影響しないのに対して、こちらの設定はレンダリングに影響します。

両面がOFFになっているとバックフェースカリングがOFFでも裏面は表示されないようです。
裏面選択できない
オブジェクトに対して行ったバックフェースカリングは、裏側から選択ができません。
オブジェクトのアトリビュートにあるバックフェースを上記の方法で、OFFにすることで、選択できるようになります。
スポンサーリンク
コメントの投稿
No title
特殊な例に遭遇したので、書き込みます。
shapeノード設定で個別設定もできました。
Render Stats設定の、Double Sidedのチェックオンオフで両面表示・非表示を切り替えが可能です。
これは上記設定の影響を受けませんです。
Re: No title
ホ!ホントですね!!!全然気が付きませんでしたw
なるほどビューにとらわれてましたが、レンダリングほうでも影響するんですねぇ…
ご指摘とても助かります。すぐ記事を修正させていただきます。
ありがとうございました。
管理人のみ閲覧できます
No title
この記事のおかげで解決できました。
とてもわかりやすかったです、本当にありがとうございます!
Re: No title
色々書かなければいけないことを書いていたら
かなりごちゃごちゃしてしまったのでわかってもらえるか心配でした。
解決できたようでよかったです。