my funeral week

少しでも日々の生活に変化を。

XSIScripts_xsiParentTransform : 親子関係を疑似的に変更するリグ生成

Softimageは死んだソフトウェアであると前回の記事に書きましたが・・・、
どういう訳か最近になって何度かコレで仕事することがあり、せっかくなので今日もSoftimageの記事です。

・・・といっても自作スクリプトの紹介記事です。


ParentTransform

www.dropbox.com

クリエイティブ・コモンズ・ライセンス

アニメーション作業中、地面に落ちているものを拾う動作など・・・
ワールド軸で制御していたものを、動作の途中からは特定のリグの子供として制御したい。そう考えることが、しばしばあります。

その都度にコンストレイントを接続したり、アクティブ/非アクティブを切り替えても良いのです。
ただ、シーン毎にそういった設定を行うのも面倒ですし、動作内容や作業手順によっては一時的に切り替えたいだけだったりもします。

例えば、ワールド制御の両足リグを一時的に腰の子供として制御したい場合。
両足→腰の順で選択して、このスクリプトを実行すると 自動で腰の子供として制御できるリグを生成します。


インストール

※Softimageのスクリプトの実装自体、恐らくプラグイン形式で行うのが正解だと思うのですが、組むのが面倒なので以下に従ってください。

  1. 解凍したフォルダから xsiParentTransformフォルダ を適当な場所に配置。

    • C:\Users\"ユーザー名"\Documents とか、どこか都合の良いところにフォルダごと配置
  2. フォルダ内の xsiParentTransform.py をカスタムシェルフに ドラッグアンドドロップ

  3. カスタムシェルフ上のボタンを右クリックして、コマンドの編集 を選択。

  4. 実装タブを以下のように設定。

    • 言語 : Python
    • ハンドラ : showUI
      f:id:garysfirearms108:20190102212733j:plain:w300
  5. ボタンを押して実行


使い方

まず、ターゲットとなるリグを選択します
最後に選択したリグは、親として認識されます ので選択の順番には注意してください。

選択が完了したら以下を参照し、設定を確認した上で下部のボタン「CreateControllers」を押してリグを生成 します。

f:id:garysfirearms108:20190102212810j:plain

  • パラメータ : どのパラメータに影響するか
    • 位置 : Position
    • 向き : Orientation
  • オプション
    • CompleteAdjustParent : オフにするとパラメータで選択したものにしか、
      親のトランスフォームを合わせない。※基本的にはオンで良いと思います。
    • ControllerVisual : 生成するリグの見た目(リグ自体はインプリシットジオメトリ)
    • ControllerSize : リグのスケール
  • CreateControllers : 上記の内容でリグの生成を開始する


生成されるリグは、以下のような単純な構造になっています。

f:id:garysfirearms108:20190102212827j:plain:w300

親となっているノードは、元の親リグに対してコンストレイントで拘束されています。
子供のノードがコントローラ(リグ)になっています※アニメーションは元のリグから引き継がれています。

以上です。
ご査収ください。