Mayaでアトリビュートを接続するスクリプト

MayaでRigging

MayaでRigging(Basic編)で紹介した自作スクリプトの使い方について解説します。

このスクリプトは名前の通りアトリビュートをコネクトするツールです。

MayaでRigging(Basic編) でも説明しましたが、手作業で接続するには数が多すぎて手に負えなくなってしまいます。しかも手動の場合はミスは避けられませんし、場合によっては腱鞘炎になってしまうかもしれません。

MayaでRigging(Basic編)
「MayaでRigging」このシリーズではMayaでのリギングについて書きます。リギングといっても様々なレベルがあり、人によって認識がバラバラです。「リグなんてものは簡単だ」という人もいれば、「リグはとても難しい」という人もいます。これ...
スポンサーリンク

ダウンロード

こちらからダウンロードしてください。zipで圧縮していますが、「.py」のテキストファイルと「.png」のシェルフ用アイコンファイルだけです。

inopoa_attr_connector_download (120 ダウンロード)

一応書いて起きますが、このスクリプトは商用非商用にかかわらず自由に使用していただいてかまいません。そのかわり、このスクリプトによって生じた損害は保証できません。

zipを解答すると「inopoa_AttributeConnector,py」のスクリプトと「inopoa_AC.png」のシェルフ用のアイコンファイルがあります。アイコンファイルをご使用になる場合は「C:\Users\ユーザー名\Documents\maya\バージョン\prefs\icons」(赤のアンダーラインの部分はそれぞれの環境にあわせて変更してください。)に入れてください。

実行方法

Mayaのスクリプトエディターを開いてください。

Python Tabを開きそこに「inopoa_AttributeConnector.py」を読み込みます。

「Ctrl + a」でスクリプトを全選択してテンキーの「Enter(テンキーがない場合は「Ctrl + Enter」)」で実行されてWindowが開きます。

シェルフへの登録

シェルフへの登録方法は「ctrl + a」でスクリプトを全選択した状態でシェルフへマウスの真ん中ボタンドラッグです。

するとMayaのデフォルトのアイコンとともにシェルフに登録されます。以後はこのアイコンをクリックすると「inopoa_AttributeConnector」が立ち上がります。

しかし、デフォルトのアイコンだと他のものと区別できなくなるのでこのデフォルトのアイコンを右クリックして「Edit」を選択します。そこで「Shelves」タブを開きます。

アイコンを入れるのが面倒な人は「Icon Label」に名前を入れることも出来ます

ここにダウンロードしたアイコンファイルを読み込むようにしてください。

使用方法

get_A、get_Bで読み込んだ順番どおりにAttributeを接続します

コントローラーをつけるためのジョイントを選択して「get_A」を押すとリストとして表示されます。「get_B」のほうにはバインドするためのジョイントを選択して読み込むと上の画像のようにリストに表示されます。リストの一番上から順番にアトリビュートがコネクトされます。上の例では「ctrl_jnt_AのtranslateX,Y,Z, rotateX,Y,Z, scaleX,Y,Zがbind_jnt_Aの translateX,Y,Z, rotateX,Y,Z, scaleX,Y,Zにそれぞれ接続されます。」

中断のチェックボックスにチェックが入っている項目が「connect」ボタンを押すことで接続されます。上の画像では「shear」は接続されません。

一番下の「break connection」ボタンは選択したジョイント(ジョイントでなくても)のチェックボックスに入った項目を「break connection」します。つまり接続されているものを切ります。一番下のボタンは上のリストとは関係ありません。利便性を考えてあとで付け足したものです。

また、「get_A」と「get_B」のボタンは何も選択しないで押すことにより、リストをクリアできます。

まとめ

このようなスクリプトはあまりネットに落ちていないと思います。すくなくともこのスクリプトを書いた数年前にはありませんでした(見つけられませんでした)。そこで必要にかられて苦手なスクリプトですがなんとか動作するものが作れました。このスクリプトによって一人でも腱鞘炎になる人がいなくなれば幸いです。

Follow me!

コメント

PAGE TOP
タイトルとURLをコピーしました