【MEL】頂点を直線に整列(斜めや軸限定も可能)



![]() | AriStraightVertex |
頂点を一直線上に整列させます。
単に一直線にするだけでなく、画像のように移動軸を固定して斜めにスナップするようなこともできます。
見る角度では直線化ですが、結果平面化ですね。
斜めでなければマニピュレータ移動をスナップさせることで平面にすることができますが、
上画像のように斜めになっている頂点の場合、正確な座標に移動させるのって厄介ですよね。
そのような場合に使えると思います。
移動する軸を限定して一直線化
例にあるような頂点を斜めに揃えて、一直線化(平面化)する方法です。

まず基本のこの方法。
軸限定のモードにする
まず、一番上の項目を「直線化 2D (軸固定)」 (Linear 2D (Axis-Limited))にします。

一定から見た角度だけ直線にするモード。
基準頂点を決める
2つの頂点を選んで基準となる直線を登録します。 (後に記載ありますが、エッジ選択の場合やらなくていいです。)
・基準となる2頂点を選択
・「基準頂点取得」ボタン

この時点では設定はどこにチェックが入っていても関係ないです。
座標を保存しているだけなので。
どの軸で移動させるか決める
次はどのカメラから見て、どの軸で移動させるかです。
今回は、sideビューから見て水平に移動したいので
・side
・水平(Z)
に設定します。

「横からみて一直線になるようにしたい。しかも水平にしか動かしたくない。」という感覚で。
「頂点移動ボタン」で移動
・移動したい頂点を選択
・「頂点移動」ボタン
で移動されます。

「選択した頂点を移動」は数回に分けても、複数の頂点を選択してでも移動できます。

ちなみに・水平・垂直・最短はこんなふうに移動して直線上に向かいます。

最短は一番近い距離で移動。つまり基準直線に対して直角に入射します。
水平垂直の、軸を決定しても見る角度によってどのように直線化されるか変わる場合があるので、どの角度から見て直線なのかTop Front Side をしっかり設定してください。
エッジ選択で基準頂点は両端を自動取得
2016/10/10追加仕様
エッジ選択で「頂点移動」を実行した場合は、基準頂点の設定は無視して、エッジの端を基準にします。

※注意
エッジの両端2点を取得するので、エッジをループさせたり、分岐させたりすると、ちゃんと動作しません。
このエッジ選択の場合のみ、複数のエッジループの組を同時に実行できます。

perspビューからの見た目で平面化
腕や指など筒状のモデリングの際、円のループがガタガタしてしまったときに使えます。

・基準となる2頂点を選択
・「頂点座標保存」

・perspを選択
・perspカメラを平面化したい角度に合わせて・・・
・頂点を選択して「頂点移動」

3D空間での完全直線化

さっきは、あえて、これじゃない方法だったけどやっぱりこうしたいこともある。
一番上を「完全直線化」にすれば、平面につぶすだけではなくちゃんと直線化もできます。

3頂点を基準に平面化
一番上の項目を「3頂点平面」にし、
3頂点を取得すると、その3頂点からなる平面に、選択した頂点を移動させることができます。

補足機能
基準頂点を座標の端になるものから取得
基準とする2頂点を選んで一回一回ボタンを押すのがめんどくさい場合、エッジ選択以外にも、下記のように自動的に基準頂点を選ぶ方法があります。
状況によって使い分けてください。
基準頂点を選択の端にする方法 |
2016/04/03追加
こちらは選択頂点のMax値、Min値を基準に方法です。
2段目のチェックを「選択両端座標」にします。

これで選択頂点から基準を選ぶので座標保存はできない状態になりました。
あとは水平でみた端の頂点を基準とするのか、垂直でみた端の頂点を基準とするのかを選びます。

水平の場合の基準頂点はこれ。

垂直の場合の基準頂点はこれ。

