MayaのコピペとDuplicateは違うぜ!!




Mayaでノードを複製したい時、「Duplicate」をするべきなのですが、、、

Ctrl+Cでコピーして
Ctrl+Vでペースト

なんてしていませんか!?

見た目の挙動はそっくりですが、実はコレ全然違うんです!(;´∀`)

階層が変わる

コピペで複製したものには、不要な階層が作成され、ノード名の先頭に「pasted__」が追加されてしまいます!

マテリアルが増える

コピペで複製すると、ノードにアサインされたマテリアルも増殖してしまいます!

それ以外にも、マテリアルやポリゴンにコネクションされたノードもすべて複製され、ノード名の先頭に「pasted__」が追加されてしまいます!

こうなってくると、ゴミノードが増えたり、マテリアルの重複など、思わぬトラブルの原因や、重たいデータになりやすくなってしまいます、、、(;´∀`)

コピペの挙動って?

コピペの良くないところを紹介いたしましたが、そもそもコピペってどんな処理がされていると思いますか!?

Script Editorの「Echo All Commands」がONの状態でログを見てみると、「CopySelected」というRun Time Commandが実行され、「cutCopyPaste」が呼び出されます。

whatIs」を使い調べてみると、MELのプロシージャルだということがわかります。

早速、ファイルの中身を見てみると、「Ctrl+C」を押した時は、選択しているノードを「Export Selection」していることがわかります(;´∀`)

続いて「Ctr+V」を押した時は、「Ctrl+C」の時にExport Selectionしたファイルを「Import」していることがわかります(´;ω;`)

っということは!!

他のアプリケーションのコピペと違い、Mayaでコピペをすると、、、

Export SelectionしてImportする

と同じことをやっている事になります。

ノードを複製したい時に、わざわざ「Export SelectionしてImportする」なんて事はしないと思いますので、きちんと「Duplicate」を使うようにしましょう!(`・ω・´)ゞ







Maya x Pythonの技術書
たっきゅんのガチンコツール開発部 Maya Python 101
(CG Pro Insights)

もっとMayaを便利に使いませんか!?実用性のあるツールを例にPythonが学べるように、がんばって執筆させていただきました!是非、この機会によろしくお願いいたします!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です