【MEL】同一頂点のマージを手軽に~マージの失敗を発見しやすく

※マージMEL実行の前にオブジェクトの結合(combine)はしてます。

![]() | AriMergeBorderVertex |
同一頂点をマージする際、頂点を全選択してマージをするめんどくささ。
そしてマージされていない頂点があるかどうかいまいちわからなくてお困りの場合に使えると思います。
MELというか超簡単なコマンドの羅列です。
使い方
オブジェクトを選択して下記のコマンドをスクリプトエディタにコピペして実行してください。
ConvertSelectionToVertices;//頂点に
ConvertSelectionToShellBorder;//境界に
performPolyMerge 0;//マージ
ConvertSelectionToEdges;//エッジに
ConvertSelectionToShellBorder;//境界に
すみませんたった5行です
(スクリプトエディタは、Maya一番右下のアイコンです。下のフィールドにコマンドをペーストしてテンキーのエンターで実行です。)

説明不要かとは思いますが
コマンドによって、下記の操作を行ってます。

ConvertSelectionToVertices;
頂点選択にし

ConvertSelectionToShellBorder;
境界を選択

複数の同一座標頂点をマージする場合、マージしたい頂点は必ず境界頂点のはずなので、
内部にある近い頂点をマージしてしまうリスクを避けるためにも境界じゃない頂点は選択しない状態にします。
performPolyMerge 0;
マージ

このままじゃ失敗した頂点がわからないので、
ConvertSelectionToEdges;
エッジに

ConvertSelectionToShellBorder;
境界に

境界選択したことで、マージされていない頂点がわかります。
おそらくMaya2015以降のバージョンからだと思いますが、ワイヤーフレームが見えるシェーディングにしていないとエッジ選択が見えないと思うので注意です。
ワイヤーフレーム表示じゃなくてもオブジェクト上で、マウス右>エッジ をすると見えるようにはなります。
超簡単なものですが、私は今でも頻繁に使うので、ご紹介でした。
超短いコマンドですが、管理しやすくするために、アイコン作成とMEL化しました。
Download
おまけ
このあとの操作でやりたくなるであろうソフトエッジ/ハードエッジ化は、
Shift+マウス右で出てくるメニューの右下にもあります。

あの・・・実は
昔から使ってるこのコマンドをいざ記事にしようとしたら、なんか無駄なことしてるなぁと気づいてしまい、実は記事を書いてる途中で構成変えちゃいました。そのため、Maya2015よりも古いバージョンだと、もしかしたらうまく動かないかもしれないので、旧バージョンのとき書いた昔のものを、そして今まで何の疑いもなく使っていたものを、念のため記載しておきます。
ConvertSelectionToEdges;//エッジに
ConvertSelectionToShell;//シェルに
ConvertSelectionToShellBorder;//境界に
ConvertSelectionToVertices;//頂点に
performPolyMerge 0;//マージ
ConvertSelectionToEdges;//エッジに
ConvertSelectionToShell;//シェルに
ConvertSelectionToShellBorder;//境界に
シェル選択は、たぶんオブジェクト全体に実行したくないとき、コンポーネント選択で選択シェルに対してのみ実行できる意味があるのでやってるのだと思います。しかし、わざわざエッジ選択に変更する必要はあったのだろうか?
スポンサーリンク