このページでは、3ds Max CAT アニメーション システムのさまざまな主要コンポーネント、その関数公開インタフェース、および可能な MAXScript アクセス アプローチの概要を示します。
CATParent ヘルパー オブジェクトは、キャラクタのリグの名前や[CAT 単位の比率](CATUnits Ratio)値を含むキャラクタのリグに関する一般的な共有情報を格納します。
各レイヤの名前およびそのグローバル ウェイトを含むレイヤ システムの詳細も格納します。
リグで使用されるすべてのコントローラおよびノードをリストする配列を提供するため、MAXScript を使用してすべてのコンポーネントですばやく反復するのに役に立ちます。
CATParent は、次の 2 つの関数公開インタフェースを公開します。
事前に保存してある Rig ファイルを使用して新規キャラクタを作成するには、新しい CATParent ヘルパーを作成し、CATParentFPInterfaceの LoadRig()
関数を呼び出します。
例
theParent = CATParent()--create a new CATrig parent: $Object:Character001 @ [0.000000,0.000000,0.000000] theParent.LoadRig (GetDir #plugcfg +"\\CAT\\CATRigs\\Marine\\Marine.rg3") true theParent--note that loading a rig deletes the original parent! <Deleted scene node>
3ds Max CAT は、コントローラとノードの階層として記述できます。各ボーンは、ボーンの動作、アニメーション、機能性を管理するコントローラ(CATControl)、および主に表示、スキン変形、レンダリングの目的で使用される CATBone シーン オブジェクトによって表されます。
CATRig 構造のすべてのボーン コントローラは、CATControlInterface を公開します。 これは、各ボーンが CATParent および名前を返すことができること、各ボーンをクリップ ファイルの保存や読み込みまたはレイヤのペーストで使用できることを意味します。
CATControlInterface で公開されている .CATPatent
プロパティを使用して、すべての CATBone から CATParent にアクセスできます。すなわち、指または腕のボーンへのポインタがあれば、CATParent を簡単に見つけることができ、それを使ってロード、保存、レイヤ操作のすべてを実行することができます。
例:
theParent = CATParent()--create a new CATrig parent: --> $Object:Character001 @ [0.000000,0.000000,0.000000] rig_path = GetDir #maxroot + "\\plugcfg_ln\\CAT\\CATRigs\\Marine\\Marine.rg3" theParent.loadRig rig_path --> true theParent--note that loading a rig deletes the original parent. --><Deleted scene node>
各ボーン コントローラは、CATNodeControlFPInterface インタフェースも公開します。このインタフェースは、任意のボーンの管理に関連するプロパティやメソッド、様々な座標システムでの変換行列アクセスなどを提供します。
ExtraRigNodesInterface では、追加のリグ ノードを追加および削除したり、追加のリグ ノードにアクセスすることができます。
ボーン コントローラの対応するシーン ノードには、その .node
プロパティを使用することで、いつでもアクセスできます。
例:
顔のボーンを持つ頭のボーンのように、追加のボーンを持つボーンを選択している場合は、次を使用することができます。
theHeadCtrl =$MarineHead[3]--get the Head's controller: theArbBone = theHeadCtrl.GetArbBone 1--get its first arbitrary bone: theArbBone.node--get the scene node of that bone:
これによって、頭のボーンに追加された最初の追加ボーンのノードを取得することができます。
内部的には、 「Extra」ボーンは、「Arb」(「Arbitrary」の略)と呼ばれます。
ArbBone には事前に定義された使用方法がありません。そのため、指、腕、足、脊椎、尾をシミュレートするための対応するビルドイン動作を提供する指、手足、脊椎、尾のボーンとは異なります。
ハブは、手足、脊椎、尾などの複数の特殊なボーン グループをリグに接続することのできる特別なボーンです。
ハブ ボーンは、ハブでのみ利用可能な機能に対する固有の HubFPInterface を公開します。これには、脊椎、腕、足、尾の追加が含まれます。
リムは、腕および足の作成専用のボーンです。
すべてのリム ボーン コントローラは、次のインタフェースを公開します。
尾ボーンは、尾の作成専用のボーンです。
TailTrans コントローラは、次のインタフェースを公開します。
インタフェース: CATNodeControlFPInterface
インタフェース: ExtraRigNodesInterface
すべての CATBones は、CATObject を使用してそれらのジオメトリをビューポートに表示します。
CATObject は、カスタム メッシュ表示に対するコントロールを提供する CATObjectFPInterface を公開します。