シーンにカスタム リグ カメラを追加するには 2 つの方法があります。
MEL または Python のスクリプト プロシージャを記述する
リグを作成するには、Python スクリプティングが最適です。
すべてのリグ ノードを、直接または任意の数のトランスフォームを経て、単一のカメラにペアレント化する必要があります。このカメラがリグのルート、そして中央のカメラになります。リグ構造の中でインスタンスを使用することはできません。
作成プロシージャは引数を持たず、3 つの文字列の配列を返す必要があります。1 番目の文字列はリグのルート ノードで、2 番目と 3 番目の文字列はそれぞれ左と右のカメラになります。
コマンド リファレンス(stereoRigManager など)の「stereoRigManager」を参照してください。
カスタム リグを登録する
カスタム立体視リグ エディタ(Custom Stereo Rig Editor)ウィンドウが開きます。
maya.app.stereo.stereoCameraComplexRig.createRig.
カスタム リグをそれぞれコールバックに割り当てると、そのリグをカメラ セットにアタッチするときに必ずコールされるようにできます。カメラ セットはマルチカメラ リグのレイヤ上に保持され、各レイヤの関連情報を保持するスロットが含まれています。リグを作成してマルチ リグのレイヤに割り当てた後、このコールバックが実行され、この実行が発生したこととカスタム動作を実行できることをカスタム リグに通知します。これはマルチ リグの各レイヤに対して実行されます。
すべてのマルチ リグを作成した後、最終的なコールバックが同じメソッドに送信され、マルチ リグの作成が終了したことを示します。 コールバックの構文には次のフラグが含まれます。
Per-layer: <nameOfCallback> -cameraSet <multiRigName> <rigNodeName>
Final callback: <nameOfCallbak> -cameraSet <multiRigName> -allDone 1
マルチカメラ リグの詳細については、マルチカメラ リグを作成するとマルチカメラ リグ ツール(Multi-Camera Rig Tool)を参照してください。
これで、パネル > 立体視(Panels > Stereo) > 新規立体視カメラ(New Stereo Camera) (<登録したカスタム リグ>)を選択して、カスタム リグにアクセスできます。
また、stereoRigManager コマンドを使用してカスタム リグを登録することもできます。コマンド リファレンスの stereoRigManager コマンドの項目に、カスタム リグの登録方法、既定のリグの照会方法、コマンドを使用したリグの削除方法などの例を紹介しています。
Maya は、既定の立体視リグが有効になった状態で出荷されます。このソース コードは Python モジュール …¥Python¥Lib¥site-packages¥maya¥app¥stereo から使用できます。このディレクトリには次のサンプルコードもあります。
…¥scripts¥others¥stereoCameraSimpleRig.mel は、右と中央の視点に単一のカメラを使用する、最も単純なリグを作成します。左カメラはその下にペアレント化されます。
これらのスクリプトは stereoRigManager の例で使用しています。
既存のリグがある場合、あるいは 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 はルート トランスフォームの名前で、leftCam と rightCam は左カメラと右カメラのペアの名前です。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)