このような感じになるので、自分が基準としたい頂点は、水平の端なのか垂直の端なのかを選択してください。
あとは基準頂点を自分で選ぶ方法と同じく、移動方法を選択後、「頂点移動」を押すだけです。
更新
20220424 UI調整
2016/07/24 エッジ両端を基準とする機能追加。バグ修正
エッジ選択の場合、そのエッジの両端の座標を基準とする仕様にしました。
2016/07/24 UI調整。バグ修正
ちょっとUIを変更しました。
3頂点平面化が機能していなかったので、修正しました。
2016/07/24 UI調整。バグ修正
ちょっとUIを変更しました。
3頂点平面化が機能していなかったので、修正しました。
2016/04/03 選択頂点の端を基準座標にする機能を追加。
基準頂点を選択の端にする方法参照。
2016/04/03 インターフェース修正
2015/03/12 バグ修正しました
・3頂点を基準に平面化する際、XZ平面のような同じ軸平面にある頂点を取得してしまうとエラーになっていたバグを修正しました。、
・前回修正したバグが取りきれていなかったので再度修正しました。
直線を選んでいるのにもかかわらず、3頂点平面が選ばれているとそちらが機能してしまうものを修正しました。
2015/03/12 インターフェース少し変えました。
・取得した座標を表示するインターフェースをデフォルトで表示し、選択項目によってどの座標が使われるのか視覚的にわかりやすくしました。
座標が表示されている横のボタンで個別に取得できます。 直接座標入力もできます。
2015/01/25 バグ修正
3D(直線)を選んでいるにもかかわらず、2D(平面)でpersp以外を選択していると、そちらの機能が有効になってしまうバグを修正しました。
2015/01/25 機能追加
3点の頂点座標を保存し、その3点を基準に平面化する機能を追加しました。
ダウンロード
使ってみたい方はこちらからどうぞ
Download
機能を付け足ししすぎてごちゃごちゃしてきました。
説明わかりにくかったらコメント下さい。
tag : Maya, MEL, モデリング, 数値設定, AriStraightVertex,
スポンサーリンク
コメントの投稿
文字化けの問題について
はじめまして、mayaを勉強中のkobayashiと申します。
こちらのスクリプトを使用させていただこうとしたところ、
当方のmac版maya2015_sp2(学生版)でツールウィンドウのボタンなどが文字化けしてしまいました。
こちら原因などおわかりになるようでしたら、修正法をご教示頂ければと思います。
よろしくお願いいたします。
Re: 文字化けの問題について
すみませんmac版は全く触ったことがないのでわかりません。
文字化けによって使用できないような状態ですか?
このブログの他のMELは大丈夫かどうかわかりますか?
もしよろしければ、cgjishu@gmail.comのほうにスクリーンショットをいただけないでしょうか?
mac環境がないので、解決できる自信はないですが、何かわかるかもしれないので。
ご期待はさせられませんが、面倒でなければよろしくお願いします。
文字化けとプルダウンが表示されない問題について
上記のコメントのkobayashiさんと同じようにmac版maya2015(学生版)にて、
ツールウィンドウのボタンなどが文字化けしています。
文字化けだけ発生してる状態なので、一応慣れれば使用できますが、やっぱりちゃんとした表示で作業したいので、
原因がおわかりになるようでしたら、修正法をご教示頂ければと思います 。
もう一つ、インターフェースの「軸限定移動(平面化)」「3頂点平面」のプルダウンメニューが表示されません。
こちらも原因がおわかりになるようでしたら、修正法をご教示頂ければと思います。
cgjishu@gmail.comの方にスクリーンショットを送りますので、対応の程よろしくお願いいたします。
Re: 文字化けとプルダウンが表示されない問題について
ご連絡ありがとうございます。
実は何度か同じようなご連絡いただいたことありまして、
Macの環境がないこともあり、完全解決はできてないのですが、
すこし古いバージョンではその場しのぎできた方法があるので、
今回のバージョンでもできるかどうか、いただいたメールにいくつかファイル送らせていただきますね。
全く解決の根拠も自信もないので、これでできない場合すみません。今のところ私には解決できないです。
管理人のみ閲覧できます
英語版で文字化けの問題について
こんにちは。Mayaを勉強中のYTCと申します。
Maya2019英語版にて、UIが文字化けしていますので、先日メールで教えてくださった方法で手動でなおしました。何回も同じ件ですみませんが、もしよろしければ、次回の更新で英字のUIを追加していただければ幸いです。
よろしくお願いいたします。
Re: 英語版で文字化けの問題について
このツールもやはり文字化けしてしまうケースがあるのですね。
ご報告ありがとうございます。
どのツールも更新の際はついでに英語対応しようと取り組み中ですので、
いつになるかわかりませんが、どうぞよろしくお願いします。