スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    $gMainPane

     3DCGソフトには非常に多くの機能が組み込まれており、それらにアクセスするのにショートカットキーだけでは全然足りないですよね。
     Mayaにはキーボードショートカット以外にホットボックスと言う選択肢もあるのですが、それでも全然足りないです。

     そこでウチでは、キーボードショートカット+マーキングメニューと言う組み合わせを使う事により一気に瞬時にアクセスできる数を増やしております。

    例えば
    マーキングメニュー
    Ctrl + A + 左クリックでアトリビュートやコンポーネントに関するウィンドウを開くマーキングメニューが開き
    アトリビュートエディタ
    Ctrl + Aを押すだけだとアトリビュートエディタが開くと言った感じです。

     これだとひとつのキーボードボタンで最大9種類の機能にアクセスできます(試したら右ボタンはMayaの右クリックメニューがでてしまうので基本左ボタンだけになりそうです)
     Mayaで使用できるキーボードボタンは全部で68種類(たぶん)なので、それにShiftやCtrlを押した時の挙動も加えると
     68×4×9=2448種類の機能に瞬時にアクセスできる計算になります(もっとも設定が若干面倒なので、全部にこんな面倒な仕組みを入れてませんが・・・)


    上記の仕組みは非常に簡単で、例えば上記のCtrl+Aの挙動は
    • Ctrl+AのpressCommandにマーキングメニューを表示するスクリプトを設定
    • Ctrl+AのreleaseCommandにアトリビュートエディタを開くコマンドを設定
    するだけです。
     ただし、マーキングメニューのメニュー内のコマンドを実行すると、グローバル変数か何かにコマンドを実行したことを伝える指示を出し、releaseCommandの方では前述したグローバル変数にコマンド実行の支持があった場合はアトリビュートエディタを開かないようにしておく必要があります。
     もちろん、releaseCommandの方ではpressCommandの方で作ったマーキングメニューを削除するコマンドも入れておきます。

     さて、ここから本題です(超長い前置き・・・)。
     上記のpressCommandでマーキングメニューを作るときに、どこを親にするかが最大の問題になります。
    MoveToolContext(Wキーを押したとき)やRotate、ScaleToolContextは$gMainPane(用はMayaのビューポートの親のレイアウト)を親にしてマーキングメニューを作成してるようなのですが、これだと例えばカスタムで作成したフローティングタイプのビューポート上では使用できません。
     まぁそういうのに目をつむってもいいんですが、一応カスタムウィンドウ上でも動作するようにMaya2011以前のバージョンでは、一度
    string $parent = `getPanel -wf`;
    でフォーカスされたパネルを検出し、これを親にしてマーキングメニューを作成していました。
    ところが!
     Maya2011ではこれでは誤動作を起こします!アクセスできるにはできるんですが、マーキングメニューが3回くらい描画されて非常に使いづらいです。ってかお話になりませんorz

     色々検証してみた結果、どうやら親を上記getPanelで取ってきてたのが悪かったようです。ヲイヲイ、これじゃぁカスタムウィンドウ上じゃぁ動作しねぇじゃねぇかよぉ
    しょうがないので、MoveToolContext同様$gMainPaneを親にしてみたところ、無事普通に動作しました。

     同じようなことをしてる皆様、お気をつけ下さいませ。
    あと、もっとスマートな方法がありましたらお知らせくださると幸いです(^Д^)⊃エヘ
    スポンサーサイト

    コメントの投稿

    非公開コメント

    プロフィール

    Eske

    Author:Eske
    萌えイラストレーターを目指す3DCGイラストレーター。
    現在ポケモンカードゲーム、ガンダムトライエイジ、ガンダムコンクエスト、妖怪ウォッチとりつきカードゲームなどで3DCGを使用したイラストレーターとして参加中。

    主にここでは日々気づいたメモなんかを残してます。
    イラストのお仕事も受け付けております。ココのメールアドレスからご連絡できますので、お気軽にご相談下さい。

    最新記事
    最新コメント
    カテゴリ
    最新トラックバック
    月別アーカイブ
    検索フォーム
    リンク
    QRコード
    QR
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。