リアルタイム系の3DCG制作に関するノウハウや実践的なTipsを共有するWiki形式のWEBサイトです。

通常の表示ではマテリアルが複数表示されているのにスムーズメッシュプレビューにするとマテリアルが一つにまとまって表示されてしまう
ということがあり原因と解決策を見つけたので書いておきます。

原因

まず下記が原因になっていると思われます。
  • ファセットアサイン(一つのメッシュに対して複数のマテリアルがアサインされている)
  • スムーズメッシュのサブディビジョン方法(Subdivision Method)がOpenSubdiv
  • 頂点カラーが入っている(スカルプトを使うといつの間にかカラーセットが追加されている)
  • 頂点カラーが表示状態になっている

特に後半2つは気付きにくいと思います。
とはいえ全てを解消する必要はありません。
どれかが解消できれば複数マテリアルの表示が可能です。
仕様や目的にあわせて解決してください。

解決方法

ファセットアサイン

Mayaでは原則1メッシュ1マテリアルが望ましいです。
フェースを抽出して分けたメッシュ毎にマテリアルを割り当て直します。
スクリプトでカットしてしまうのも良いです。下記Ariさんのスクリプトがおすすめです。
CG自習部屋 Mayaの時間【MEL】親子関係やピポッド位置を保ったまま結合(Combine)&抽出(Extract)

スムーズメッシュのサブディビジョン方法

OpenSubdivはファセットアサインと相性がよろしくないっぽいです。
ですのでサブディビジョン方法を「Maya Catmull-Clark」に変更する方法です。
サブディビジョン方法のグローバルを使用(Use Global)のチェックを外すとプルダウンから選択できるようになります。
ただし当然ながらスムーズのかかり方が変わってくるためおすすめしません。

頂点カラーが入っている

自分で頂点カラーを追加していれば気付きやすいですが、スカルプトを使用しても頂点カラーセットが追加されてしまうため不要であれば削除してください。
メッシュを選択した状態で
メッシュ表示->カラーセットエディタ(Mesh Display->Color Set Editor)
にてスカルプト等でできた不要なカラーセットを削除します。

頂点カラー表示

頂点カラー表示がONになっていてもスムーズプレビュー時のマテリアル表示がおかしくなります。
ですので不要な場合は頂点カラー表示はOFFにします。
shapeのアトリビュート->メッシュコンポーネントディスプレイ->カラーの表示(Mesh Component Display->Display Colors)
をOFFにしてください。
メニューから
メッシュ表示->表示カラーアトリビュートの切り替え(Mesh Display->Toggle Display Colors Attribute)
でも変更できます。

自分で指定した色の頂点カラーであれば問題なくブレンドされるんですが、スカルプトで追加されたカラーは表示がおかしくなるので削除するか非表示にすることをおすすめします。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

※現在 ユーザーID保持者 のみがコメント投稿可能な設定になっています。

Wiki内検索

メニュー

Maya

管理人


管理者:kmj
Twitter:@kmj3dcg
ゲームグラフィックに携わり十数年、現在フリーランスのモデラーとして活動しています。
専門分野:モデリング、テクスチャ、ウェイト(キャラモデルがメインのゲームグラフィッカーです)
お問い合わせはこちらまでお願いいたします。

Amazonアソシエイト

皆様のご協力感謝しておりますm(_ _)m























管理人/副管理人のみ編集できます