v4.0
キャラクタ リギング
ガイド オブジェクトのコレクションまたはガイド カーブから尻尾のリグを作成します。 尻尾(明るい緑のチェイン)は、1
ボーンのコントロール チェインのセット(深緑)によってコントロールされます。 コントロール
チェインのルート(立方体)は、リグのアニメーション コントロールとして操作できます。一方、コントロール
チェインのエフェクタ(非表示)は、ダイナミクス エフェクトのスプリングに接続されます。 ガイド
オブジェクトの数またはカーブのコントロール ポイントの数はコントロール チェインの数を決定し、NbTailBones
引数は尻尾のボーンの数を決定します。
必要に応じて、尻尾にシャドウ リグをアタッチすることができます。 尻尾のチェイン エレメントそれぞれにシャドウ
オブジェクトが作成され、尻尾のオブジェクトにポーズによって拘束されます。 シャドウ
リグはリグのアニメーションをプロットする際に使用できます。
oTail = MakeTail( Parent, GuideObjectCollection, [NbTailBones], [ShadowType], [ShadowParent], [CharacterSetName], [ShadowCharacterSetName] ); |
Tail JScript オブジェクトを戻します。
パラメータ | タイプ | 詳細 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parent | 文字列 | 新しい尻尾の親となるオブジェクト。 空の場合には、シーン ルートが使用されます。 | ||||||||||||
GuideObjectCollection | 文字列 | 尻尾を作成するための、ガイド オブジェクトのコレクションまたはカーブ。 3 つ以上のガイド オブジェクトが必要です。カーブを使用する場合は、3 つ以上のコントロール ポイントが必要です。 | ||||||||||||
NbTailBones | Integer | トレーシング チェイン上のボーンの数。
デフォルト値: 2 |
||||||||||||
ShadowType | Integer | アタッチするシャドウ リグのタイプ。 シャドウ リグは、アニメーションを転送または再マップするために使用します。
デフォルト値: 0
|
||||||||||||
ShadowParent | 文字列 | シャドウ リグ階層の親。 空の場合には、シャドウ リグは作成されません。 | ||||||||||||
CharacterSetName | 文字列 | このチェインで使用する必要があるキャラクタ セットの名前。カスタム プロパティ セットに保存されて使用されます。
デフォルト値: "" |
||||||||||||
ShadowCharacterSetName | 文字列 | このチェインで使用する必要があるシャドウ キャラクタ セットの名前。
デフォルト値: "" |
/* This example creates a 10-bone tail with a box shadow. */ var guidecoll = new ActiveXObject("XSI.Collection"); var lXfm = XSIMath.CreateTransform(); for(var i=0;i<5;i++) { guidecoll.Add( GetPrim("Null", "Guide_Tail") ); lXfm.SetTranslationFromValues(2*i,0,0); guidecoll(i).Kinematics.Global.Transform = lXfm; } var tail = MakeTail(null, //Parent (if null uses scene root) guidecoll, //Guide Objects 10, //Nb Tail Bones 4, //Shadow type (4=box shadow) ActiveSceneRoot); //Shadow parent DumpTail(tail); function DumpTail(inTail) { logmessage ("Data in the tail object:"); logmessage ("------------------------"); logmessage ("Nb Points : " + inTail.nbPoints); logmessage ("Control Chains: " + inTail.ControlChains); logmessage ("Control Root : " + inTail.Root); logmessage ("Trace Chain : " + inTail.TraceChain); logmessage ("Trace Root : " + inTail.TraceRoot); logmessage ("Hidden : " + inTail.Hidden); logmessage ("Envelope : " + inTail.Envelope); logmessage ("Shadow Start : " + inTail.ShadowStart); logmessage ("Shadow Ends : " + inTail.ShadowEnds); logmessage ("Shadow Objects: " + inTail.Shadows); } // // Output from running this example: // //INFO : Data in the tail object: //INFO : ------------------------ //INFO : Nb Points : 5 //INFO : Control Chains: root,bone,eff,root1,bone1,eff1,root2,bone2,eff2,root3,bone3,eff3 //INFO : Control Root : root //INFO : Trace Chain : root4,Tail1,Tail2,Tail3,Tail4,Tail5,Tail6,Tail7,Tail8,Tail9,Tail10,Tail11 //INFO : Trace Root : root4 //INFO : Hidden : eff,eff1,eff2,eff3 //INFO : Envelope : Tail1,Tail2,Tail3,Tail4,Tail5,Tail6,Tail7,Tail8,Tail9,Tail10,Tail11 //INFO : Shadow Start : Tail12 //INFO : Shadow Ends : Tail21 //INFO : Shadow Objects: Tail12,Tail13,Tail14,Tail15,Tail16,Tail17,Tail18,Tail19,Tail20,Tail21 // |