Maya-フリースクリプト「LockWorldTransform」。ワールド空間でオブジェクトロック!

シニアアニメーターのMartin氏(@TuxedoPato)が作成・配布してくださっている、ワールド空間上で、オブジェクトのトランスフォームの位置をロックするスクリプトLockWorldTransformのご紹介です。

 

オブジェクトが別のオブジェクトの下で子になっている場合での、子の動きをワールド空間上で固定してくれる素敵スクリプトです。

 

このように親の回転の影響だって受けません!

 

この記事がおすすめな人
  • Mayaアニメーター
 検証に使用したバージョンはMaya2018

 

スポンサーリンク

今回のツイート

DL

Googleドライブで直接.pyファイルが配布されています。

 

Googleドライブをひらいて右上のダウンロードでlockWorldTransform.pyファイルをDLします

Mayaスクリプトの入れ方の基本

スクリプトを実行するための基本なのですが、実はこの方法、私の環境では上手く動きませんでした(謎

スクリプトの入れる場所

英語:C:\Users\(ユーザー名)\Documents\maya\(Mayaバージョン)\scripts

日本語:C:\Users\(ユーザー名)\Documents\maya\(Mayaバージョン)\ja_JP\scripts

.melまたは.pyの拡張子のついたファイルを入れます。

MELの起動の仕方

  1. Mayaを再起動
  2. 下の入力フィールドのMELと書かれている所をクリックしPythonに変更
  3. ファイル名を入力して実行します。

lockWorldTransform

シェルフに登録(入力した↑をドラッグ&中ボタンを押してシェルフまでドロップ)しておくと便利です。

moco
再起動してもNameエラーが出て実行できませんでした

スクリプトエディターから登録する

とはいえ、ビューポートにスクリプトを直接ドラッグ(※一時的に使用する際の実行方法)した所、ちゃんと実行されたのでスクリプトエディタから登録する方法に切り替えました。

  1. Windows>General Editors>Script Editorでスクリプトエディタを起動します
  2. File>OpenScriptlockWorldTransform.pyを開きます。
  3. スクリプトの実行ボタン①をおし、実行されるのを確認されたらスクリプトを全選択(CTRL+A)②をし、中ボタンでドラッグしてシェルフに登録③します

使い方

  1. ワールドロックしたいオブジェクトを選択し、ワールドに固定しておきたい範囲をタイムスライダーから選択します
  2. 後はスクリプトを実行するだけ。

    先述通りカスタムシェルフに登録しましたのでボタン一つで実行されます
  3. 子が選択範囲の間ワールドに固定されました

さわってみた特徴(間違っていたらすみません

選択した範囲の先頭Fをワールドに固定するようなので、最初のFに固定したい位置を決める必要があります。

ありがたく使わせて頂きましょう!

選択範囲をフルベイクしてしまうので使う際には要注意ですが、親子関係がついたオブジェクトの子を親の影響をつけずに動かしたい場合には便利ですね!

スクリプトを公開して下さっている方には感謝感謝です

アニメーション関連書籍











Twitterでフォローしよう

おすすめの記事