カスタム リグを作成する

シーンにカスタム リグ カメラを追加するには 2 つの方法があります。

方法 1

MEL または Python のスクリプト プロシージャを記述する

  1. MEL/Python スクリプトを記述してカスタム リグを作成する
    ヒント:

    リグを作成するには、Python スクリプティングが最適です。

  2. カメラ リグの階層を記述し、中央、左、右のそれぞれのカメラのリレーションシップを定義します。

    すべてのリグ ノードを、直接または任意の数のトランスフォームを経て、単一のカメラにペアレント化する必要があります。このカメラがリグのルート、そして中央のカメラになります。リグ構造の中でインスタンスを使用することはできません。

    作成プロシージャは引数を持たず、3 つの文字列の配列を返す必要があります。1 番目の文字列はリグのルート ノードで、2 番目と 3 番目の文字列はそれぞれ左と右のカメラになります。

コマンド リファレンス(stereoRigManager など)の「stereoRigManager」を参照してください。

カスタム リグを登録する

  1. 立体視 > エディタ > カスタム立体視リグ(Stereo > Editors > Custom Stereo Rig)を選択します。

    カスタム立体視リグ エディタ(Custom Stereo Rig Editor)ウィンドウが開きます。

  2. 新規リグの登録(Register a new rig)セクションでカスタム リグに名前を付けます。Python または MEL のうちカスタム リグの作成に使用した言語を選択します。カスタム リグの作成に使用する Python または MEL プロシージャを入力します。例:

    maya.app.stereo.stereoCameraComplexRig.createRig.

  3. マルチカメラ リグを使用している場合は、カメラ セットのコールバック(Camera Set Callback)セクションでコールバックを割り当てます。

    カスタム リグをそれぞれコールバックに割り当てると、そのリグをカメラ セットにアタッチするときに必ずコールされるようにできます。カメラ セットはマルチカメラ リグのレイヤ上に保持され、各レイヤの関連情報を保持するスロットが含まれています。リグを作成してマルチ リグのレイヤに割り当てた後、このコールバックが実行され、この実行が発生したこととカスタム動作を実行できることをカスタム リグに通知します。これはマルチ リグの各レイヤに対して実行されます。

    すべてのマルチ リグを作成した後、最終的なコールバックが同じメソッドに送信され、マルチ リグの作成が終了したことを示します。 コールバックの構文には次のフラグが含まれます。

    Per-layer: <nameOfCallback> -cameraSet <multiRigName> <rigNodeName>

    Final callback: <nameOfCallbak> -cameraSet <multiRigName> -allDone 1

    マルチカメラ リグの詳細については、マルチカメラ リグを作成するマルチカメラ リグ ツール(Multi-Camera Rig Tool)を参照してください。

  4. 新規リグの追加(Add New Rig)をクリックします。

    これで、パネル > 立体視(Panels > Stereo) > 新規立体視カメラ(New Stereo Camera) (<登録したカスタム リグ>)を選択して、カスタム リグにアクセスできます。

    注:

    また、stereoRigManager コマンドを使用してカスタム リグを登録することもできます。コマンド リファレンスの stereoRigManager コマンドの項目に、カスタム リグの登録方法、既定のリグの照会方法、コマンドを使用したリグの削除方法などの例を紹介しています。

サンプル ソース コード

Maya は、既定の立体視リグが有効になった状態で出荷されます。このソース コードは Python モジュール …¥Python¥Lib¥site-packages¥maya¥app¥stereo から使用できます。このディレクトリには次のサンプルコードもあります。

…¥scripts¥others¥stereoCameraSimpleRig.mel は、右と中央の視点に単一のカメラを使用する、最も単純なリグを作成します。左カメラはその下にペアレント化されます。

これらのスクリプトは stereoRigManager の例で使用しています。

方法 2

既存のリグを Maya に適合させる

既存のリグがある場合、あるいは Maya 以外でリグを作成した場合は、そのリグを Maya の要件に適合させて使用することができます。ただし、すべてのカメラをリグ ルートと呼ばれる共通のトランスフォームにペアレント化する必要があります。

次の Python コードをコールします。

import maya.cmds as cmds
from maya.app.stereo import stereoCameraRig
# Make sure the stereo plug-in is loaded
cmds.loadPlugin("stereoCamera", quiet=True)
stereoCameraRig.makeStereoCameraRig(rigRoot, rigTypeName, leftCam, rightCam)

rigRoot はルート トランスフォームの名前で、leftCamrightCam は左カメラと右カメラのペアの名前です。rigNameType はリグのタイプを特定するためのユーザ定義文字列です。

既定の左右カメラ ペアを変更する

リグに複数の左右カメラ ペアがある場合、インタラクティブ表示に使用する既定の左右カメラ ペアを変更することができます。

次の Python コードをコールします。

import maya.cmds as cmds
from maya.app.stereo import stereoCameraRig
# Make sure the stereo plug-in is loaded
cmds.loadPlugin("stereoCamera", quiet=True)
stereoCameraRig.setStereoPair(rigRoot, leftCam, rightCam)