MOTOR では、ASCII ファイルを使ってリグのタグ付け時に使用される基本構造を確認します。構造ファイルによって、MOTOR を任意のソースからのモーション データで処理できる単純な階層が定義されます。
構造ファイルは基本ファイルと構造ファイルの 2 つから構成されています。通常、基本ファイルには単純なスケルトンのほとんどの定義が含まれ、構造ファイルにはそれ以外のボディ部分のみが含まれます。これにより、異なる構造ファイル間で同じ 1 つの基本ファイルを共有することができます。
基本ファイルと構造ファイルによって[Tagging]プロパティページのレイアウトが決定されます([Animate]ツールバーから[ツール](Tools)
[MOTOR]
[タグにリグ](Tag Rig)を選択)。つまり、基本ファイルの内容によって[Tag]プロパティ ページのメインとなるタブのレイアウトが定義され、構造ファイルの内容によって[Tag]プロパティ ページの[エキストラのパーツ]タブのレイアウトが定義されます。
基本ファイルと構造ファイルは、次の Softimage インストールパスの Addons フォルダに保存される、ASCII 形式のテキスト ファイルです。
¥Addons¥MotionTransformation¥Data¥Structures¥
ストラクチャ リスト ボックスで別のオプションを選択するには、新しい構造ファイルを定義する必要があります。ただし、別の基本ファイルの定義はオプションとなります。
構造ファイル内の#で始まる行はコメントであるため、MOTOR では無視されます。コメント行には通常、そのセクションの目的など、役立つ情報が記載されています。
次の例は、MOTOR とともに配布された Biped.structure ファイルの内容を示します。
#!XSI_CDK_Structure 2.0
# the base structure
Biped
# extra elements to add to the base structure
Head
{
chest
neck child 0 1 0 0 0 1 0 0 0
head free 0 1 0 0 0 1 0 0 0
}
RFoot
{
rfoot
rheel child 0 0 1 0 1 0 0 0 0
rtoe child 0 0 1 0 1 0 0 0 0
}
LFoot
{
lfoot
lheel child 0 0 1 0 1 0 0 0 0
ltoe child 0 0 1 0 1 0 0 0 0
}
Base file listing
# the base structure
Biped
構造ファイルは基本ファイルを表示することから始まります。ここでは、Biped.structure ファイルによって Biped.base が基本ファイルとして挙げられています。つまり、MOTOR によってこの構造ファイルが読み込まれるときに、基本ファイルが[Tag]プロパティ ページのメインのタブに、構造ファイルの残りが[Tag]プロパティ ページの[エキストラのパーツ]タブにそれぞれ読み込まれます。
基本ファイルの内容では、単純なリグのほとんどの構造を定義します。
#!XSI_CDK_BASE 2.0
# the minimum requirement for a Biped is a Spine, RLeg, RArm, LLeg, and LArm
Spine
{
world
cog hip 0 1 0 0 0 1 0 2.2 0
spineroot child 0 1 0 0 0 1 0 0 0
chest free 0 1 0 0 0 1 0 1 0
}
Pelvis
{
cog
pelvis child 0 1 0 0 0 1 0 0 0
}
RLeg
{
pelvis
rthigh anchor 0 -1 0 0 0 1 -0.4 0 0
rshin child 0 -1 0 0 0 1 0 -1 0
rfoot friction 0 0 1 0 1 0 0 -1 0 limits: 1 1 -5 -1 -1 5
}
RArm
{
chest
rclavicle child -1 0 0 0 1 0 0 0 0
rupperarm anchor -1 0 0 0 1 0 -0.4 0 0
rforearm child -1 0 0 0 1 0 -0.5 0 0
rwrist ik -1 0 0 0 1 0 -0.4 0 0
rhand child -1 0 0 0 1 0 0 0 0
}
LLeg
{
pelvis
lthigh anchor 0 -1 0 0 0 1 0.4 0 0
lshin child 0 -1 0 0 0 1 0 -1 0
lfoot friction 0 0 1 0 1 0 0 -1 0 limits: 1 1 -5 -1 -1 5
}
LArm
{
chest
lclavicle child 1 0 0 0 1 0 0 0 0
lupperarm anchor 1 0 0 0 1 0 0.4 0 0
lforearm child 1 0 0 0 1 0 0.5 0 0
lwrist ik 1 0 0 0 1 0 0.4 0 0
lhand child 1 0 0 0 1 0 0 0 0
}
構造ファイルによってボーンのグループが定義されます。これらのグループは、グループ名を定義する名前と左中括弧({)で始まります。
グループ名は、グループの内容を保持するグループ ボックスの名前を定義する[Tag]プロパティ エディタで使用されます。
グループにはサブグループを含むことはできません。つまり、グループ内で別のグループを開始することはできません。
グループの最初の行にはグループの親が定義されます。[ワールド](world)が親として表示されている場合は、このグループは階層のルートとなります。ほとんどのグループでは、ボーンがグループの親として表示されます。上記の例では、LLeg グループに [pelvis](骨盤)が親のボーンとして、RArm グループに [chest](胸)が表示されます。
注: 表示される親のボーンは、グループ名ではなく、ボーン名です。例のように [Pelvis] グループが [pelvis] のボーンを含んでいるように、ボーンと同じ名前でグループを定義することができます。
親のボーンに続くすべての行には、この構造を構成するボーンが定義されます。
lfoot friction 0 0 1 0 1 0 0 -1 0 limits: 1 1 -5 -1 -1 5
新しい構造ファイルを保存したら、[Tagging]プロパティ ページをすぐに開き、新しいファイルを選択して、[Tagging]プロパティ ページのレイアウトを定義することができます。
ヒント: お使いの構造ファイルを表示するには、C3D インポータを使用して構造ファイルを作成する方法があります。