チュートリアル / 読んで触ってよくわかる!Mayaを使いこなす為のAtoZ
第9回:マーキングメニュー活用方法(4/4)
- Maya
- ゲーム
- コラム
- チュートリアル
- 中級者
- 学生・初心者
- 教育
- 映画・TV
「Mayaはデフォルトのままだと効率が上がらない」というのは昔のMayaの話で、しばらく前からデフォルトで素晴らしいマーキングメニューが追加されています。さりげなく追加されているのであまり気づいていない方もいると思いますので改めて取り上げて見たいと思います。
Mayaの様々なところにマーキングメニューが、ひっそりと、仕込まれています。そう、キーやマウスボタンを押して見ないと出てこないのでなかなか気づかないところにもメニューがあったりします。
最近だとチャンネルボックス上でメニューを出すときにctrlキーを押しているとエクスプレッション等のちょっとテクニカルなメニューが出てきたりと、同じところで出すメニューでも何種類かあったりします。(まあこれはマーキングメニューではないですが。)
☆ ジオメトリ上でマーキングメニューを出すには、シェーディング表示の時は面の上で、ワイヤーフレーム表示の時はワイヤーの上で右クリックします。
というわけで、まずは普段の作業で必要となる選択系のマーキングメニューからチェックしていきましょう。
メッシュオブジェクトやコンポーネントを選択してctrl+右クリックすると、選択のコンバート用マーキングメニューが出てきます。これはモデリングビューでもUVテクスチャエディタでも同じです。
同様の機能はメインメニューにありますが、メニューが深く、似たような名前が多いので実行するのが億劫ですが、この機能は非常に重要です。このマーキングメニューがないとまったく作業にならないぐらい重宝しています。
shiftは本来の英語の意味どおり「入れ替える」「変わる」「追加する」機能として使われます。例えばshiftを押しながら矩形選択すると選択が入れ替わります。
ctrlは「引く」「管理する」「制限する」機能として使われます。例えばctrlを押しながら移動マニピュレーターの軸をクリックすると、移動の制限(クリックした軸を制限して動かさなくする)を行えますね。結果的にクリックした軸の平面を移動するモードになるわけです。
altは「代替」という意味通り、カメラを動かすときに左クリックの選択機能を切り替えます。矩形選択をして点線が出ている時にaltキーを押すと、矩形を移動して別のところへ置き換えることができます。
ホットキーを割り当てる時の参考にしてみてください。
shiftキーと右クリックを組み合わせるとポリゴンモデリング関係のマーキングメニューが出てきます。
なにも選択してなければプリミティブの作成など、ポリゴン作成のメニューが出てきます。
メッシュオブジェクトを選択してshift + 右クリックするとポリゴン編集用メニューが出てきます。
コンポーネントを選択してshift + 右クリックすると、選択しているコンポーネントに応じて編集メニューが変わります。
コンポーネント編集マーキングメニューには以下の図のような一貫性があります。
なので機能と方向を覚えれば、選択がフェースでも頂点でもエッジでも同等に扱えます。特に利用して便利なのはエッジ選択をしている時の削除です。
皆さんよく経験していると思いますが、MayaでエッジをDeleteキーで削除しても両端の頂点は残ります。エッジそのものを削除するためです。両端の頂点も削除するには Edit Mesh > Delete Edge/Vertex を実行しないといけませんが、リダクションをしている時とか何度も何度もメニューを辿るのは大変です。Edit Meshをティアオフしたとしても、ずらりと並んだメニューから毎回的確にDelete Edge/Vertexを実行するのは困難です。
というわけでこのshift+右クリックマーキングメニューのDelete Edgeは普段でもリダクションをしている時でもよく使っています。例のごとくマウスジェスチャーの様に使えますので、作業スピードを落とすことなく編集し続けることができて便利です。
ペイント(ペイント選択)したところを押し出したり出来ます。まぁ、操作がシビアなのであまり使うことは無いかもしれませんが…。
ちなみにペイントツールを選んでいる時に
・ bキー+左クリック -> ブラシサイズ変更
・ mキー+左クリック -> 不透明度変更
が出来ます。これはMudboxと同じですね。
作ったマーキングメニューは、マイドキュメント/maya/2009/prefs/markingMenusフォルダにmelファイルとして保存されます。(2009の部分はバージョンごとに異なります。)
例えば前に作ったMySelectionMaskは、menu_MySelectionMask.melとして保存されています。中身は単純に作ったメニューの作成MELが書かれているだけですのでpopupMenuのメニューアイテムとしてsourceで実行してあげればよいのです。
以下の様なスクリプトを実行すると、ボタンのあるウインドウが表示され、ボタン上で右クリックするとMySelectionMaskマーキングメニューが現れます。
ところでこの連載は昔ながらのMayaスピリットでやっておりますので、当然ハードコアな使い方も紹介します。
C:\Program Files\Autodesk\Maya2009\scripts\startup\initCommandLine.mel というMELファイルでは、どうやらMaya立ち上げ時にコマンドラインの構築を行っているようです。そこに
$gCommandLineSourceButtonという変数があります。Mayaのメインウインドウの左下、コマンドライン左にある「MEL/Python」の切り替えボタン名を格納しているようです。何かに使ってくれと言わんばかりに。
さてさて、ということは以下の様なスクリプトを実行すれば…
こんな風になるわけですね。
なんとこんなところからでもセレクションマスクを変更できるとは、なんて便利(?)なんでしょうか!(Mayaを閉じればいつものMayaに戻るので、気軽に試してみてください。)
この方法を習得すれば、buttonやtextの様な、ポップアップメニューをつけられるコントロールであればなんにでもマーキングメニューをつけることができます。なんだかMayaをどうにでも扱えな感じがしてきましたね!これが俗に言うMayaスピリットなるものです。いじり倒してナンボです。
4回という長期にわたってマーキングメニューについて見て来ました。Mayaでは一つ一つの機能が奥深く、知れば知るほどいろいろな応用技が出てくるので面白くなっていきます。もちろん便利になって作業効率もアップしていきます。というわけで皆さんもいろいろMayaをいじり倒してみてください。
Mayaの様々なところにマーキングメニューが、ひっそりと、仕込まれています。そう、キーやマウスボタンを押して見ないと出てこないのでなかなか気づかないところにもメニューがあったりします。
最近だとチャンネルボックス上でメニューを出すときにctrlキーを押しているとエクスプレッション等のちょっとテクニカルなメニューが出てきたりと、同じところで出すメニューでも何種類かあったりします。(まあこれはマーキングメニューではないですが。)
デフォルトのマーキングメニューの仕組み
Mayaのデフォルトのマーキングメニューは選択しているものやマウスの位置等に応じて内容が変わります。例えばモデリングビューでメッシュオブジェクト上で右クリックするのと、何もないところで右クリックするのとでは表示されるマーキングメニューが変わります。他にもパネルの種類(ハイパーシェード)でも変わります。そう考えてみると、Maya上のいたるところでマーキングメニューが利用できるようになっています。☆ ジオメトリ上でマーキングメニューを出すには、シェーディング表示の時は面の上で、ワイヤーフレーム表示の時はワイヤーの上で右クリックします。
というわけで、まずは普段の作業で必要となる選択系のマーキングメニューからチェックしていきましょう。
セレクションコンバート
メッシュオブジェクトやコンポーネントを選択してctrl+右クリックすると、選択のコンバート用マーキングメニューが出てきます。これはモデリングビューでもUVテクスチャエディタでも同じです。
同様の機能はメインメニューにありますが、メニューが深く、似たような名前が多いので実行するのが億劫ですが、この機能は非常に重要です。このマーキングメニューがないとまったく作業にならないぐらい重宝しています。
Shift、Ctrl、Altキー
マーキングメニューの話からかなり脱線するのですが、よい機会なのでMayaでのshiftキーとctrlキー、altキーの意味についておさらいしてみたいと思います。shiftは本来の英語の意味どおり「入れ替える」「変わる」「追加する」機能として使われます。例えばshiftを押しながら矩形選択すると選択が入れ替わります。
ctrlは「引く」「管理する」「制限する」機能として使われます。例えばctrlを押しながら移動マニピュレーターの軸をクリックすると、移動の制限(クリックした軸を制限して動かさなくする)を行えますね。結果的にクリックした軸の平面を移動するモードになるわけです。
altは「代替」という意味通り、カメラを動かすときに左クリックの選択機能を切り替えます。矩形選択をして点線が出ている時にaltキーを押すと、矩形を移動して別のところへ置き換えることができます。
ホットキーを割り当てる時の参考にしてみてください。
ポリゴンモデリング
(ヘルプでは、ユーザ ガイド > モデリング > ポリゴン モデリング > ポリゴンの概要 > マーキング メニューのポリゴン モデリング機能)shiftキーと右クリックを組み合わせるとポリゴンモデリング関係のマーキングメニューが出てきます。
なにも選択してなければプリミティブの作成など、ポリゴン作成のメニューが出てきます。
メッシュオブジェクトを選択してshift + 右クリックするとポリゴン編集用メニューが出てきます。
コンポーネントを選択してshift + 右クリックすると、選択しているコンポーネントに応じて編集メニューが変わります。
コンポーネント編集マーキングメニューには以下の図のような一貫性があります。
なので機能と方向を覚えれば、選択がフェースでも頂点でもエッジでも同等に扱えます。特に利用して便利なのはエッジ選択をしている時の削除です。
皆さんよく経験していると思いますが、MayaでエッジをDeleteキーで削除しても両端の頂点は残ります。エッジそのものを削除するためです。両端の頂点も削除するには Edit Mesh > Delete Edge/Vertex を実行しないといけませんが、リダクションをしている時とか何度も何度もメニューを辿るのは大変です。Edit Meshをティアオフしたとしても、ずらりと並んだメニューから毎回的確にDelete Edge/Vertexを実行するのは困難です。
というわけでこのshift+右クリックマーキングメニューのDelete Edgeは普段でもリダクションをしている時でもよく使っています。例のごとくマウスジェスチャーの様に使えますので、作業スピードを落とすことなく編集し続けることができて便利です。
ペイント編集
oキーを押しながら左クリックするとペイント編集のマーキングメニューが表示されます。ペイント(ペイント選択)したところを押し出したり出来ます。まぁ、操作がシビアなのであまり使うことは無いかもしれませんが…。
ちなみにペイントツールを選んでいる時に
・ bキー+左クリック -> ブラシサイズ変更
・ mキー+左クリック -> 不透明度変更
が出来ます。これはMudboxと同じですね。
ツールオプション
ctrl + shift + 右クリックで、現在のツールオプションを表示します。対応していないものもありますが、Insert Edge Loop Toolでは以下のようなマーキングメニューが出ます。オプションを開いて設定を変える手間が省けて便利です。おまけ
最後に、マーキングメニューを好きなGUIから呼び出す方法を紹介します。仕組みさえ分かればとても簡単に行えます。作ったマーキングメニューは、マイドキュメント/maya/2009/prefs/markingMenusフォルダにmelファイルとして保存されます。(2009の部分はバージョンごとに異なります。)
例えば前に作ったMySelectionMaskは、menu_MySelectionMask.melとして保存されています。中身は単純に作ったメニューの作成MELが書かれているだけですのでpopupMenuのメニューアイテムとしてsourceで実行してあげればよいのです。
以下の様なスクリプトを実行すると、ボタンのあるウインドウが表示され、ボタン上で右クリックするとMySelectionMaskマーキングメニューが現れます。
window;
columnLayout;
button;
popupMenu -alt false -ctl false;
source "menu_MySelectionMask";
showWindow;
columnLayout;
button;
popupMenu -alt false -ctl false;
source "menu_MySelectionMask";
showWindow;
ところでこの連載は昔ながらのMayaスピリットでやっておりますので、当然ハードコアな使い方も紹介します。
C:\Program Files\Autodesk\Maya2009\scripts\startup\initCommandLine.mel というMELファイルでは、どうやらMaya立ち上げ時にコマンドラインの構築を行っているようです。そこに
$gCommandLineSourceButtonという変数があります。Mayaのメインウインドウの左下、コマンドライン左にある「MEL/Python」の切り替えボタン名を格納しているようです。何かに使ってくれと言わんばかりに。
さてさて、ということは以下の様なスクリプトを実行すれば…
global string $gCommandLineSourceButton;
popupMenu -parent $gCommandLineSourceButton;
source "menu_MySelectionMask";
popupMenu -parent $gCommandLineSourceButton;
source "menu_MySelectionMask";
こんな風になるわけですね。
なんとこんなところからでもセレクションマスクを変更できるとは、なんて便利(?)なんでしょうか!(Mayaを閉じればいつものMayaに戻るので、気軽に試してみてください。)
この方法を習得すれば、buttonやtextの様な、ポップアップメニューをつけられるコントロールであればなんにでもマーキングメニューをつけることができます。なんだかMayaをどうにでも扱えな感じがしてきましたね!これが俗に言うMayaスピリットなるものです。いじり倒してナンボです。
4回という長期にわたってマーキングメニューについて見て来ました。Mayaでは一つ一つの機能が奥深く、知れば知るほどいろいろな応用技が出てくるので面白くなっていきます。もちろん便利になって作業効率もアップしていきます。というわけで皆さんもいろいろMayaをいじり倒してみてください。