【MEL】マテリアルがフェースにアサインされているオブジェクトをチェック

![]() | AriFaceMaterialChecker |
一つのオブジェクトに複数のマテリアルであったり、フェースに対してマテリアルがアサインされているオブジェクトを検索します。
また、それらを分離したり割り当てし直したりして、オブジェクトにマテリアルをアサインするツールです。
ちなみに一つのオブジェクトに複数のマテリアルがアサインされている状態はファセットアサイン(Facets Assign)というそうです。
使い方
基本 |
選択したオブジェクトに対して機能します。
オブジェクトを選択してから各ボタンを押してください。

複数マテリアル |
「複数マテリアル」で、複数のマテリアルがアサインされているオブジェクトが選択されます。

「分離」で、マテリアルごとにオブジェクトが分離し、マテリアルをオブジェクトアサインにします。

ワンマテリアル※ |
「ワンマテリアル」は、オブジェクトに1つのマテリアルしかアサインされていないけれど、
フェースアサインになっているものを選択します。

「オブジェクトアサイン」で、フェースアサインではなく、オブジェクトアサインの状態にアサインしなおします。

フェースアサイン選択 |
「フェースアサイン選択」はフェースアサインになっているオブジェクトを選択します。
上記の「ワンマテリアル」と「複数マテリアル」のもの合わせたものです。

「ワンマテリアル」「複数マテリアル」はシーンが複雑だと重いです。
うちの環境ですが、100万フェースで10秒くらい。
シーンが複雑な場合は、クイックチェックとしてできるだけ「フェースアサイン選択」を使ってください。
※ワンマテリアルフェースアサインについて
Mayaは、マテリアルをアサインする際、フェースを全部選択してアサインした時と、オブジェクトを選択してアサインした時では、見た目は変わりませんが、何に対してアサインされているかという情報は持っています。
オブジェクトに対して割り当て

これはオブジェクトアサイン
フェースに対して割り当て

これがフェースアサイン(これもファセットアサイン??)
この状態もあまりよろしくない場合がある。
ハイパーシェードのマテリアル上にマウスをもっていき、右ボタンでメニューを出し、
「マテリアルからオブジェクトの選択(Select Objects with Materials)」でどちらになっているか確認できます。
オブジェクトが選択されるか、フェースが選択されるか。

そしてこれらには注意点があり、モデリングの作業で、
結合(Combine) 抽出(Extract) 分離(Separate) 他、 これらの操作を行うだけでもフェースアサインになってしまいます。
マテリアルを割り当てるときにオブジェクト選択でやってるから平気だーい!ってわけでもないようです。いつの間にかフェースアサインになってたりします。
そこで先ほど上記で説明したワンマテリアルの項目のように、「ワンマテリアル」ボタンで検索し、「オブジェクトアサイン」ボタンで、オブジェクトアサインにし直すのがおすすめです。
ちなみにこちらの記事ツールで結合や抽出を行った場合は、オブジェクトアサインになるようにしてあるのでよかったら見てみてください。
この記事のフェースアサインチェックツールはこちらからダウンロードできます。
よかったらどうぞ。
シーンの情報量が多いと重くなりますので、必ず作業中のシーンを保存してから使用してください。
色々頑張りましたが、軽くできませんでした。
Download
つぶやき
シーンにオブジェクトやポリゴン数が多くなってくると重くなるのが致命的なんですよね。
あまりこういう状態では公開したくなかったんですが、聞くところによると自分の周辺では意外と使ってる人がいるようなので、必要としてる人はいると信じ、公開します。
みなさんどれぐらいの情報量のシーンで作業されてるんでしょうかね。
スポンサーリンク