こんにちは、Steemです。
今回はマテリアル操作に関するMaya用MELスクリプトを紹介します。
スクリプト概要
機能
- UIを使用したマテリアルの高速な割り当て
- 検索によるシーン内のマテリアルのリストアップ
- テクスチャバスの更新
用途
- マテリアルの割り当て
- マテリアルの一括差し替え
- 割り当てられているマテリアルの調査
- テクスチャ管理のユーティリティ。
UI・操作
動画
UI
操作
-
マテリアルの転写
一つ目の選択と同じマテリアルを他の選択に適用 - マテリアルのリストアップ・リストからの割り当て
- 選択したオブジェクト・フェースから取得
- 検索して取得
- マテリアルノード選択 + HyperShade を開く
- マテリアルがアサインされているオブジェクト・フェースを全選択
- マテリアルに接続しているFileノードのテクスチャパスの書き換え
リストで選択したマテリアルを選択して割り当てることができます。
マテリアルの転写
はじめに選択したオブジェクトと同じマテリアルを二番目以降の選択にも適用します。
※オブジェクトに割り当てられているマテリアルが一種類の時に使用できます。
※UV転写・テクスチャベイクとは無関係です。
マテリアルのリストアップ・リストからの割り当て
-
選択からリストに追加:
選択したオブジェクト・フェースに適用されている全てのマテリアルをリストに追加します。
マテリアル(シェーダー)ノードを直接選択しての追加も可能です。
- 検索からリストに追加:
シーン内にあるマテリアルの中からUI内のボックスに入力した文字列と名前の一致するものがリストに追加されます。
半角スペースを挟むことで複数語のAND検索が可能です。(例えば "plant leaf" などで検索すると、シーン内の植物の葉のマテリアルを一覧できます。)
- リストから選択してアサイン
:選択したオブジェクトにアサインされているマテリアルをUI上のリストに取得し、そこから選択して他オブジェクトに適用できます。
HyperShadeで開く
マテリアル(シェーディングノード)を選択した上でHyperShadeを開きます。こちらはシェーディングネットワークを手軽に編集するための機能です。
シェーディングネットワークの表示には、Hypershade を開いた後、ノードエディター上部のInput and Output Connections のアイコンをクリックします。
リストではShiftキーで複数項目を選択できるので、複数ネットワーク間のノードの複製といった操作も容易です。
※安定性の確保のためシェーディングネットワークは自分でボタンを押して開く形式にしています。
アサイン済みオブジェクトを選択
マテリアルが適切にアサインされているかどうかの確認を目的とした機能です。プレビュー用のマテリアルが適用されている対象に、一括で別のマテリアルを適用し直したいといった場合にも有用です。
テクスチャパスの書き換え
マテリアルに関連するFileノードをシェーディングネットワークから探し出し、さらにそこで指定されていたテクスチャの名前を、シーンが保存されているプロジェクトのsourceimagesフォルダ内から自動で探し出し、同じものを見つけ次第パスを書き換えます。
この機能を適切に実行するためにはテクスチャファイルの名称が別フォルダにある他のファイルと重複していない必要があります。
おわりに
このスクリプトがあれば「アサインしたいマテリアルを HyperShade のリストから名前で探す」という面倒な作業はほぼなくなるのではないかと思います。
皆さんの参考になれば幸いです。
当スクリプトの配布・販売予定については未定(調整中)です。
続報をお待ちください。

